the RSI value is the address that I want to register as a symbol and use in my trainer. I only know how to assign the RSI value to registeradress, but I don't know how to register it. I have tried various methods and the game keeps crashing. Registeradress is always the injection address, not the RSI value.
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"SupremeRuler2030.exe"+4A7DF7)
alloc(registeredaddress,8)
registersymbol(registeredaddress)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [registeredaddress], rsi
movsd xmm11,[rsi+00014B88]
originalcode:
movsd xmm11,[rsi+00014B88]
exit:
jmp returnhere
"SupremeRuler2030.exe"+4A7DF7:
jmp newmem
nop 4
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
dealloc(registeredaddress)
"SupremeRuler2030.exe"+4A7DF7:
db F2 44 0F 10 9E 88 4B 01 00
//movsd xmm11,[rsi+00014B88]
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"SupremeRuler2030.exe"+4A7DF7)
alloc(registeredaddress,8)
registersymbol(registeredaddress)
label(returnhere)
label(originalcode)
label(exit)
registeredaddress:
dq 0
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [registeredaddress], rsi
originalcode:
movsd xmm11,[rsi+00014B88]
exit:
jmp returnhere
"SupremeRuler2030.exe"+4A7DF7:
jmp newmem
nop 4
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
unregistersymbol(registeredaddress)
dealloc(newmem)
dealloc(registeredaddress)
"SupremeRuler2030.exe"+4A7DF7:
db F2 44 0F 10 9E 88 4B 01 00
//movsd xmm11,[rsi+00014B88]
as you can see in the picture, in the debugger the register address received 0FA1A820 but in the trainer it was registered as 13FFE0800
registeredaddress is an allocated address that holds the value of rsi. If you want to use rsi, you need either to type [registeredaddress] when adding an address, or use registeredaddress as a pointer.
as you can see in the picture, in the debugger the register address received 0FA1A820 but in the trainer it was registered as 13FFE0800
registeredaddress is an allocated address that holds the value of rsi. If you want to use rsi, you need either to type [registeredaddress] when adding an address, or use registeredaddress as a pointer.
Yeah, you're not using the pointer correctly. [RSI]'s address is not the same as RSI