Oo wenn du doch schon weisst, welche
API du hooken möchtest, und auch madCodeHook kennst, dann ist das doch wirklich kein Problem mehr oder?
dll code
Code:
[...]
var NextWriteProcessMemory : function (hProcess : Cardinal,lpBaseAddress : Pointer,lpBuffer : Pointer,nSize : Cardinal,var lpNumberOfBytesWritten : Cardinal) : Longbool; stdcall;
function myWriteProcessMemory(hProcess : Cardinal,lpBaseAddress : Pointer,lpBuffer : Pointer,nSize : Cardinal,var lpNumberOfBytesWritten : Cardinal) : Longbool; stdcall;
begin
IF hProcess = DasProzesshandleDesProzessesDenDuÜberwachenWillst THEN
// DasWasPassierenSoll
else
result := NextWriteProcessMemory(hProcess,lpBaseAddress,lpBuffer,nSize,lpNumberOfBytesWritten);
end;
begin
HookApi(kernel32,'WriteProcessMemory',@myWriteProcessMemory,@NextWriteProcessMemory);
end;
wenn du oben beim Kommentar nun einfach result := FALSE machen würdest, wäre der WriteProcessMemory Zugriff auf dein Programm einfach geblockt worden.
Du solltest aber aufpassen, dass du nicht jeglichen Zugriff blockst, da madCodeHook selber WriteProcessMemory benötigt.