Wie kann ich mit Python3 eine exe Datei lesen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Kommt drauf an was du aus dieser heraus lesen willst, im Grunde sind das normale Binärdateien.

Auslesen der exe bringt dir zudem nichts, außer du möchtest ein Decompiling machen oder den Hex Code direkt editieren.

Bist du dir sicher dass du die Exe nicht ausführen willst und die Ausgabe dieses Programms lesen willst?

Das geht nicht, aber mit dem Tool Resource Hacker kann man EXE-Dateien auslesen, bearbeiten und modifizieren. Hier der Download: http://www.angusj.com/resourcehacker/

Du brauchst eine Lib, die das Portable Execution Format lesen kann.

https://github.com/erocarrera/pefile soll das können

Woher ich das weiß:Berufserfahrung – Berufserfahrung

Was willst du da genau auslesen?

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Muenze3006co 
Fragesteller
 13.11.2019, 17:44

Naja ein Befehl

0
whgoffline  13.11.2019, 17:45
@Muenze3006co

Informiere dich mal genau wie Exe Dateien gespeichert werden. Das steht ja, AUS GUTEM GRUND, kein Klartext drin.

0
whgoffline  13.11.2019, 17:47
@Muenze3006co

Das kann man so nicht sagen, da manche Developer ihren Code besonder schützen und er nicht einfach mal so auszulesen ist. Ist sogar sehr oft der Fall. Gründe dafür sind natürlich, Copyright und auch Kostenpflichtige Software, damit man die Testzeit nicht illegal verlängern kann.

0
PeterKremsner  13.11.2019, 17:57
@Muenze3006co

Nimm einen Deassambler und lese das File welches der erstellt, da steht dann ein Assemblerbefehl pro Zeile drinnen.

Falls du die Sachen in C Code oder ähnliches brauchst musst du einen Decompiler für die Sprache nehmen, meistens ist der Code aber unleserlich.

Sollte das File mit dem .Net Framework erstellt worden sein brauchst du einen eigenen Dotnet Deassambler weil normale Assembler den Bytecode nicht lesen können, selbes gilt auch für Java.

1
PeterKremsner  13.11.2019, 18:08
@whgoffline

Ja aber die Decompilierten Dateien von Programmen die nicht obfuscated wurden sind auch nur schwer leserlich.

Ohne Debuginfos heißen die Funktionen einfach irgendwie und die Variablennamne sind einfach durch nummeriert.

Im Endeffekt ist selbst ohne Obfuscation der Code nur schwer lesbar, da tut man sich mit dem assembler Code schon leichter. Sofern dieser aber Obfuscated ist kannst das Reverseenginieering auch vergessen.

1
PeterKremsner  13.11.2019, 18:19
@Muenze3006co

In dem Fall kannst du die Exe entweder Byteweise in deinen Algorithmus füttern oder du machst ein Deassembly und fütterst das deinem Algorithmus kommt drauf an was dein Algorithmus braucht und beides hat seine Vor und Nachteile.

Im Endeffekt brauchst du ein Neuronales Netzwerk welches den Code analysiert und auf bekannte Routinen hin scannt. Außerdem musst du den Code Scrambeln damit das Ding auch Viren erkennt indem bekannte Patterns nur vertauscht wurden. Wirklich ausgefuchste Viren die sich selbst Obfuscaten kannst du so aber auch nicht finden.

1
whgoffline  13.11.2019, 18:21
@PeterKremsner

Ich glaube das größte Problem wird es sein ein große Siganture Listen die normale antivieren Programme benutzen ranzukommen.

1
PeterKremsner  13.11.2019, 18:26
@whgoffline

Ja das auch, aber auch der Algorithmus ist hald nicht ohne, es hat schon einen Grund warum alte Virenscanner nicht all zu erfolgreich sind, selbst wenn sie aktuelle Signaturlisten hätten.

1