Dateien aus einer *.exe Datei auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Hallo,
Ich würde gerne wissen wie man dateien aus einer exe Datei auslesen kann, wen nes überhaupt möglich ist. Ich stelle mir da folgendes vor:

Code: Alles auswählen

def lies(datei):
        datei=str(datei)
	fobj=open(datei,"r")
	for line in fobj:
		print line
das funktioniert bei text dateien und bei Python Dateien aber nicht bei *-exe Dateien. Da ergibt sich dann folgendes:

Code: Alles auswählen

MZミ
$
:roll:
Wenn es eine Möglichkeit gibt, dort eine Menschliche Sprache heraus kommen zu lassen, bitte ich um eine Antwort! :D
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Es funktioniert doch auch bei .exe-Dateien, wie du siehst. Nur was soll da denn rauskommen? Also was willst du eigentlich auslesen? Außerdem liest das keine "Dateien", sondern Zeilen, was bei einer Textdatei irgendwo Sinn ergibt, bei einer Binärdatei jedoch eher weniger.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Nein bis jetzt noch nicht.
Danke für die Seite
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Unter Windows funktioniert das mit dem Programm debug.exe, bei Unix-Systemen ist meistens das Tool hexdump vorhanden. Siehe auch http://de.wikipedia.org/wiki/Hexdump#Hexdump und http://www.wer-weiss-was.de/theme9/article940005.html
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Die Frage ist ja eigentlich: was erwartest du aus Programmen auszulesen? Was willst du da sehen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Weiß ich auch nicht so genau, ich schätze mal, eine Sprache wie C++ oder so...
Ich habs mal ausprobiert und dann kam soetwas dabei heraus.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Von der Programmiersprache wirst du nichts mehr sehen, generell wirst du wohl eher nichts verwertbares bekommen.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Das habe ich gemerkt :?
Gibt es denn irgenteine Möglichkeit das zu konveriteren wie "exe2py" :lol: oder so, damit man das lesen kann?
OverNord
User
Beiträge: 72
Registriert: Donnerstag 24. Januar 2008, 11:59
Kontaktdaten:

Du suchst also einen Decompiler?
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ja so in etwa.
Oder ist das in Deutschland verboten???
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nicht generell, jedoch etwas besseres als Assembler-Code kannst du nicht erwarten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Du kannst für dich natürlich alles mögliche dekompilieren nur veröffentlichen solltest du es nicht.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ok, danke, dass ist zwar nicht das was ich erwarted habe, aber es reicht mir.
Nur noch eine Frage:
py2exe convertiert dann *py in Assembler?
BlackJack

@INFACT: Nein, py2exe packt ein Python Programm zusammen mit Interpreter und allem was man sonst so benötigt in eine EXE-Datei.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ich dachte eine exe datei ist assembler...???
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

.exe beschreibt nichts anderes als ein Windows executable. Die Endung für Assembler ist .asm . Eine exe ist aber nie Assemblercode, sondern (meist ;)) Maschinencode.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ah, Ok aber jetzt habe ich es verstanden. ;)
lunar

Leonidas hat geschrieben:Nicht generell, jedoch etwas besseres als Assembler-Code kannst du nicht erwarten.
Doch, eigentlich schon generell. Erlaubt ist es nur, wenn es der Herstellung der Interoperabilität dient oder im Lizenzvertrag explizit erlaubt wurde.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Doch, eigentlich schon generell. Erlaubt ist es nur, wenn es der Herstellung der Interoperabilität dient oder im Lizenzvertrag explizit erlaubt wurde.
Oder es Freie Software ist. Die ja auf Windows durchaus auch ab und zu vorkommt. Also "nicht generell".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten