jonasbeckman wrote: ↑Wed Apr 28, 2021 7:08 am
That's from the Cs . rin table by Budabum I don't think there's a updated table for the new patch but the old one and it's functions may still be compatible compared to the .dll file.
I prefer to just patch the process, patching the file shouldn't be an issue but it's more permanent although the next patch out will just replace the .exe anyway and it creates a backup as well so if anything happens it's easily restored.
See my previous response. He's not patching something different. He's just overwriting the piece of code that loads the function pointer for thread creation. Putting it in simpler terms:
my patch:
CheckFunction:
prologue
..
..
test al,al <-- I patch here
jne ...
..
..
epilogue
ret
his patch:
some_function:
..
..
lea rcx,[CheckFunction] <-- he replaces this
..
CreateThread( CheckFunction )
..
In short, he's not letting the game run that entire function, replacing it with a pointer to some member-function from the Class object that's processed as soon as game world lets you move around; while I patch inside the function he doesn't let running, indirectly.
That's all
The process patching script from his table still works fine:
Code: Select all
[ENABLE]
aobScanModule( PATCH_aob1, $process, ?? ?? ?? ?? ?? ?? ?? 4D 8B C7 48 89 4D 98 33 C9 )
alloc(PATCH_newmem, 7)
registerSymbol( PATCH_aob1,PATCH_newmem )
PATCH_newmem:
readmem(PATCH_aob1, 7)
PATCH_aob1:
mov rcx, [rsi]
mov rcx, [rcx+40]
[DISABLE]
PATCH_aob1:
readmem(PATCH_newmem, 7)
dealloc(*)
unregisterSymbol(*)
BR,
Sun