Tutorial-i386.CT
Бинарник тутораала(шаг1):Tutorial-i386.zip
Смысл в следующем. Нужно активирующий скрипт перенести в Lua. Как оказалось для корректности нужно использовать reinitializeSymbolhandler(true)
aa_script = [[
{ Game : Tutorial-i386.exe
Version:
Date : 2023-04-08
Author : 79777
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT_tut1,Tutorial-i386.exe,81 BB B0 04 00 00 E8 03 00 00)
alloc(newmem,$1000)
alloc(newmem2,$1000)
label(code)
label(return)
label(pointer_ebx)
registersymbol(pointer_ebx)
newmem2:
pointer_ebx:
dd 00
newmem:
mov [pointer_ebx],ebx
code:
cmp [ebx+000004B0],000003E8
jmp return
INJECT_tut1:
jmp newmem
nop 5
return:
registersymbol(INJECT_tut1)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT_tut1:
db 81 BB B0 04 00 00 E8 03 00 00
unregistersymbol(INJECT_tut1)
dealloc(newmem)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: Tutorial-i386.exe+25DD3
Tutorial-i386.exe+25DC1: 85 C0 - test eax,eax
Tutorial-i386.exe+25DC3: 74 05 - je Tutorial-i386.exe+25DCA
Tutorial-i386.exe+25DC5: E8 B6 7D FE FF - call Tutorial-i386.exe+DB80
Tutorial-i386.exe+25DCA: 5E - pop esi
Tutorial-i386.exe+25DCB: 5B - pop ebx
Tutorial-i386.exe+25DCC: 89 EC - mov esp,ebp
Tutorial-i386.exe+25DCE: 5D - pop ebp
Tutorial-i386.exe+25DCF: C3 - ret
Tutorial-i386.exe+25DD0: 53 - push ebx
Tutorial-i386.exe+25DD1: 89 C3 - mov ebx,eax
// ---------- INJECTING HERE ----------
Tutorial-i386.exe+25DD3: 81 BB B0 04 00 00 E8 03 00 00 - cmp [ebx+000004B0],000003E8
// ---------- DONE INJECTING ----------
Tutorial-i386.exe+25DDD: 75 2D - jne Tutorial-i386.exe+25E0C
Tutorial-i386.exe+25DDF: 8B 83 9C 04 00 00 - mov eax,[ebx+0000049C]
Tutorial-i386.exe+25DE5: B2 01 - mov dl,01
Tutorial-i386.exe+25DE7: 8B 8B 9C 04 00 00 - mov ecx,[ebx+0000049C]
Tutorial-i386.exe+25DED: 8B 09 - mov ecx,[ecx]
Tutorial-i386.exe+25DEF: FF 91 20 02 00 00 - call dword ptr [ecx+00000220]
Tutorial-i386.exe+25DF5: 8B 83 A8 04 00 00 - mov eax,[ebx+000004A8]
Tutorial-i386.exe+25DFB: 30 D2 - xor dl,dl
Tutorial-i386.exe+25DFD: 8B 8B A8 04 00 00 - mov ecx,[ebx+000004A8]
Tutorial-i386.exe+25E03: 8B 09 - mov ecx,[ecx]
}
]]
function onOpenProcess()
reinitializeSymbolhandler(true)
local checkOk, errMsg = autoAssembleCheck(aa_script, true, false)
if not checkOk then
print('Ошибка в активирующем скрипте')
print(errMsg)
return
end
is_enabled, disabled_info = autoAssemble(aa_script)
if not is_enabled then
print('Ошибка. Не запущен активирующий скрипт')
end
end
getAutoAttachList().add("Tutorial-i386.exe")