exe.

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

exe.

Beitrag von X360 Andy »

Gibt es eig. irgendein weg eine .exe auszulesen ?

Wenn ich eine exe in den Editor schiebe bekomme ich ja nen "ewig langen und für mich sinnlosen erscheinenden Code" aber könnte man die "Maschinensprache" nicht auch Lernen ?
Bzw den QuellCode so herausfinden und umschreiben ?

Oder gibts da Programme etc. ?

Nur mal so als Info würde mich das Interessieren...

:lurk:
Benutzeravatar
Knight_Rider_2000
Beiträge: 145
Registriert: 05.02.2007 20:46
Kontaktdaten:

Beitrag von Knight_Rider_2000 »

ASSEMBLER
PB 4.20,Blitz3D 1.98,Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2008 Professional
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

.exe

Beitrag von X360 Andy »

doppelpost....
Zuletzt geändert von X360 Andy am 30.08.2008 00:52, insgesamt 1-mal geändert.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

eine EXE ist ein BinaryFile, das heißt, jeder Wert hat eine bestimmte Bedeutung, die nicht ein druckbares zeichen ist.

am Anfang kommt der Header, den findest du im Internet, wie der Aussieht,
was die Daten bedeuten und wie lang er ist bis zum Einsprungpunkt für den Prozessor.

ab diesem Einsprungpunkt dann bedeuten die Zahlen OP-Codes (OperationsCodes) für den Prozessor.
dabei entspricht eine Gruppe einiger Byte der direkten Übersetzung eines Assemblerbefehls mit seinen Argumenten.

die Code-Segmente können dann mit Daten-Segmenten vermischt sein,
aber wie von KN2K angedeutet, das Schlagwort "Assembler" führt dich auf den weiteren Weg,
und eine Beschreibung des EXE-Formats die du auch online finden kannst führt dich weiter.
die Idee mit einem Texteditor zu schaun ist abwegig, ein HEX-Editor ist da sinnvoller.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

Kaeru Gaman hat geschrieben:
die Code-Segmente können dann mit Daten-Segmenten vermischt sein,
aber wie von KN2K angedeutet, das Schlagwort "Assembler" führt dich auf den weiteren Weg,
und eine Beschreibung des EXE-Formats die du auch online finden kannst führt dich weiter.
die Idee mit einem Texteditor zu schaun ist abwegig, ein HEX-Editor ist da sinnvoller.
Also wäre es möglich, ein Programm zu Kopieren ?
// Edit:
Ich less es grad selbst....das es oftmals nur auf dem eigenen Rechner Funktioniert...oder man schreibt es um...


Hab grad gemerkt das mein PC richtig kreativ ist, was der alles für Muster anzeigt..... :lol:
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Knight_Rider_2000 hat geschrieben:ASSEMBLER
Braucht man da nicht einen Disassembler?
Ein Assembler kompiliert doch ASM in Maschinencode. Oder irre ich mich da? :?

Wegen dem Thema: Ich finde das voll interesannt, wie man Maschinencode wieder lesen könnte. Also ich meine so Disassembler oder Decompiler gibts ja nicht gerade wie Sand am Meer. :mrgreen:
BildBildBildBild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Disassembler ist korrekt. Die gibts aber wie Sand am Meere, ist sogar in
PB integriert, in der OnError Lib :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

ts-soft hat geschrieben:Disassembler ist korrekt. Die gibts aber wie Sand am Meere, ist sogar in
PB integriert, in der OnError Lib :wink:
Mit der OnError-Lib von PB kann man andere Proggs Disassembeln (Oder wie man das schreibt/nennt :mrgreen: )?
Also auch fremde Programme, die selbst programmiert wurden. :?
BildBildBildBild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn Du sie in den Speicher lädst, ja. Hab ich selber in DLL2PBLib
angewendet, um die Anzahl der Funktionsparameter einer DLL zu ermitteln.

Natürlich bietet ein externer Disassembler mehr Funktionen und Komfort,
aber zur Not gehts auch damit.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

X360 Andy hat geschrieben: Also wäre es möglich, ein Programm zu Kopieren ?
Was meinst du mit Kopieren? Ich nehme mal an du meinst nicht eine Datei kopieren, wohl eher Code aus dem Programm klauen. Wenn du das meinst, das ist möglich. Nennt sich Code Ripping. Wird in der Cracking und Hacking Szene angewand. Ist aber nur in sehr speziellen Fällen angebracht/sinnvoll. Z.B. wenn man einen Verschlüsslungsalgo nachbilden möchte.
X360 Andy hat geschrieben: Ich less es grad selbst....das es oftmals nur auf dem eigenen Rechner Funktioniert...oder man schreibt es um...
Das verstehe ich jetzt garnicht. Scheint mir vollkommen aus dem Zusammenhang gerissen zu sein, der Satz.

Ein generelles Umschreiben eines kompilierten Programms (.exe) ist möglich aber sehr aufwendig und zeitintensiv. Beispiele für die praktische Anwendung sind z.b. inoffizielle Patches zu Spielen, von Fans gemacht. Da wäre der Fallout 2 Patch (hab den genauen Namen des Patches vergessen), Master of Orion 1.40 Patch (ein sehr gutes Beispiel, der Patch fügt dem Spiel sogar neue Feature hinzu) und den Sacred Underworld 2.29 Patch (von mir :) ) und noch einige weitere.

Falls du dich weiter in die Richtung beschäftigen willst kann ich dir nur OllyDbg empfehlen. Nur mit Disassembler kommt man net weit, bzw hats extrem schwer, da man den Code weitestgehend nachvollziehen und verstehen muss. Mit einem Debugger kannst du dir die für deine Zwecke relevanten Codeteile raussuchen ohne das ganze analysieren zu müssen.

http://www.ollydbg.de/ Der ist extrem gut und kostenlos.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten