advanced-microcode-patching/shiva

Insert trampoline into original function, to handle function pointers

Opened this issue · 0 comments

When we re-link a function to a new version of that function in a patch, i.e. the executable has function foo()
and our patch module has a new function foo(). All call/bl instructions to foo() will be relinked to the new foo()
within the patch, however this doesn't handle function pointers which will still use the original function. This can
be remedied with a simple trampoline inserted into the o_func prologue.