Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Gibt es eine Möglichkeit (einen entsprechenden Hook hab ich nicht gefunden) mitzubekommen wenn irgendeine beliebige Datei erstellt oder geöffnet wird?

Außerdem würde mich (sofern das erste das nicht erschlägt) noch interessieren wenn etwas in der Registry oder anderen Systemeinstellungen geändert wird.

Geschrieben
Gibt es eine Möglichkeit (einen entsprechenden Hook hab ich nicht gefunden) mitzubekommen wenn irgendeine beliebige Datei erstellt oder geöffnet wird?

Ja, das geht. Für .NET basierte Anwendungen gibt es die FileSystemWatcher Klasse. Ohne .NET ist es aufwendiger, geht aber mittels Event Tracing (siehe Platform SDK). Eine zu vermeidene Alternative währe das regelmässige Abfragen der Dateiattribute in einem extra Thread mittels Timer.

Geschrieben

Also das mit dem Event Tracing sieht auf den ersten Blick vielversprechend aus. Eine Änderung in der Registry müsste theoretisch ja auch auf eine Dateioperation zurücklaufen.

Beim API-Hooking scheint keine der User Level Hooking Möglichkeiten wirklich toll zu sein und beim Kernel Level Hooking weiß ich nicht ob das nicht etwas zu überdimensioniert für mich ist :rolleyes:

Ziel des ganzen ist es übrigens eine Übersicht zu bekommen was so alles im System genau passiert ist, um bei evtl. Trojanerbefall (den ich in den letzten 3 Wochen 2 mal hatte >( ) genau zurückzuverfolgen was der verstellt und wo er sich eingenistet hat...

Geschrieben

Hab da mal ne Frage zum APIHooking bzw. zu dem Artikel den ich weiter oben verlinkt habe.

Soweit ich das verstanden habe geht es bei den verschiedenen Möglichkeiten des API Hooking nur darum wie man andere Programme dazu bekommt seine DLL zu laden. Danach passiert immer das Selbe, nämlich das man in seiner DLL eigene Methoden der entsprechenden APIs exportiert und diese dem fremden Programm unterjubelt wenn es diese Mit LoadLibraray bzw. GetProcAdress lädt.

Aber was ist denn mit den Programm die die APIs nicht dynamisch über GetProcAdress laden, sondern diese statisch verlinken? Die dürften davon doch dann alle nicht betroffen sein und das müssten ja der Großteil der Programme sein die es so machen (Zumindest bei den C Programmen)...

Geschrieben

Ich glaube, du verwechselst da static linking mit load-time dynamic linking.

Wenn du dein Programm z.B. mit user32.lib verlinkst, bist du damit nicht unabhängig von user32.dll. Kann ja schon gar nicht sein, weil user32.lib signifikant kleiner als user32.dll ist.

Das, was du da statisch linkst, sind Importbibliotheken. Die sorgen dafür, dass die entsprechenden DLLs beim Start des Programms geladen werden. Wirklich statisch linken kannst du nur gegen die Bibliotheken, die auch als komplette statische Bibliotheken ausgeliefert werden, z.B. die C-Runtime und die MFC.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...