Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ENABLE]
- define(CRC1StartAddress,0311EDB0) //Address to replace
- alloc(CRC1Copy,$2048)
- CRC1Copy:
- readmem(CRC1StartAddress, 2048)
- aobscanmodule(CRC2,TERA.exe,8B 00 29 DF 29 C2) //Replace this
- registersymbol(CRC2)
- alloc(newmem,$20)
- label(code)
- label(return)
- newmem:
- //Also replace the register with the same register in the original memory
- sub eax, CRC1StartAddress
- add eax, CRC1Copy
- code:
- mov eax,[eax]
- sub edi,ebx
- sub edx,eax
- jmp return
- CRC2:
- //Make sure there are the correct amount of nops here.
- jmp newmem
- nop
- return:
- ////////////////////////////////////////////////////////////////////
- aobscanmodule(CRC1,TERA.exe,5B 83 C4 04 C3) //Replace this
- registersymbol(CRC1)
- alloc(CRC1NewCode,$20)
- label(codeAaA)
- label(returnAaA)
- CRC1NewCode:
- codeAaA:
- pop ebx
- add esp,04
- mov eax,#1
- ret
- jmp returnAaA
- CRC1:
- //Make sure there are no nops here
- jmp CRC1NewCode
- returnAaA:
- [DISABLE]
- CRC1:
- db 5B 83 C4 04 C3
- unregistersymbol(CRC1)
- dealloc(CRC1NewCode)
- CRC2:
- db 8B 00 29 DF 29 C2
- unregistersymbol(CRC2)
- dealloc(newmem)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement