Einzelnen Beitrag anzeigen

Sereby

Registriert seit: 31. Mär 2008
91 Beiträge
 
#1

WinVerifyTrust Hook Probleme

  Alt 14. Okt 2008, 15:17
Hoi,

ich habe hier folgendes Gefunden:
http://www.delphipraxis.net/internal...ct.php?t=48444

funktionuckelt auch soweit.

Nur habe ich jetzt schon etwas länger versucht die Wintrust funktion von windows zu hooken per madCodeHook (funzt auch) und dabei sind mir ungreimtheiten aufgefallen die ich mir leider nicht erklären kann.

Ziel:
sigverif.exe soll ALLE Dateien als Signiert anerkennen und bei "Signiert von" muss etwas von Microsoft stehen

1. Hook Versuch:
Bei CryptCATAdminCalcHashFromFileHandle einfach das Filehandle von einer anderen Datei wie z.B. NT5.CAT (%windir%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}) übergeben.
Funktioniert nicht!
Er Berechnet zwar den richtigen Hash aber sigverif.exe scheint da noch irgendwie anders abgesichert zu sein

2. Hook Versuch:
Delphi-Quellcode:
function WinVerifyTrustCallback(hwnd: THandle; pgActionID: PGUID; pWintrustData: PWINTRUST_DATA): Longint;
begin
  //So erkennt er alle Dateien als Signiert an!
  // - Allerdings verschwindet so das 'Signiert von'
  pWintrustData^.dwStateAction := WTD_STATEACTION_CLOSE;
  //Signatur Prüfung
  Result := WinVerifyTrustNext(hwnd, pgActionID, pWintrustData);}
end;
3. Hook Versuch:
Bei WinVerifyTrustCallback einen eigenen kompletten Signaturcheck zu machen für z.B. NT5.CAT. Also die im Artiekel erwähnte funktion "CheckFileTrust" aufrufen (abgeändert wegen ReturnCode) aber dabei ist mir durch Debuggen aufgefallen dass die funktion "CryptCATAdminEnumCatalogFromHash" IMMER 0 wiedergibt! Also er findet niemals einen Sicherheitskatalog bei der Funktion auch wenn definitiv einer Existiert.


Ich hoffe sehr dass mir da jemand weiterhelfen kann :/


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
  Mit Zitat antworten Zitat