AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateToolHelp32SnapShot hooks umgehen
Thema durchsuchen
Ansicht
Themen-Optionen

CreateToolHelp32SnapShot hooks umgehen

Ein Thema von Arnulf · begonnen am 25. Jul 2005 · letzter Beitrag vom 30. Mär 2007
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#11

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 25. Jul 2005, 14:58
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?
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#12

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 25. Jul 2005, 15:38
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
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#13

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 25. Jul 2005, 16:31
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
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#14

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 25. Jul 2005, 18:58
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.
Angehängte Dateien
Dateityp: zip uallc_205.zip (25,4 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#15

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 25. Jul 2005, 19:14
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
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#16

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 26. Jul 2005, 19:03
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:

http://uall.overclock.ch/uallCollection.zip

die seite wird in 1-2 wochen umgestellt
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#17

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 4. Aug 2005, 22:24
Hi again - bin zurück
Zitat:
seiten zu viel traffic haben
Ja das wäre dann auch bei mir wohl das problem - ich hab nur 200 gig frei im monat.
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:
 nt2dll := ForceLoadLibraryNtA('ntdll.dll'); Brechis Source:
Delphi-Quellcode:
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;
Naja ich hoffe du weißt warum ich nämlich nicht .
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
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#18

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 4. Aug 2005, 22:56
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
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#19

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 4. Aug 2005, 23:06
Ja so hab ich mir das auch gedacht, aber ich bekomme immer 0 zurück wenn ich das so benutze:
nt2dll := ForceLoadLibraryNtA('ntdll.dll'); schon das hier liefert 0 zurück:
result := LoadLibraryA(dllname); beim hook springt er beim aufruf von loadlibraryA in diese möglichkeit:
result := nextRtlEqualUnicodeString(a,b,c); ansonsten danke für die erklärung bei der hook funktion

Arnulf
Edit:
Also ich hab mal geschaut was in b bei myRtlEqualUnicodeString überhaupt drin steht
b:
Zitat:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Sys tem32\Wbem;C:\PROGRA~1\Borland\Delphi6\Bin;C:\PROG RA~1\Borland\Delphi6\Projects\Bpl;C:\Programme\ATI Technologies\ATI Control Panel;C:\Programme\Gemeinsame Dateien\Avid;C:\Programme\SSH Communications Security\SSH Secure Shell
Das scheint aber nicht das zu sein, was hier erwartet wird ????
also das mit forcename zu vergleichen ergibt scheinbar keinen sinn.
Vielleicht fällt dir etwas dazu ein.
Arnulf
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#20

Re: CreateToolHelp32SnapShot hooks umgehen

  Alt 8. Aug 2005, 14:26
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz