Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#2

Re: WinVerifyTrust Hook Probleme

  Alt 16. Okt 2008, 04:55
Zitat von Sereby:
Warum ich das will? z.B. Einfache Art um Windows Dateischutz zu "Deaktivieren" ohne irgendwelche Dateien Patchen zu müssen damit das allgemein gültig ist für jedes Windows-Betriebssystem
Warum so kompliziert? Es gibt hundertmal einfachere Wege das zu erreichen was Du willst. Die Verwendung von API Hooks ist in dem Falle der sprichwörtliche Schuß auf Spatzen mit Kanonen.

1. SetSfcFileException erlaubt es Dir eine Minute lang eine beliebige Datei beliebig zu modifizieren. Danach wird eine Änderung nur erkannt, wenn ein Scan angeordnet wird. Wenn Dir das zu wenig ist, hindert Dich niemand daran Timer gesteuert die API alle 30 Sekunden neu aufzurufen um so auch einem manuellen Scan zu entgehen.
2. WFP benutzt Directory Notifications. Nichts hindert Dich daran Notification Handles zu schließen.
3. SfcTerminateWatcherThread im Kontext von WinLogon ausgeführt schaltet die WFP komplett ab bis zum Reboot. Über AppInit_DLLs, Logon Notification DLLs und ähnliche Spielereien kannst Du dafür sorgen, daß beim Start direkt ein SfcTerminateWatcherThread ausgeführt wird, die WFP also permanent deaktiviert ist.
4. SFC_OS.DLL patchen. Ich weiß, das willst Du nicht. Ist aber immer noch deutlich geringer ins System eingegriffen als madCodeHook. Letztlich lassen sich alle Versionen von sfc_os.dll patchen indem man nach 83F89D75078BC6 sucht und durch 83F89D75079090 ersetzt. Danach die Registry Settings setzen wie überall dokumentiert.
5. Die Dateiliste (SFCFILES.DLL) patchen. Einfach nach dem Filename suchen, das erste Byte des Dateinamens durch ein 0 Byte ersetzen (= End of String) und danach mit den entsprechenden Image Helper Funktionen die PE Checksumme neu berechnen lassen.

Die eleganteste Methode ist letztlich der Patch von SFCFILES.DLL, da man ohne das irgendetwas aktiv im Hintergrund laufen müsste, alle Dateien die man ändern möchte permanent von der Überwachung aus nimmt, auch wenn die eigene Anwendung nicht läuft. Der Code Umfang wäre wahrscheinlich weniger als ein Zehntel von dem was madCodeHook allein auf die Waage bringt.
Fridolin Walther
  Mit Zitat antworten Zitat