Перейти к содержанию

Korol2010

Пользователи+
  • Постов

    281
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент Korol2010

  1. Вот мой скрипт: [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)
  2. Приветствую всех. У меня такой вопрос, я пытался взломать игру Thief ver. 1.5, нашёл 3 рабочих адреса 1, 2, 4 байта. Все эти адреса выдают одни и те же инструкции на доступ. Но возникает проблема, при написании скрипта игра просто вылетает какую бы инструкцию я не использовал. Есть ли вероятность того что в игре стоит защита как в Crysis 3? И есть ли возможность отключить данную защиту если она имеется?
  3. Korol2010

    Pattern

    Вопрос... ты сказал написать? Каким образом это можно сделать? Если можно по подробней)) Спс, помог, хоть там и немного не понятно, но думаю со временем разберусь.
  4. Korol2010

    Pattern

    Спасибо, с этим вроде более менее понятно. Единственное что я не понял, это где взять маску?))
  5. Korol2010

    Pattern

    Да я щас просто хрен знает действительно куда было пихать данный вопрос, или сюда или туда, потому что я не знаю что такое паттерн, вот и написал в теме вопросов создания читов. Всё же я делаю чит)) Вот и подумал что лучше будет определить мой вопрос в эту тему. Ну тогда если что в следующий раз, если будет хоть как то вопрос связан с Dll или С++ буду писать в раздел по программированию. Да к стате, может тогда если знаешь ответ на мой вопрос объяснишь что к чему?))
  6. Korol2010

    Pattern

    Объясните пожалуйста что такое "pattern" в геймхакинге и где его взять. А то пытаюсь сделать читерскую Dll по урокам Кодера, там нужно знать pattern инструкции которую будем изменять под свои нужды, а я вот как раз то и не знаю что это такое и с чем его едят)) Если пишу не в том разделе форума, то не ругайте пожалуйста, просто не знаю где ещё по такому вопросу можно обратиться.
  7. Да возможно не в этих разделах надо было тему делать, но я просто подумал что раз 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; } } }}
  8. Извиняюсь, конечно что может чуть не там написал, просто не знал где лучше. Но всё же вопрос этот очень интересует, а то уже 2 раз не хрена не выходит сделать свою читерскую Dll, первый раз когда я делал Dll, она вообще не работала, хоть и собралась, а теперь, вот те новость, вообще не хочет собираться(((
  9. Привет всем, у меня возникла проблема при сборке Dll. Возникло вот таких 3 ошибки: Ошибка 1 error LNK2026: небезопасный модуль для образа SAFESEHОшибка 2 error LNK2026: небезопасный модуль для образа SAFESEHОшибка 3 error LNK1281: Не удается создать образ SAFESEHПодскажите пожалуйста как исправить их? Я ещё только начинаю вникать в тему С++, так что плиз не ругайтесь если что)))
  10. Это С++? Я к сожалению не умею писать на нём, только ещё начинаю рассматривать эту тему
  11. Дело в том, что у меня ход то вообще не передаётся, и мне не надо, что бы постоянно ходил игрок, я хочу что бы и комп тоже ходил.
  12. Да вообще то мне уже помог способ Bromvol`a, сейчас осталось только разобраться как сделать так чтобы после выстрела ход передавался игроку, а время не оставалось замороженным.
  13. Версия 1.2

    84 раза скачали

    Опции: Num1 - Бесконечные боеприпасы (все)--> Патроны(так же энергия спец оружия), гранаты. Num2 - Бесконечное здоровье Num3 - Энергия талисмана--> Бесконечная энергия талисмана. Num4 - Деньги--> Бесконечные деньги, не пугайтесь они могут иногда чуть чуть уменьшиться, но потом снова становятся бесконечными. Вообщем в любом случае не кончатся)))
  14. Спасибо. Только вот я никогда не делал фильтр подобного рода, и не искал в 1 инструкции разные переменные. Мне нужно наверное поискать уроки по реверсингу? Я правильно понимаю?
  15. Да к стате что бы не создавать новую тему. Как можно написать скрипт на время раунда? А то я как не пробовал тупо значение как бы морозится, а вот после выстрела то оно остаётся всё ещё заморожено, и сам не можешь снова выстрелить, не противник не может ход начать, если только отключать скрипт каждый раз что-бы мог сходить противник. Что можно сделать в такой ситуации? Стандартный скрипт инструкции: [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)
  16. Спасибо большое за совет. Да, верно, на форуме я зарегистрирован уже 2 года, но дело в том, что когда я зарегистрировался, моя активность была, ну от силы месяца 3, а потом я зашёл сюда снова, только уже где-то через год примерно. Поэтому я по прежнему мало чего ещё знаю. А весь этот год я не занимался геймхакингом.
  17. Привет всем. У меня возник вопрос по взлому данной игры (указана в названии темы). У меня не получается присоединить отладчик к адресу времени хода. Игра моментально вылетает, как только ты пытаешься подсоединить отладчик для получения инструкций пишущих или читающих в адрес. Со взломом жизней червей и бесконечным оружием проблем не возникло, отладчик присоединялся и полноценно работал. А с адресом времени хода ничего не выходит, ни в какую не хочет он принимать отладчик. Что мне делать? Пожалуйста подскажите уважаемые эксперты))) Не ругайте пожалуйста, если что-то не так выразился, я ещё в этом деле новичок.
  18. Спс тебе)) Только вот я о втором способе в первые слышу, и даже не знал что есть у структур даты. Если я правильно понимаю под датой подразумевается какое-то типо системное время, или программное? Если не сложно опиши пожалуйста хотя бы в каком-нибуть простеньком примере как это можно провернуть
  19. Чё то нефига. Пробовал я использовать способ сравнения части регистра с частью адреса, как было тобой описано в одной теме которую я нашёл, но у меня это ни какого результата не принесло(((
  20. ок. спс за полезную инфу, попробую поискать твои камменты некому "чуваку")))
  21. Огромное спасибо))) Жаль правда что на инглыше(( Ну не чё попробую разобраться хотя бы с переводчиком.
  22. Со стратегиями вообще все очень печально в плане сравнения структур. Generals ,Rome total war да куча всяких. Там тоже фиг найдешь в структуре именно нужное отличие(хотя в тех же Generals например под одним поинтером в смещении было указано Player(string) и имена ботов. Попробуй порыть в указателях. Хотя повторюсь со стратегиями все печально в сравнении структур. Ок попробую как ты говоришь) Слушай, а разве так можно, использовать несколько фильтров подряд? Дак я же в структуре и ищу)) Как же ты ещё то фильтр сфарганишь, если не через структуру адреса?)
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.