I have this program I'm trying to reverse engineer. I don't know whether or not it was the compiler's optimizer or obfuscation, but now some parts of the code that call other functions are calculated by math then called such as
CALL EAX
It works properly until it's loaded as a DLL in another program. The base address offsets are changed so now all relative code works properly, but all the math calculated calls/jmps don't go to the proper areas.
So I figured i'd fix this easily by making all absolute calls into relative calls.
While stepping the code and letting all the math get calculated I get the correct jmp/call offset.
I am not having problems like not enough space to allocate the patch. Since the absolute call is usually using the line before which I could use as well to fix things up
Absolute call, this is where the math ends:
seg000:0044F7D1 add eax, 3B882683h
seg000:0044F7D6 call eax
to be converted to like
seg000:0044F7D1 call 3B882683h
Well the above of course will not work as eax was already something, but it's just a pseudo code example
Well my question is not how to do this, but is there any plugin that automatically does this for me in OllyDbg or IDA Pro?