Der code scheint zu funktionieren.
Keine Ahnung warum es bei mir nicht ging ( was du vorher einmal gepostet hast ) aber ich werde es mir genauer anschauen.
Übrigens ist das vielleicht gleich etwas für deine uall.Protect.
Das würde ich ProtectCall nennen oder so ähnlich.
Also ProtectCall(xxx.dll, funcname)...
Was mir gleich mal aufgefallen ist, daß strtointdef hier nicht so viel sinn zu haben schein, bei mir stürtzt er nämlich ab, wenn ich versuche das mit dem eigenen prozess zu machen.
noch eine verständnisfrage.
Warum ladest du vorher nochmal ntdll.dll mit loadlibrary?
Delphi-Quellcode:
HNtDll := LoadLibrary(ntdll);
HNtDll2 := uallProtect.ForceLoadLibraryNt(ntdll);
soweit ich deine ForceLoadLibraryNt kenne machst du das in der function eh nochmal mit hook eben!
Arnulf