c++ - How to intercept a free function call like hippomocks does? -
I'm thinking that the Hippomox exit
call function is shown as an example below Code given:
Mock repository mox; Mocks.ExpectCallFunc (Exhaust) .with (2) .Throw (std :: exception ());
The code inhibits is in hippomocks.h
. It modifies the memory protection flag to allow the provided function to be typed at the pointer's address, then writes a jump instruction in place of the initial bytes of the function. When the hook is no longer necessary, the original byte is restored. This is the same method, for example, used by the library.
Comments
Post a Comment