Apparently the Integrity Check doesn't work anymore. updating the code helps.
New Code:
Code:
[ENABLE]
define(CRC1StartAddress,0302D373)
alloc(CRC1Copy,$2048)
CRC1Copy:
readmem(CRC1StartAddress, 2048)
aobscanmodule(sellout,TERA.exe,8B 00 31 D2 81 F1 04 00 00 00)
alloc(newmem,$20)
label(code)
label(return)
newmem:
sub eax, CRC1StartAddress
add eax, CRC1Copy
code:
mov eax,[eax]
xor edx,edx
xor ecx,00000004
jmp return
sellout:
jmp newmem
nop
nop
nop
nop
nop
return:
registersymbol(sellout)
////////////////////////////////////////////////////////////////////
aobscanmodule(CRC1,TERA.exe,87 3C 24 5C C3)
alloc(CRC1NewCode,$20)
label(codeAaA)
label(returnAaA)
CRC1NewCode:
codeAaA:
xchg [esp],edi
pop esp
mov eax,#1
ret
jmp returnAaA
CRC1:
jmp CRC1NewCode
returnAaA:
registersymbol(CRC1)
[DISABLE]
sellout:
db 8B 00 31 D2 81 F1 04 00 00 00
unregistersymbol(sellout)
dealloc(newmem)
CRC1:
db 87 3C 24 5C C3
unregistersymbol(CRC1)
dealloc(CRC1NewCode)