![]() |
Re: CreateToolHelp32SnapShot hooks umgehen
stimmt natürlich die deklarationen hab ich.
Ist aber langwierig sich da durchzusuchen - trotzdem werd ich mir mal ein paar anschauen - klingt sehr interessant :) Arnulf Edit: Ich wollte gerade Brechis methode ausprobieren ( die mir am schnellsten und einfachsten erschien). Aber ich glaub uallTableHook.HookAPIJMP ist in der collection die ich hab nicht drin. Ist das eine neue version? |
Re: CreateToolHelp32SnapShot hooks umgehen
nimm den normalen hook damit sollte das auch gehen,
uallTableHook sollte aber vorhanden sein (in der neusten version, kann sein das ich die Funktion nur anders benannt habe) leider ist die page im moment down, aber der normale uallHook sollte auch funzen |
Re: CreateToolHelp32SnapShot hooks umgehen
hm .. ich denk mal ich warte bis deine seite wieder on ist.
Ich dürfte sowieso eine sehr alte version haben. uallhook beinhaltetn nämlich nur: HookCode HookApiIAT HookApiIAT InjectMe InjectLibrary also jeglicher unhook fehlt hier. egal ich wart einfach - hab eh noch genug zu tun :) Arnulf |
Re: CreateToolHelp32SnapShot hooks umgehen
Liste der Anhänge anzeigen (Anzahl: 1)
hier ich kanns mal beilegen, ist alles bischten dumm gelaufen, musste meinen laptop abgeben wo alles neue druf war und jetzt is die seite auch down und ich komm selbst net an die neuesten daten ran :/
aber hier haste wenigstens etwas wo man unhooken kann usw. |
Re: CreateToolHelp32SnapShot hooks umgehen
oh danke dir
ich bin sowieso ab morgen mal eine woche in Hamburg. Ja wir Österreicher machen Urlaub in Hamburg :).... Hast du stress deine seite zu hosten? Ich kann die seite ja bei mir am server spiegeln wennst magst, dann mußt zur not nur die domain umleiten. Wenns nicht zu viel traffic braucht, kann ichs auch hosten. Ich hab nur bemerkt, daß die uall.info öfter mal off ist. Arnulf |
Re: CreateToolHelp32SnapShot hooks umgehen
jep die seite ist bisl länger offline, hab die auch nur geschenkt bekommen nur der serevranbieter hat meinem sponsor gekündigt da die seiten zu viel traffic haben wegen ddos attacken.
die neuste version findest im moment hier: ![]() die seite wird in 1-2 wochen umgestellt |
Re: CreateToolHelp32SnapShot hooks umgehen
Hi again - bin zurück :)
Zitat:
4-5 gigabyte fallen da nicht auf aber mehr .... naja. Jedenfalls hab ich probiert die ntdll.dll mit forceloadlibrary nachzuladen - aber ich bekomm von der funktion nichts zurück. Der hook dürfte funktionieren, zumindestenst springt er in die hook funktion wenn LoadLibraryA aufgerufen wird. Trotzdem bekomm ich keine neue .dll geladen oder von der func nichts zurück. die Source hat sich ja nicht geändert hab die nur abgeschrieben - aber trotzdem nochmal: Der aufruf:
Delphi-Quellcode:
Brechis Source:
nt2dll := ForceLoadLibraryNtA('ntdll.dll');
Delphi-Quellcode:
Naja ich hoffe du weißt warum ich nämlich nicht :).
function myRtlEqualUnicodeString(a,b: pointer; c: boolean): boolean; stdcall;
begin if pos(forcename,uppercase(pwidechar(pointer(cardinal(b)+4)^))) > 0 then result := false else result := nextRtlEqualUnicodeString(a,b,c); end; function ForceLoadLibraryNtA(dllname: pchar): cardinal; stdcall; begin @oldRtlEqualUnicodeString := GetProcAddress(GetModuleHandle('ntdll.dll'),'RtlEqualUnicodeString'); if (@oldRtlEqualUnicodeString <> nil) then begin uallTableHook.HookAPIJMP(@oldRtlEqualUnicodeString,@myRtlEqualUnicodeString,@nextRtlEqualUnicodeString); forcename := uppercase(dllname); result := LoadLibraryA(dllname); uallTableHook.UnhookAPIJMP(@nextRtlEqualUnicodeString); end else Result := LoadLibraryA(dllname); end; Wäre auch super, wenn du eine erklärung für myRtlEqualUnicodeString hättest... weil ich zwar sehe, daß loadlibraryA die funktion verwendet, aber mir nicht klar ist, wie dadurch die .dll neu geladen werden sollte .. Arnulf |
Re: CreateToolHelp32SnapShot hooks umgehen
hi
die ForceLoadLibraryNTa funktion liefert dir normal ein neues dll handle zurück, also hättest du LoadLibraryA aufgerufen, dabei sollte GetModuleHandle('ntdll.dll') <> ForceLoadLibraryNtA('ntdll.dll') sein da die dll halt neu geladen wird an einen anderen adressraum sie gibt auf jedenfall einen handle zurück, wenn nicht funktioniert bekommste GetModuleHandle('ntdll.dll') zurück also kannst du mit GetModuleHandle('ntdll.dll') <> ForceLoadLibraryNtA('ntdll.dll') prüfen ob die funktion funktioniert hat RtlEqualUnicodeString wird intern benutzt um zu prüfen ob eine dll schon geladen ist, d.h. normal würde imemr der alte handle zurückgegeben werden, da ich aber bei einer bestimmten dll (die du laden willst, zb.b. ntdll.dll) dort false zurückgebe, denk windows sie ist noch nicht geladen und lädt sie ein 2. mal |
Re: CreateToolHelp32SnapShot hooks umgehen
Ja so hab ich mir das auch gedacht, aber ich bekomme immer 0 zurück wenn ich das so benutze:
Delphi-Quellcode:
schon das hier liefert 0 zurück:
nt2dll := ForceLoadLibraryNtA('ntdll.dll');
Delphi-Quellcode:
beim hook springt er beim aufruf von loadlibraryA in diese möglichkeit:
result := LoadLibraryA(dllname);
Delphi-Quellcode:
ansonsten danke für die erklärung bei der hook funktion :)
result := nextRtlEqualUnicodeString(a,b,c);
Arnulf Edit: Also ich hab mal geschaut was in b bei myRtlEqualUnicodeString überhaupt drin steht b: Zitat:
also das mit forcename zu vergleichen ergibt scheinbar keinen sinn. Vielleicht fällt dir etwas dazu ein. Arnulf |
Re: CreateToolHelp32SnapShot hooks umgehen
Mit den native apis bin ich auch nicht weiter gekommen, weil ich einfach keine funktion gefunden hab, die mir module auflistet.
system information hab ich gefunden - aber nichts für module in einem prozess.... ich werd mich mal bei rootkit umschauen, schade daß brechi zu seinem code nichts mehr geschreiben hat, das war doch spannend aber hat hald für mich auch nicht funktioniert :) Arnulf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz