Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф
-
Замысел: Установить флаг, чтобы патроны обнулялись в исходное значение, а не замораживались.
P.s. : Если без флага обойтись, то скрипт работает как нужно(значение просто морозятся).Причина проблемы: После установки флага, скрипт срабатывает не сразу как только установил значение флагу единицу, а только через несколько нажатий. Срабатывает после 2-5 раза.
Скрипт:
{ Game : ZombieDriver_winRT_x86_release.exe Version: Date : 2024-01-10 Author : Klaus This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(INJECT,ZombieDriver_winRT_x86_release.exe,D9 41 10 C3 CC) // should be unique alloc(newmem,$1000) label(ammo_flag) //Метка registersymbol(ammo_flag) //Чтобы видеть в таблице этого адресса label(code) label(return) newmem: cmp byte ptr [ammo_flag],1 //Сравнение jne code //Если не равно fild dword ptr [ecx+14] //сохранили в буфер стека fstp dword ptr [ecx+10] //сохранить в адрес и удалить из буфера стека mov byte ptr [ammo_flag],0 //заменить flag на ноль code: fld dword ptr [ecx+10] ret int 3 jmp return ammo_flag: db 0 //В текущем ammo_flag равен нулю 0 INJECT: jmp newmem return: registersymbol(INJECT) [DISABLE] //code from here till the end of the code will be used to disable the cheat INJECT: db D9 41 10 C3 CC unregistersymbol(INJECT) unregistersymbol(ammo_flag) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: ZombieDriver_winRT_x86_release.exe+3C6700 ZombieDriver_winRT_x86_release.exe+3C66E3: B0 01 - mov al,01 ZombieDriver_winRT_x86_release.exe+3C66E5: F3 0F 11 41 04 - movss [ecx+04],xmm0 ZombieDriver_winRT_x86_release.exe+3C66EA: F3 0F 10 41 0C - movss xmm0,[ecx+0C] ZombieDriver_winRT_x86_release.exe+3C66EF: F3 0F 58 41 04 - addss xmm0,[ecx+04] ZombieDriver_winRT_x86_release.exe+3C66F4: F3 0F 11 41 0C - movss [ecx+0C],xmm0 ZombieDriver_winRT_x86_release.exe+3C66F9: C2 04 00 - ret 0004 ZombieDriver_winRT_x86_release.exe+3C66FC: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C66FD: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C66FE: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C66FF: CC - int 3 // ---------- INJECTING HERE ---------- ZombieDriver_winRT_x86_release.exe+3C6700: D9 41 10 - fld dword ptr [ecx+10] // ---------- DONE INJECTING ---------- ZombieDriver_winRT_x86_release.exe+3C6703: C3 - ret ZombieDriver_winRT_x86_release.exe+3C6704: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C6705: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C6706: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C6707: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C6708: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C6709: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C670A: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C670B: CC - int 3 ZombieDriver_winRT_x86_release.exe+3C670C: CC - int 3 }
-
Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:
Срабатывает после 2-5 раза.
Так флаг ставил в главном меню игры, а не проверил даже, а считывает ли игра от туда данные с главного меню игры. Игра может данные считывает с этой функции, раз в промежутке 5-10 секунд... А есть такой момент, когда ты данные записал туда, но игра их еще не обновила на экране, а обновит только после убийства к примеру одного зомби.
-
@LIRW Дальше в видео я нажимал на горячие клавиши, которые установил на изменение значение 1 во флаге. Тоже самое срабатывает через несколько раз.
Если не делать флаги и однократное выполнение, то при включение скрипта игра заморозить значение и патроны будут вечно 150/150, пока не откл скрипт. Поэтому думаю функция сразу срабатывает.
После убийства зомби - изменение не наблюдается, данные либо сразу записываются или тупит только через раз за раз
-
-
@LIRW это что за файл demo.CT? вирус?
-
@Klaus Ага... А у тебя формат таблицы от СЕ в dll что ли ?
-
@LIRW Извините, что-то я вас не понимаю. О чем вы говорите или шутите...хз
-
Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:
игра заморозить значение и патроны будут вечно 150/150, пока не откл скрипт.
Ну это естественно.... Код то выполняется по время выстрела. А когда не стреляешь, игра считывает данные то с "fld dword ptr [ecx+10]"
Да, и вот еще что... Сигнатура на поиск места - очень забавная. Хотя может у меня версия игры, совсем другая. А так и есть, у меня модуль "ZombieDriverHD.exe"
-
@LIRW Я установил пробную игру через "Майкрософт store", кнш версия отличается, и скаченный ваш demo.CT скрипт на нем не работает.
Тогда скачал пиратку "Зомби драйв", и там изучал ваш скрипт "он вполне рабочий", сначала было не понятно откуда взялось mov ecx,[ecx+48], вместо fld dword ptr [ecx+10] пока не вспомнил, что оно берется из "Чтение" указатель на оружие.
В общем переделал свой бракованный скрипт аналогичный вашему , все сработало на Майкрософте Store.
Благодарствую за то что помогаете!
-
Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:
сначала было не понятно откуда взялось mov ecx,[ecx+48]
Там с одного указателя можно вынесли все характеристики... Как машины, так и оружия, нитро, и так далее. В СЕ то конечно это просто выглядит, а вот писать такое, уже не прикольно, да и надежность - не очень на обновы. Не которые функции по 3 - 4 указателя от базового идут. С одного все эти функции вести не удобно... Вот он основной на строчке... если конечно интересно это...
"8B 88 ? ? ? ? 8B 41 ? 8B 70 ? 8B 5E ? 39 5E ? 76 ? FF 15 ? ? ? ? 8B 46 ? 8B 4E ? 85 C0 74 ? 3B C1 74 ? FF 15 ? ? ? ? 39 5E ? 0F 84 ? ? ? ? 8B 5D ? 83 7B 44 ? 0F 85"