PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Section bzw. PE Header vergrößern?



rtroeger92
22.09.2008, 16:37
Ich habe mir einen funktionierenden Crypter gecodet.
Allerdings ist er noch nicht komplett FUD.
Um in etwas weiter in Richtung FUD zu bekommen, will ich eine neue Section hinzufügen.
Leider ist von z.b dem Trojaner PI die SizeOfHeaders zu klein. um eine neue Exe hinzuzufüren.
Demnach möchte ich die SizeOfHeaders vergrößern, was zur Folge hat, dass die ganzen Sectionoffsets und Entrypoint usw.....verschoben wird.
Ich habe schon viele Einträge geändert, allerdings funktioniert die Exe immernochnicht.
Welche Einträge muss ich alles ändern, um die SizeOfHeaders zu vergröern?

l0dsb
22.09.2008, 17:37
Sämtliche Adressen, die in Befehlen verwendet werden. Dazu zählt z. B. auch sowas:


mov eax, 11223344
xor eax, 0deadbeef
call eax
Da es keine hunterprozentig sicheren Disassembler gibt, wird das ohne Relocation-Directory nicht universell lösbar sein. Es gibt jedoch noch mehr Wege, Code zu einer .exe hinzuzufügen. Wobei ich mir auch nicht vorstellen kann, dass eine weitere Section auch nur irgendwas verändert am "FUD-Grad". ;)

rtroeger92
22.09.2008, 18:00
Doch doch, wenn ich mit meinem Crypter Pi crypte, erkennt es Antivir. Wenn ich allerdings die Sectionanzahl um 1 erhöhe, dann erkennt es Antivr nimmer. XD

l0dsb
22.09.2008, 18:07
Könnte daran liegen, dass sich der Overlay verschiebt - ansonsten mal wieder die eher unbegründete Heuristic von AntiVir eben. :)

rtroeger92
23.09.2008, 17:33
Gehen nicht diese Assembler Befehle auf die Virtuellen Speicheradressen zurück?
Denn wenn ich den Header vergrößern will, brauch ich die V Speicher Adressen ja nicht ändern und somit wären diese Assemblerbefehle doch kein Problem.
? - ? - ?

l0dsb
23.09.2008, 17:45
Kleines Beispiel:

8915 54A04600 mov dword ptr [46A054], edx
Links der Opcode, rechts der Opcode. Verschiebt sich nun der Header, muss sich auch diese Adresse verschieben. Wie man sieht, ist die Adresse der zu zuweisenden Variable natürlich im Opcode vermerkt.

Das Problem dabei: Man müsste alle Befehle 100% sicher disassemblieren können, um die Befehle herauszufinden, bei denen Adressen verschoben werden müssen. Jedoch:

Da es keine hunterprozentig sicheren Disassembler gibt, wird das ohne Relocation-Directory nicht universell lösbar sein.

rtroeger92
24.09.2008, 13:35
ok, muss ich nach was anderem suchen

l0dsb
24.09.2008, 13:41
Es gibt jedoch noch mehr Wege, Code zu einer .exe hinzuzufügen.
Du könntest zum Beispiel die Größe der letzten Section ändern. ;)