mwpeck Posted June 27, 2008 Posted June 27, 2008 Is it possible to read the current ESI value of a memory address? I know the pointer address of a DMA address, the only problem is the pointer address does not store the plain DMA address, instead it adds a value to the current ESI value, which is the location I am looking for. To be simple, the location I need to know is ESI + 7D. Is there any way to get the ESI register value through autoit?
cppman Posted June 28, 2008 Posted June 28, 2008 (edited) A register isn't the same thing as memory. So I am a little confused on what you're asking. The only way to get the value of a register is to use assembly. Write a DLL with inline asm that returns the value of the specified register. It should look something like this... int GetRegisterValue() { __asm mov eax, esi } Edited June 28, 2008 by cppman Miva OS Project
mwpeck Posted June 28, 2008 Author Posted June 28, 2008 (edited) Here is how I find the value in CE, I open the memory view, go to the static address, then debug it (f5), it freezes the game, and I click ESI and copy the value it holds (then stop the debugger so the game continues). Then I add a static value to that address (the +7D part) and that gives me the dynamic address I'm looking for. How would I go about writting the DLL? I do have C# knowledge but without doing "unsafe" code I cannot read memory or anything, so I figured maybe AutoIT could do something similar. Edited June 28, 2008 by mwpeck
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now