Page 1 of 1

How to read a proc call in byte code?

Posted: Sat Dec 10, 2011 5:01 am
by MiesterMan
Ok, so I've run into this a lot and it's starting to get on my nerves. I run into a situation where I'd like to know if there are any other calls to the procedure I've found that references the address I'm working on but what I get is something like this:

Code: Select all

E8 51554D00 - call 00915448
How exactly do you extrapolate that 51554D00 is 00915448? I get that E8 is the proc call code but I don't understand how to figure out how to find that number. I find what access the pointer with the debugger option and when I goto look at it, I can't tell if the math has been tampered with or not. It's really frustrating not being able to figure this out (I couldn't google or bing anything up on this).

Thanks for anything you can tell me,
Miester

Re: How to read a proc call in byte code?

Posted: Sat Dec 10, 2011 6:13 am
by MiesterMan
EDITED:
I just realized I worded this second question wrong. What I mean is how to do a memory scan for a value like in cheat engine using micromacro. Rather than scan the whole range of memory, 4 bytes at a time, is there a better way?

Re: How to read a proc call in byte code?

Posted: Sat Dec 10, 2011 10:26 am
by Administrator

Code: Select all

E8 51554D00 - call 00915448
Remember to convert endianness.
0x51554D00 is really 0x4D5551. And it is an offset. If you take the position of that command and add 0x4D5551 to it, it should bring you right to the function that is being called.