Zitat von
0xF30FC7:
Ich würde Dir ernsthaft empfehlen einfach mal selbst eine
PE Unit zu schreiben, mit denen Du bestimmte Grundfunktionen implementierst (IAT, EAT, Sections enumerieren und editieren; Header auslesen und modifizieren). Zum einen weil die
PE Unit die Du derzeit verwendest, einfach nur schlecht ist und zum anderen weil Du nicht lernst wie das
PE Format aufgebaut ist, wenn Du fremde Sourcen änderst
.
Ich werde das auf jedenfall mal machen. Auch wenn es sich (für mich) ziemlich schwer anhört.
Aber ich änder ja keine fremden Sourcecodes, ich verwende sie ja, um z.B. das finden einer Section oder ähnliches zu vereinfachen.
@Schlechte
Pe Unit
Wie gesagt es sind ja mehrere, untPeFile,PEUtils,peformat
Eine davon wird wohl nicht schlecht sein
Zitat von
0xF30FC7:
Ansonsten wäre das Anhängen einer neuen Section bzw. das Vergrößern der letzten Section der "Standardweg". Die anderen Sections kannst Du prinzipiell als "array of byte" sehen und entsprechend Deines "Vertauschalgorithmus" lustig die Bytes hin und her tauschen.
Das hört sich schonmal gut an.
Zitat von
0xF30FC7:
Ich sag aber gleich, daß sehr viele
AV Programme Deine produzierten Dateien via Heuristik als infiziert flaggen werden.
Ich hab ja keinenfalls vor, diese Programme damit zu schützen/verteilen
. Mich treibt eher die Neugier an.
Delphi-Quellcode:
function FileToStr(const FileName:String):String;
var
Stream:TFileStream;
begin
Stream:=TFileStream.Create(FileName,fmOpenRead);
SetLength(result,Stream.Size);
Stream.Read(result[1],Stream.Size);
Stream.Free;
Wenn ich richtig liege, sollte sich doch jetzt die Datei als String in "result" befinden oder mach ich was falsch?
Und mir ist noch nicht ganz klar, wie ich die decrypt Routine in die Datei schreiben soll, ich muss ja den neuen EntryPoint und die StartDeCrypt und EndDeCrypt Adressen festlegen...
Danke für dein Hilfe.