Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25796 Location: The netherlands
|
Posted: Mon Dec 22, 2014 5:52 am Post subject: |
|
|
some basic LUA and a bit of assembler knowledge is needed
First this lua command:
Code: |
sharedblock=allocateSharedMemory("anameyoumadeup", 4096)
print(string.format("The block is now at %x", sharedblock))
registerSymbol("sharedblock",sharedblock)
|
this will allocate a block of memory that will keep it's contents even when the process has terminated.
To access it again, just target any other process (could be a new instance of the game) and then execute that lua command again.
The new process will get a memory block with the previous contents (the address can be different so keep that in mind)
e.g to use it in a code injection:
Code: |
alloc(newmem, 2048)
label(returnhere)
label(originalcode)
newmem:
mov [sharedblock+xxx],ecx
originalcode:
...
jmp returnhere
12345678:
jmp newmem
returnhere:
|
then when the game has closed target a new process and execute the lua command. Then you can watch the previous memory, or re-activate the auto assembler command so it hooks it again and updates the new location
One thing you need to keep track of though is if you've already executed allocateSharedMemory once in that process as it will make a copy every time, even if it's already in. Which could eventuality (after 30 thousand times or so) make the game run out of memory
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|