ZwCreateFile hooken
-
guten abend.
ich versuche LoadLibrary auf eine virtuelle datei umzuleiten. dazu fange ich
ZwCreateFile ab, das heißt, ich versuch es. die funktion wird per inline-hooking
übernommen. allerdings landet das programm nie in der hook-funktion
da ich keine schreibrechte auf ntdll hab und auch keine bekomme (VirtualProtect),
muss ich mittels PAGE_WRITECOPY mir die page kopieren. wenn ich mit dem selben
hooking-system z.b. Sleep hooke, klappt das ohne probleme, ich lande in meiner
hooking-funktion, kann die originalfunktion noch aufrufen, rückgabe ändern, wie
ich lustig bin.bei der callchain von LoadLibrary gehts aber nicht. komischerweise kann ich
LoadLibraryExA (wird von LoadLibraryA aufgerufen)
LoadLibraryExW (wird von LoadLibraryExA aufgerufen)ohne probleme hooken. bei besagter ntdll funktion geht das NICHT.
kann das daran liegen, dass die funktion intern den kontext wechselt, so dass
mein "kopierter" speicherbereich nicht verwendet wird? (selbe virtuelle addresse)code zu zeigen macht nicht viel sinn, da ich ganz "normales" inline-hooking
betreibe (erste paar bytes zum JMP patchen). wenn ihr welchen wollt, sagt
bescheid.hintergund:
LoadLibrary läd nur vom dateisystem. wenn ich es schaffe, die dateioperationen
zu hooken, kann man auch aus z.b. .zip laden. allerdings darf die lösung (wenn es
eine gibt) nicht admin-only sein, da das auch normalusern zustehen sollte.MfG
das häckchengn8 euch noch
