AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fremdes programm hookt CreateWindowEx

Ein Thema von Gruber_Hans_12345 · begonnen am 7. Mai 2013 · letzter Beitrag vom 8. Mai 2013
 
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#12

AW: Fremdes programm hookt CreateWindowEx

  Alt 8. Mai 2013, 11:03
Nun, hooks funktionieren nach folgendem Schema:
- es wird entweder rein auf korrektem Wege per SetWindowsHookEx() global (Dll) gehookt -- hier können aber nur vorgegebene Sachen abgefangen werden
- oder, die vorige Methode wird verwendet, um eine Dll in den Adressraum aller anderen Prozesse zu laden (SetWindowHookEx() macht das) damit
anschließend folgende Art von (dirty) Hook gesetzt werden kann:
-- IAT/EAT Hook (Address Table Hook)
-- Code Patching (wie der Namenlozer bereits geschrieben hat)

Was du nun machen kannst, als Hotfix, ist, zunächst einmal rausfinden, um was für Art von Hook es sich handelt - es ist entweder
IAT oder Code Patching (das sind die gängigsten)
Wenn IAT:
- die Adresse, die in der Import Table steht, ist "modifiziert" - deine Aufgabe ist es, iwie rauszufinden, wo sie sich wirklich befindet
dafür kannst du mal die hookende Anwendung terminieren, deine App normal starten und per GetProcessAddress() die korrekte Adresse ermitteln (sie liefert die modifizierte beim IAT Hook)

Wenn Code Patching:
- kann schnell erkannt werden, da die Stackframe Generierung überschrieben wurde (meisten mit einem absoluten jmp)
Siehst du soetwas, einfach zurückpatchen -- 0815 Stackframegenerirung reinschreiben

Also im Grunde müsstest du dann für deine Anwendung vom dirty Hook säubern!

Achja, noch etwas damit du nicht verzweifelst -- wenn die Hookende Anwendung beim Terminieren nicht ordentlich aufräumt bzw nicht den globalen Hook löscht, wird Windows weiterhin bei jedem Prozess den Hook laden (was ja nur ne Dll ist) - auch wenn die Anwendung geschlossen ist! Das kann verwirrend sein
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
 


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 07:31 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