Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Игровые платформы, клиенты > iCCup
Присоединяйся к нам

iCCup Лаунчер для игры в сети Battle.net на собственных серверах по StarCraft, WarCraft, Dota. Обсуждение, вопросы и ответы касающиеся iCCup`a в целом.



Закрытая тема
 
Опции темы Опции просмотра
Старый 19.01.2011, 22:22   #1
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

[Source] ICCup Multihack


[HIDE="222"]
Код:
//---------------------------------------------------------------------------
#undef UNICODE
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <Tlhelp32.h>

#ifdef _MANAGED
#pragma managed(push, off)
#endif

#pragma argsused
#define DllExport   __declspec( dllexport, naked )
//---------------------------------------------------------------------------
DWORD appbase, dllbase, appbasefin, dllbasefin, jmpbase;
FARPROC hLocExitThread;

union DwordToHex
{
 DWORD dw;
 BYTE byte[3];
};

char* ToLowerSTR(char str[]);
DWORD GetMod(DWORD pid, char name[]);

extern "C"
{
  DllExport void CodeCave();
}
////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
    switch(fwdreason)
    {
    case DLL_PROCESS_ATTACH:
        {
            DisableThreadLibraryCalls(hinstDLL);

            char temp[255];

            HANDLE hToken;
            LUID sedebugnameValue;
            TOKEN_PRIVILEGES tkp;
            if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) MessageBox(NULL, "Failed to Enable Debug Options!", "Error!", MB_OK);
            if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue))
             {
              CloseHandle(hToken);
              MessageBox(NULL, "Failed to Enable Debug Options!", "Error!", MB_OK);
              return 0;
             }
             tkp.PrivilegeCount = 1;
             tkp.Privileges[0].Luid = sedebugnameValue;
             tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
              if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof tkp, NULL, NULL)) CloseHandle(hToken);

//========================= Start of 'Search' block ==========================//

             DWORD pid;

             pid = GetCurrentProcessId();

             HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, pid);

             if (hProc == NULL)
             {
              MessageBox(NULL, "War3 not found! Patching aborted. Restart War3", "Error!", MB_OK);
              return 0;
             }

             appbase = GetMod(pid, "iccwc3.icc");

             if (appbase == NULL)
             {
              MessageBox(NULL, "ICCup module not found! Patching aborted. Restart War3", "Error!", MB_OK);
              return 0;
             }

             dllbase = GetMod(pid, "game.dll");

             if (dllbase == NULL)
             {
              MessageBox(NULL, "Game module not found! Patching aborted. Restart War3", "Error!", MB_OK);
              return 0;
             }

//=========================== End of 'Search' block ==========================//
//========================== Start of 'Patch' block ==========================//

             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x6644C) = 0xE9;
             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x6644D) = 0xEE;
             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x6644E) = 0xFD;
             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x6644F) = 0xFF;
             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x66450) = 0xFF;
             * (unsigned char *)(appbase + 0x1000 + 0x60000 + 0x5000 + 0x1000 + 0x66451) = 0x90;

             DwordToHex ntdll, codecv;

             HMODULE hLocKernel32 = GetModuleHandle("Kernel32");
             hLocExitThread = GetProcAddress(hLocKernel32, "ExitThread");

             ntdll.dw = (DWORD)hLocExitThread - (appbase + 0x37970 + 0x1000 + 0x5);

             * (unsigned char *)(appbase + 0x37970 + 0x1000) = 0xE8;
             * (unsigned long int *)(appbase + 0x37971 + 0x1000) = ntdll.dw;

             jmpbase = appbase + 0x1EBA + 0x1000;
             appbasefin = appbase + 0x61000;
             dllbasefin = dllbase + 0xBD4000;

             HMODULE hLocHackDLL = GetModuleHandle("ICCDesu");
             FARPROC hLocCodeCave = GetProcAddress(hLocHackDLL, "_CodeCave");

             if (hLocHackDLL == NULL)
             {
              MessageBox(NULL, "Internal error (1) occured. Restart War3 & hack", "Error!", MB_OK);
              return 0;
             }

             if (hLocCodeCave == NULL)
             {
              MessageBox(NULL, "Internal error (2) occured. Restart War3 & hack", "Error!", MB_OK);
              return 0;
             }

             codecv.dw = (DWORD)hLocCodeCave - (appbase + 0x1EB4 + 0x1000 + 0x5);

             * (unsigned char *)(appbase + 0x1EB4 + 0x1000) = 0xE9;
             * (unsigned long int *)(appbase + 0x1EB5 + 0x1000) = codecv.dw;
             * (unsigned char *)(appbase + 0x1EB9 + 0x1000) = 0x90;

             ntdll.dw = (DWORD)hLocExitThread - (appbase + 0x1EB4 + 0x1000 + 0x5);
             memset(temp, 0, sizeof(temp));
             memcpy(temp, ntdll.byte, 4);

//=========================== End of 'Patch' block ===========================//
        }
        break;
    case DLL_PROCESS_DETACH:
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
        break;
    }
    return TRUE;
}
//---------------------------------------------------------------------------

char* ToLowerSTR(char str[])
{
 char s_out[255];
 int l = strlen(str);
 for (int i = 0; i <= l; i++)
 {
  s_out[i] = tolower(str[i]);
 }
 s_out[l+1] = '\0';
 return s_out;
}
//---------------------------------------------------------------------------

DllExport void CodeCave()
{

 __asm
 {
  CMP ECX, dllbase;
  JGE game_ch2;
  JMP icc_ch1;
 }

 game_ch2:
 __asm
 {
  CMP ECX, dllbasefin;
  JLE exit_thr;
  JMP icc_ch1;
 }

 icc_ch1:
 __asm
 {
  CMP ECX, appbase;
  JGE icc_ch2;
  JMP res_thr;
 }

 icc_ch2:
 __asm
 {
  CMP ECX, appbasefin;
  JLE exit_thr;
  JMP res_thr;
 }

 res_thr:
 __asm
 {
  //POP EBX;
  FILD QWORD PTR DS:[ECX+EAX];
  FISTP QWORD PTR DS:[ECX+EDX];
  JMP jmpbase;
 }

 exit_thr:
 __asm
 {
  //POP EBX;
  CALL hLocExitThread;
  RET;
 }
}

//---------------------------------------------------------------------------

DWORD GetMod(DWORD pid, char name[])
{
 DWORD retval = 0;
 BOOL working = 0, found = false;
 MODULEENTRY32 me32 = {0};
 me32.dwSize = sizeof(MODULEENTRY32);

 HANDLE hSnapshot;

 while (found != true)
 {
  hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
  if (hSnapshot)
  {
   working = Module32First(hSnapshot, &me32);
   while (working)
   {
    if (strcmp(name,ToLowerSTR(me32.szModule)) == 0)
    {
     retval = (DWORD)me32.modBaseAddr;
     found = true;
     break;
    }
    working = Module32Next(hSnapshot,&me32);
    if (working == false)
    {
     MessageBox(NULL, "GetMod failed! Patching aborted. Restart War3", "Error!", MB_OK);
     return 0;
    }
   }
   CloseHandle(hSnapshot);
  }
 }

 return retval;
}
//---------------------------------------------------------------------------
[/HIDE]

Последний раз редактировалось Desu_Is_A_Lie; 06.03.2011 в 22:53.
  Наверх
3 пользователя(ей) сказали cпасибо:
djingad (19.01.2011), Grumpy (19.01.2011), sr.core-_- (19.01.2011)
Старый 19.01.2011, 22:31   #2
Старожил


 
Аватар для sr.core-_-
 
Регистрация: 07.08.2009
Адрес: Великобритания
Сообщений: 467
Репутация: 177
Отправить сообщение для sr.core-_- с помощью ICQ Отправить сообщение для sr.core-_- с помощью Skype™
По умолчанию

Desu_Is_A_Lie,Кликните на для просмотра офф топика
А по большому счёту зачем это?!
__________________
Продаю личный акк гарены 60 LVL + личный steam акк с играми и шмотом.
ICQ: 5531496 SKYPE: kz.core
  Наверх
Старый 19.01.2011, 22:33   #3
Матерый

 
Аватар для djingad
 
Регистрация: 29.07.2009
Адрес: Russia. Moscow
Сообщений: 266
Репутация: 284
По умолчанию

Ну как я понимаю это выложено потому что автор не намерен продолжать развитие своего проекта, оно и понятно в принципе.

+ Я думаю найдутся люди которые продолжат это дело =)

Добавлено через 3 минуты
Цитата:
Сообщение от Desu_Is_A_Lie Посмотреть сообщение
*** скрытый текст ***


А как-бэ интересуют несколько вещей сразу:
1) язык на котором написано ?
2) есть ли комментарии (ибо в исходном коде программы, представления работы которой ты особо не имеешь, и продолжать развивать проект, а то бишь достраивать логику автора без них нереально практически) ?
3) цена по которой отдашь ибо столько постов я никогда не набью ибо пишу очень редко и только по делу?

Хотелось бы получить нормальный ответ, а не крики нубам с 18 сообщениям - нефиг тут делать )

Последний раз редактировалось djingad; 19.01.2011 в 22:36. Причина: Добавлено сообщение
  Наверх
Старый 19.01.2011, 22:50   #4
This? On Melancholy Hill




 
Аватар для UnDeaDRoCUser
 
Регистрация: 18.09.2008
Адрес: system32
Сообщений: 5,237
Репутация: 1415
Отправить сообщение для UnDeaDRoCUser с помощью ICQ Отправить сообщение для UnDeaDRoCUser с помощью Skype™
По умолчанию

Скажу по этому одно если десу окончательно и без поворотно забъет на продолжение поддержки мультихака - с его согласия ты продолжишь работу, конечно же некоторые моменты как с ним так и со мной будут оговорены.
__________________
[ [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | ]

[ [Ссылки скрыты от гостей.] ]

  Наверх
Старый 19.01.2011, 23:04   #5
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Цитата:
Сообщение от djingad Посмотреть сообщение
Ну как я понимаю это выложено потому что автор не намерен продолжать развитие своего проекта, оно и понятно в принципе.

+ Я думаю найдутся люди которые продолжат это дело =)

Добавлено через 3 минуты




А как-бэ интересуют несколько вещей сразу:
1) язык на котором написано ?
2) есть ли комментарии (ибо в исходном коде программы, представления работы которой ты особо не имеешь, и продолжать развивать проект, а то бишь достраивать логику автора без них нереально практически) ?
3) цена по которой отдашь ибо столько постов я никогда не набью ибо пишу очень редко и только по делу?

Хотелось бы получить нормальный ответ, а не крики нубам с 18 сообщениям - нефиг тут делать )
1) С++
2) Нет
3) Я ничего пока не продаю, так что можешь просто донат бросить, для тебя даже каменты напишу :D
  Наверх
Старый 22.01.2011, 00:21   #6
Матерый

 
Аватар для djingad
 
Регистрация: 29.07.2009
Адрес: Russia. Moscow
Сообщений: 266
Репутация: 284
По умолчанию

Спасибо за ответ )

Честно говоря я бы не сказал что смогу прям вот продолжить его работу. Что бы влиться в это понадобится время ) Я бы сказал что попробовать, конечно, можно,
но заявлять, мол, что Я БЕРУ ЭТО НА СЕБЯ - слишком громко, я не готов к такой степени ответственности )
  Наверх
Старый 26.02.2011, 14:10   #7
Бан
 
Аватар для blackwolf1
 
Регистрация: 21.02.2011
Сообщений: 10
Репутация: -6
По умолчанию

А вот я написал свой хак для ICCup
  Наверх
Старый 26.02.2011, 14:17   #8
This? On Melancholy Hill




 
Аватар для UnDeaDRoCUser
 
Регистрация: 18.09.2008
Адрес: system32
Сообщений: 5,237
Репутация: 1415
Отправить сообщение для UnDeaDRoCUser с помощью ICQ Отправить сообщение для UnDeaDRoCUser с помощью Skype™
По умолчанию

Цитата:
Сообщение от blackwolf1 Посмотреть сообщение
А вот я написал свой хак для ICCup
Выкладывай тогда, зачем во всех темах флудить об этом? А может ты нам врешь?) Зделай скрин его(окна, консоли) и чтобы было видно что он работает на иккупе.
__________________
[ [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | ]

[ [Ссылки скрыты от гостей.] ]

  Наверх
Старый 26.02.2011, 17:09   #9
Бан
 
Аватар для blackwolf1
 
Регистрация: 21.02.2011
Сообщений: 10
Репутация: -6
По умолчанию

Вот скрин. А тобы было видно что он работает на иккупе сделаю когда иккуп заработает.
  Наверх
Старый 26.02.2011, 17:50   #10
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Цитата:
Сообщение от blackwolf1 Посмотреть сообщение
Вот скрин. А тобы было видно что он работает на иккупе сделаю когда иккуп заработает.

Если это не фэйк, то парень просто спи**ил оффсеты с любого мапхака и запилил в уродливый GUI, назвав это 'своим хаком'.
__________________

[Ссылки скрыты от гостей.]
Live while you can

  Наверх
Пользователь сказал cпасибо:
T1mber (26.02.2011)
Старый 26.02.2011, 18:23   #11
Бан
 
Аватар для blackwolf1
 
Регистрация: 21.02.2011
Сообщений: 10
Репутация: -6
По умолчанию

Ну спи**ил! Ну назвал это 'своим хаком'. А GUI не уродливый
  Наверх
Старый 26.02.2011, 18:58   #12
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Белые полоски вдоль CheckBox'ов - это по-твоему верх красоты?)
__________________

[Ссылки скрыты от гостей.]
Live while you can

  Наверх
Старый 26.02.2011, 19:16   #13
Бан
 
Аватар для blackwolf1
 
Регистрация: 21.02.2011
Сообщений: 10
Репутация: -6
По умолчанию

Ладно тебе что важнее красота хака или его результат?
  Наверх
Старый 26.02.2011, 22:45   #14
Группа разработчиков


 
Аватар для Skino
 
Регистрация: 16.01.2009
Сообщений: 566
Репутация: 251
По умолчанию

Бля ну у тебя и тема, классик хп это жесть), а оффсеты сам наверно находил? Дис зайди в скайп...
  Наверх
Старый 27.02.2011, 00:41   #15
Бан
 
Аватар для blackwolf1
 
Регистрация: 21.02.2011
Сообщений: 10
Репутация: -6
По умолчанию

Классическая тема норм. А оффсеты я честно спи**ил с другово МХ.
  Наверх
Закрытая тема


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 20:10. Часовой пояс GMT +4.