Executing flat binaries
Re:Executing flat binaries
My hypothesis has been confirmed! I achieved an absolute jump by loading a register with an address and jumping to the location pointed to by that register. Thanks.
Re:Executing flat binaries
just out of curiosity, why use inlie ASM at all? why not just use a function pointer like this:
this will compile down to:
which seems pretty reasonable...
proxy
Code: Select all
typedef void (*func_ptr)(void);
func_ptr f = (func_ptr)0x200000;
f();
Code: Select all
call 0x200000
proxy
Re:Executing flat binaries
I knew of no other method at the time. Now that I'm moving onto multitasking, even your function pointer idea will be obsolete because then I'll just have to set the EIP of my processes accordingly.