-
Постов
281 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Korol2010
-
Вот мой скрипт: [ENABLE]aobscan(address0, 41 8B 4B 08 85 C9 0F 9F)alloc(newMem,100)label(returnHere)registersymbol(address0)newMem:mov [r11+08],#99test ecx,ecxjmp returnHereaddress0:jmp newMemnopreturnHere:[DISABLE]address0:mov ecx,[r11+08]test ecx,ecxdealloc(newMem)unregistersymbol(address0)
-
Приветствую всех. У меня такой вопрос, я пытался взломать игру Thief ver. 1.5, нашёл 3 рабочих адреса 1, 2, 4 байта. Все эти адреса выдают одни и те же инструкции на доступ. Но возникает проблема, при написании скрипта игра просто вылетает какую бы инструкцию я не использовал. Есть ли вероятность того что в игре стоит защита как в Crysis 3? И есть ли возможность отключить данную защиту если она имеется?
-
Да я щас просто хрен знает действительно куда было пихать данный вопрос, или сюда или туда, потому что я не знаю что такое паттерн, вот и написал в теме вопросов создания читов. Всё же я делаю чит)) Вот и подумал что лучше будет определить мой вопрос в эту тему. Ну тогда если что в следующий раз, если будет хоть как то вопрос связан с Dll или С++ буду писать в раздел по программированию. Да к стате, может тогда если знаешь ответ на мой вопрос объяснишь что к чему?))
-
Объясните пожалуйста что такое "pattern" в геймхакинге и где его взять. А то пытаюсь сделать читерскую Dll по урокам Кодера, там нужно знать pattern инструкции которую будем изменять под свои нужды, а я вот как раз то и не знаю что это такое и с чем его едят)) Если пишу не в том разделе форума, то не ругайте пожалуйста, просто не знаю где ещё по такому вопросу можно обратиться.
-
Да возможно не в этих разделах надо было тему делать, но я просто подумал что раз Dll эта читерская с ассемблерным кодом, то вполне подойдёт раздел "Вопросов по созданию читов")))) Да на счёт гугла, я сразу же прогуглил, так же наткнулся на тему которую ты первую указал (в нгей я нефига не понял), но 2 тему я не находил к сожалению(( Спасибо к стате что нашёл мою проблему))) Щас попробую сделать как ты написал. Ура!)) Собрался наконец мой файлик)) Да к стате, 1 вопросик чуть не по теме, как для этого скрипта сделать правильный pattern и вообще как правильно найти все эти байты? А то я дак не оч пока понимаю от куда это всё берётся. Да... вот скрипт на всякий: #include <Windows.h>#include <fcntl.h>#include <stdio.h>#include <io.h>#include <Psapi.h>#include <detours.h>#pragma comment (lib, "psapi.lib")DWORD WINAPI SpinTires_thread(LPVOID);DWORD retn_addr = 0;DWORD ohk = false;DWORD APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: CreateThread(NULL, NULL, SpinTires_thread, NULL, NULL, NULL); case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return true;}MODULEINFO GetModuleData(char*module_name){ MODULEINFO moduleInf = { 0 }; HMODULE hModule = GetModuleHandle(module_name); if (hModule == NULL) return moduleInf; GetModuleInformation(GetCurrentProcess(), hModule, &moduleInf, sizeof(MODULEINFO)); return moduleInf;}bool DataCompare(const BYTE*pData, const BYTE*pattern, const char*mask){ for (; *mask; ++mask, ++pData, ++pattern) if (*mask == 'x' && *pData != *pattern) return false; return (*mask) == NULL;}DWORD FindPattern(DWORD start_address, DWORD lenght, BYTE*pattern, char*mask){ for (DWORD i = 0; i < lenght; i++) if (DataCompare((BYTE*)(start_address + i), pattern, mask)) return (DWORD)(start_address + i); return NULL;}void InfinityHealth(){ _asm { mov dword ptr[ecx + 0xF0], 0x0 jmp retn_addr }}DWORD WINAPI SpinTires_thread(LPVOID){ MODULEINFO moduleInf = GetModuleData("SpinTires.exe"); DWORD old_prot = 0; DWORD ohk_address = FindPattern((DWORD)moduleInf.lpBaseOfDll, moduleInf.SizeOfImage, (PBYTE)"\x8B\x91\xF0\x00\x00\x00\xDB", "xxxxxxxxxxx"); ohk_address += 0x3; retn_addr = ohk_address + 0x6; BYTE nops[3] = { 0x90, 0x90, 0x90 }; BYTE original[6] = { 0x8B, 0x91, 0xF0, 0x00, 0x00, 0x00 }; for (;; Sleep(75)) { if (GetAsyncKeyState(VK_NUMPAD2) & 0x8000) { if (!ohk) { DetourFunction((PBYTE)ohk_address, (PBYTE)InfinityHealth); VirtualProtect(InfinityHealth, 3, PAGE_EXECUTE_READWRITE, &old_prot); memcpy(InfinityHealth, nops, 3); VirtualProtect(InfinityHealth, 3, old_prot, &old_prot); ohk = true; } else { VirtualProtect((void*)ohk_address, sizeof(original), PAGE_EXECUTE_READWRITE, &old_prot); memcpy((void*)ohk_address, original, sizeof(original)); VirtualProtect((void*)ohk_address, sizeof(original), old_prot, &old_prot); ohk = false; } } }}
-
Извиняюсь, конечно что может чуть не там написал, просто не знал где лучше. Но всё же вопрос этот очень интересует, а то уже 2 раз не хрена не выходит сделать свою читерскую Dll, первый раз когда я делал Dll, она вообще не работала, хоть и собралась, а теперь, вот те новость, вообще не хочет собираться(((
-
Привет всем, у меня возникла проблема при сборке Dll. Возникло вот таких 3 ошибки: Ошибка 1 error LNK2026: небезопасный модуль для образа SAFESEHОшибка 2 error LNK2026: небезопасный модуль для образа SAFESEHОшибка 3 error LNK1281: Не удается создать образ SAFESEHПодскажите пожалуйста как исправить их? Я ещё только начинаю вникать в тему С++, так что плиз не ругайтесь если что)))
-
Версия 1.2
84 раза скачали
Опции: Num1 - Бесконечные боеприпасы (все)--> Патроны(так же энергия спец оружия), гранаты. Num2 - Бесконечное здоровье Num3 - Энергия талисмана--> Бесконечная энергия талисмана. Num4 - Деньги--> Бесконечные деньги, не пугайтесь они могут иногда чуть чуть уменьшиться, но потом снова становятся бесконечными. Вообщем в любом случае не кончатся))) -
Да к стате что бы не создавать новую тему. Как можно написать скрипт на время раунда? А то я как не пробовал тупо значение как бы морозится, а вот после выстрела то оно остаётся всё ещё заморожено, и сам не можешь снова выстрелить, не противник не может ход начать, если только отключать скрипт каждый раз что-бы мог сходить противник. Что можно сделать в такой ситуации? Стандартный скрипт инструкции: [ENABLE]alloc(newMem, 100)label(returnHere)newMem:mov [esi+30],eaxjmp WormsRevolution.exe+42F9B4jmp returnHereWormsRevolution.exe+42F9AC:jmp newMemreturnHere:[DISABLE]WormsRevolution.exe+42F9AC:mov [esi+30],eaxjmp WormsRevolution.exe+42F9B4dealloc(newMem)
-
Спасибо большое за совет. Да, верно, на форуме я зарегистрирован уже 2 года, но дело в том, что когда я зарегистрировался, моя активность была, ну от силы месяца 3, а потом я зашёл сюда снова, только уже где-то через год примерно. Поэтому я по прежнему мало чего ещё знаю. А весь этот год я не занимался геймхакингом.
-
Привет всем. У меня возник вопрос по взлому данной игры (указана в названии темы). У меня не получается присоединить отладчик к адресу времени хода. Игра моментально вылетает, как только ты пытаешься подсоединить отладчик для получения инструкций пишущих или читающих в адрес. Со взломом жизней червей и бесконечным оружием проблем не возникло, отладчик присоединялся и полноценно работал. А с адресом времени хода ничего не выходит, ни в какую не хочет он принимать отладчик. Что мне делать? Пожалуйста подскажите уважаемые эксперты))) Не ругайте пожалуйста, если что-то не так выразился, я ещё в этом деле новичок.
-
Со стратегиями вообще все очень печально в плане сравнения структур. Generals ,Rome total war да куча всяких. Там тоже фиг найдешь в структуре именно нужное отличие(хотя в тех же Generals например под одним поинтером в смещении было указано Player(string) и имена ботов. Попробуй порыть в указателях. Хотя повторюсь со стратегиями все печально в сравнении структур. Ок попробую как ты говоришь) Слушай, а разве так можно, использовать несколько фильтров подряд? Дак я же в структуре и ищу)) Как же ты ещё то фильтр сфарганишь, если не через структуру адреса?)