Jeffi Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 (изменено) Здравствуйте, прошу помощи разобраться в скрипте. Бесконечные патроны. Здесь как понял 999 копируется в RDX, а потом с RDX в EAX Спойлер { Game : GTA5.exe Version: Date : 2019-03-31 Author : Jeffi This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(INJECT,GTA5.exe,8B 42 20 EB 02) // should be unique alloc(newmem,$1000,"GTA5.exe"+E9DEBD) label(code) label(return) newmem: mov [rdx+20],#999 mov eax,[rdx+20] jmp code code: mov eax,[rdx+20] jmp GTA5.exe+E9DEC4 jmp return 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 8B 42 20 EB 02 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "GTA5.exe"+E9DEBD "GTA5.exe"+E9DEA0: 33 D2 - xor edx,edx "GTA5.exe"+E9DEA2: 48 85 D2 - test rdx,rdx "GTA5.exe"+E9DEA5: 74 1B - je GTA5.exe+E9DEC2 "GTA5.exe"+E9DEA7: 80 7A 24 00 - cmp byte ptr [rdx+24],00 "GTA5.exe"+E9DEAB: 75 0A - jne GTA5.exe+E9DEB7 "GTA5.exe"+E9DEAD: 48 8B 42 08 - mov rax,[rdx+08] "GTA5.exe"+E9DEB1: F6 40 38 01 - test byte ptr [rax+38],01 "GTA5.exe"+E9DEB5: 74 06 - je GTA5.exe+E9DEBD "GTA5.exe"+E9DEB7: 83 7A 20 00 - cmp dword ptr [rdx+20],00 "GTA5.exe"+E9DEBB: 74 90 - je GTA5.exe+E9DE4D // ---------- INJECTING HERE ---------- "GTA5.exe"+E9DEBD: 8B 42 20 - mov eax,[rdx+20] "GTA5.exe"+E9DEC0: EB 02 - jmp GTA5.exe+E9DEC4 // ---------- DONE INJECTING ---------- "GTA5.exe"+E9DEC2: 33 C0 - xor eax,eax "GTA5.exe"+E9DEC4: 48 8B 5C 24 08 - mov rbx,[rsp+08] "GTA5.exe"+E9DEC9: C3 - ret "GTA5.exe"+E9DECA: CC - int 3 "GTA5.exe"+E9DECB: EF - out dx,eax "GTA5.exe"+E9DECC: 40 53 - push rbx "GTA5.exe"+E9DECE: 48 83 EC 20 - sub rsp,20 "GTA5.exe"+E9DED2: 48 8B D9 - mov rbx,rcx "GTA5.exe"+E9DED5: 48 85 D2 - test rdx,rdx "GTA5.exe"+E9DED8: 74 33 - je GTA5.exe+E9DF0D } Это добавляет 6 звезд розыска. А вот тут я уже не понял что к чему. Объясните пожалуйста. Спойлер [ENABLE] assert(Valuecurrent,1) fullstarsE: dd 1 [DISABLE] fullstarsE: dd 0 Изменено 31 марта, 2019 пользователем Jeffi Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 31 марта, 2019 Поделиться Опубликовано 31 марта, 2019 26 минут назад, Jeffi сказал: Бесконечные патроны. mov [rdx+20],#999 // это запись в память, rdx+20 адрес патронов при работе с этой инструкцией mov eax,[rdx+20] // это оригинальная инструкция игры - выгрузка из памяти значения патронов в регистр 28 минут назад, Jeffi сказал: А вот тут я уже не понял что к чему. Это вспомогательный скрипт - просто присвоение флагу значения 1. В табличке должен быть активирующий скрипт в нем будет что типа: cmp [fullstarsE],1 j................. Ссылка на комментарий Поделиться на другие сайты Поделиться
Jeffi Опубликовано 31 марта, 2019 Автор Поделиться Опубликовано 31 марта, 2019 11 минут назад, Garik66 сказал: Это вспомогательный скрипт Спасибо большое) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения