Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

1

22.01.2010, 21:18

Dekompilieren ;)

Gibt es sowas?
Ich hab gehört bei Java geht es und gefragt ob ich auch meine C++ .exe wieder dekompilieren kann?
Eigentlich wär das ja ein Dreck sonst könnte mal die Top-Spiele wieder dekompilieren und einfach was verändern.
Dazu glaube ich ja das es immer einen Rückweg gibt, der bloß hier vielleicht zu laaaaaaaaaaaaaange dauert.
if(Der Absatz oben==true)
{
Wie lange dauert dann es bei einen simplen Hello-World-App
}

MfG

ich1994

2

22.01.2010, 21:29

Es geht ein wenig, aber eigentlich nicht wirklich. C++ Code kann man quasi vergessen, wenn kriegt man eher C Code. Außerdem kann man unmöglich irgendwelche Namen wiederherstellen, genauso wenig wie Templates.
Gut, wenn im Code noch sämtliche Debuginformationen stecken, kann man einiges mehr rausholen, aber das hat man ja in der Regel nicht.

-> Das was hinten rauskommt ist nur ein wenig besser als Assembler, Spaß wird das in der Regel keinen machen.
Lieber dumm fragen, als dumm bleiben!

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

3

22.01.2010, 21:32

Die Antwort ist "Jain". Das dürfte deiner if-Abfrage nicht gefallen ;)

Man kann quasi jedes Programm vom Maschinencode in lesbaren Assemblercode übersetzen http://en.wikipedia.org/wiki/Disassembler

Es gibt auch Projekte die das ganze in funktionierenden C code übersetzen, jedoch ist das nicht wirklich "gut" lesbar, da in den Binaries von C/C++ Programmen kaum Typinformationen über die Namen von Variablen, Parametern, etc vorhanden sind.

4

23.01.2010, 10:49

Zitat

nst könnte mal die Top-Spiele wieder dekompilieren

Dafür gibts Lizenzen, die das ausdrücklich verbieten ;)

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

5

23.01.2010, 11:12

Zitat von »"E122"«

Zitat

nst könnte mal die Top-Spiele wieder dekompilieren

Dafür gibts Lizenzen, die das ausdrücklich verbieten ;)


heißt nicht das man das nicht machen kann

6

23.01.2010, 11:16

Zitat

heißt nicht das man das nicht machen kann

Hab ich das behauptet ;)

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

23.01.2010, 11:48

Ich denke es kommt auch auf den Optimierungsgrad des Compilers an.
In C++ hat man ja oft Sachen, welche dann während des Compilens einfach mal verschwinden und zur Laufzeit keinen Einfluss mehr haben. (die ganze Metaprogrammierung z.B). Alleine schon das macht es denke ich beinahe unmöglich aus Binärcode C++ Code zu machen.
Maximal C - Code, aber ich denke, dass auch das bei einer hohen Optimierungsstufe sehr schwer wird.
Assemblercode kannst du dir natürlich immer anschauen, aber mehr als ein paar kleine Sachen rauspicken willst du bei einem modernen Spiel nicht.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

8

23.01.2010, 16:24

Wenn noch alle Debuginformationen vorhanden sind, kann man tatsächlich den exakten C-Code, auch mit variablennamen, zum grßteil wiederherstellen, da sehr viele Informationen über Variablen und Programmteile vorhanden sind.
Aber bei einem Spiel im Release kannst du das Vergessen... auch wird dir eine Rückübersetzung in C nicht viel bringen, da man die Variablen höchstens 'variable1' 'variable2' etc. nennen kann
=> keine Chance, das zu verstehen.

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

unsigned long

Treue Seele

Beiträge: 140

Wohnort: Herzogenrath

Beruf: Fachinformatiker Fachrichtung Anwendungsentwicklung

  • Private Nachricht senden

9

23.01.2010, 17:08

Aus einem kompilierten Programm wieder C++ Code zu machen ist so, als würde man aus Hackfleisch ein Rind wieder zusammenstellen wollen das wieder rumgrast und Milch gibt.

Daher denke ich hat sich das Thema erledigt.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

10

23.01.2010, 17:14

Zitat von »"unsigned long"«

Aus einem kompilierten Programm wieder C++ Code zu machen ist so, als würde man aus Hackfleisch ein Rind wieder zusammenstellen wollen das wieder rumgrast und Milch gibt.

Ein sprichwörtlich köstlicher Vergleich. :lol:

Werbeanzeige