NoMoreBSoD Advanced Cheater Reputation: 3
Joined: 03 Sep 2013 Posts: 85
|
Posted: Thu May 21, 2015 6:25 am Post subject: How do I use Lua to display addresses used by asm ? |
|
|
I would like to be able to use Lua to store all the addresses accessed by an assembly function and then display an offset. For example, lots of games have a function that check all the items in the inventory when you access it. How do I store those item addresses then display them, either in the lua console or in a modifiable form ?
I would really like to this in the Witcher 3 game but I do not see where to start. This thread will recap my steps toward this goal and in the end I will write a tutorial on the different hacking approaches I used for Witcher 3 and how I managed to integrate them with LUA.
__________________________________________________________________
Edit 1 :
Here is current script that checks many player attributes including base carrying weight in Witcher 3 :
Code: | [ENABLE]
aobscanmodule(aob_weight,witcher3.exe,f3 0F 10 74 33 0C 0f 2f 74 33 10) // should be unique
alloc(newmem,$1000,"witcher3.exe"+A16F30)
label(code)
label(return)
registersymbol(pointer_weight)
alloc(pointer_weight,8)
newmem:
cmp [rbx+rsi],0000aa03
jne code
//mov dword ptr [rbx+rsi+c],(float)10
push rsi
lea rsi,[rbx+rsi]
mov [pointer_weight],rsi
pop rsi
code:
movss xmm6,[rbx+rsi+0C]
jmp return
aob_weight:
jmp newmem
nop
return:
registersymbol(aob_weight)
[DISABLE]
aob_weight:
db f3 0F 10 74 33 0C
unregistersymbol(aob_weight)
dealloc(newmem)
unregistersymbol(pointer_weight)
dealloc(pointer_weight) |
I filtered the addresses accessed using a simple cmp function but I would prefer to save all those addresses in a LUA table and filter them from there. How should I do that ?
|
|