[fpc-devel] Quick question on VMT / writeable or protected memory
Alfred
alfred at consulab.nl
Wed Apr 14 17:49:07 CEST 2021
The mORMot[1] sources could give you some info.
During runtime, it patches the exe-memory to redirect function calls.
Hard part was to get around the W^X memory protection on some BSD's.
Look at:
procedure PatchCode(Old,New: pointer; Size: integer; Backup: pointer;
inside SynCommons.pas
function TInterfaceFactory.GetMethodsVirtualTable: pointer;
inside mORMot.pas
More information about the fpc-devel
mailing list