Thema: Delphi Inline Assembler

Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#3

AW: Inline Assembler

  Alt 26. Okt 2010, 22:14
Ohne jetzt auf die Assemblerfrage weiter einzugehen, möchte ich nur kurz deine gesamte Vorgehensweise infrage stellen.

Es gibt auch sog. "cavity injection". Da du an einer AC-Engine arbeitest, setze ich mal voraus, daß du Grundkenntnisse über den Aufbau von PE-Dateien besitzt. Du weißt also, daß eine PE-Datei auf Platte und im Speicher (meist) anders aussehen. Im Speicher haben sie oft - zumeist am Ende von Sektionen - ein "Loch", nämlich die Bytes welche bis zur Ausrichtung im Speicher noch fehlen um die Seite/Sektion (o.ä.) vollzumachen. Entsprechend kann ein cleverer "Angreifer" (i.e. Cheater) mal eben ein Trampolin oder komplexeren Shellcode da einbauen. Dann kommt der Aufruf also ggf. "aus deinem PE-Abbild" im Speicher, obwohl nur stimmt, daß der Aufruf aus dem Bereich zwischen Basisadresse und Basisadresse+Größe stammt.

Dein Ansatz geht also am Problem leicht vorbei

Diese Methode wird schon seit Jahren bei Malware eingesetzt, so auch bei KM-Rootkits, wo die Antimalware-Lösung bspw. versucht auch anhand der Adresse festzustellen ob die SSDT gehookt wurde
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat