Autor |
Beitrag |
Claros
Hält's aus hier
Beiträge: 1
|
Verfasst: Mi 21.04.10 23:10
hallo ihr,
ich muss gleich vorweg sagen ich bin wirklich ein delphinoob und leider habe ich nichts verständliches über google finden können.
kann man ein programm das in delphi 4 geschrieben wurde dekompilieren bzw dissemblen oder hat das bei delphi absolut gar nichts zu suchen?
bitte nicht gleich mit der keule schwingen, aber in dem bereich kenne ich mich wirklich null aus.
sollte, sowas möglich sein ist es mit sicherheit so aufwendig wie bei c++? oder ist der delphi 4 code nur mit base64 verschlüsselt? was kostet sowas?
danke schon mal für eure hilfe
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 21.04.10 23:41
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Do 22.04.10 00:26
Delphi ist gar nicht verschlüsselt, Delphi ist kompiliert. Das heißt der Quelltext wurde zu maschienenlesbaren Code umgewandelt. Es gibt zwar Programme die das können, aber die können das nur Teilweise und nicht sehr gut. Wie aufwendig das in C++ ist weiß ich nicht, ich habe bis jetzt nur Javacodes dekompiliert, da gehts relativ einfach, da können sogar die Variablennamen wiederhergestellt werden.
Eines der (auch hier im Forum oft verwendeter) Programme ist DeDe. Damit bekommst du allerdings die Methoden als Assamblercode, was etwas schwer werden könnte manchmal das programm dann zu lesen, vor allem wenn man keinen Assambler kann.
BTW, wie hast du gesucht? Mein erster Treffer bei Google hat mit ne Liste von 4-5 Programmen geliefert.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 22.04.10 12:49
Moin!
Ich zitiere mal Luckie: Das entspricht der Aufgabe, aus einem Kilo Halb und Halb wieder das Schwein und die Kuh zu machen.
Aber - und das ist heute neu - zumindest für Schweine habe ich eine Lösung...

Einloggen, um Attachments anzusehen!
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Do 22.04.10 13:34
Anders ausgedrückt: Wenn jemand wirklich an deinen einzigartigen Algorithmus gelangen oder deinen Kopierschutz cracken will (das dürften so ziemlich die einzigen Programme sein, die überhaupt schützenswert sind  ), dann liegt der Unterschied zwischen C und Javascript vielleicht noch in der benötigten Zeit, aber sicher nicht der Machbarkeit.
@ Narses: Die Drachenrolle finde ich da allerdings etwas ästhetischer  . Und ich identifiziere meine Programme lieber mit Drachen als mit Schweinen  .
_________________ >λ=
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Do 22.04.10 16:03
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Do 22.04.10 16:11
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Do 22.04.10 16:45
Jakob_Ullmann hat folgendes geschrieben : | elundril: Es ist aber auch irgendwo ein Unterschied, ob man Bytecode oder richtigen Maschinencode disassemblieren will. |
richtig, deswegen auch die Anmerkung das man mit DeDe den Code nicht komplett wiederherstellen kann. Das mit Java war nur so eine Anmerkung nebenbei, die eigentlich nichts mit dem Thema zu tun hat^^
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 22.04.10 19:23
Narses hat folgendes geschrieben : | Ich zitiere mal Luckie: Das entspricht der Aufgabe, aus einem Kilo Halb und Halb wieder das Schwein und die Kuh zu machen.  |
Und da es immer aus dem Zusammenhang gerissen wird, hier mal eine Erklärung. Moderne Compiler erzeugen hoch optimierten Code. Würde man den optimierten Code wieder zurückübersetzen, würde man seinen eignen Code nicht wiedererkennen. Bei der Optimierung schmeißt der Compiler ziemlich viel weg. Und das kann man nicht wieder herstellen. Zum anderen ist der erzeugte Maschinen Code Hochsprachen unabhängig. Das heißt, man kann nicht sagen, dieses Programm wurde mit C geschrieben oder dieses mit Delphi. davon mal abgesehen, dass es auch nur unzählige Compiler mit Dutzenden Konfigurationsmöglichkeiten gibt, die wiederum leicht abweichenden Maschinencode erzeugen können. Und genauso verhält es sich mit dem gehackten halb und halb. Das ist nämlich auch zum Verzehr hoch optimiert. Knochen und Innereien und alles andere, was da nicht rein gehört, wurden vom Metzger (Compiler) weg optimiert.
Das aller höchste an Gefühlen ist Assembler Code, der aber meist nicht direkt compilierbar ist und die Ressourcen. Den Code einer Hochsprache wirst du nicht rausbekommen.
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Do 22.04.10 20:00
Man kann meistens schon feststellen ob der Code in C bzw Delphi geschrieben wurde, das ist sogar relativ einfach mit dem Programm PEid möglich.
Und mit der neusten IDA Version kann man glaub ich den Code auch wieder compilieren, d.h. den Assembler Code abändern.
Und rein zur Frage: man kann es disassemblen aber nicht decompilieren, genaueres siehe wikipedia
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 22.04.10 20:09
uall@ogc hat folgendes geschrieben : | Man kann meistens schon feststellen ob der Code in C bzw Delphi geschrieben wurde, das ist sogar relativ einfach mit dem Programm PEid möglich. |
Aber das Programm orientiert sich nicht an dem erzeugten Maschinencode, sondern an von Compiler eincompilierten Markierungen oder wie man das nennen will.
Zitat: | Und mit der neusten IDA Version kann man glaub ich den Code auch wieder compilieren, d.h. den Assembler Code abändern. |
Das ist aber nicht ganz billig. 
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Fr 23.04.10 07:51
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 29.04.10 10:51
Der Vollständigkeit halber ergänze ich an dieser Stelle einfach mal REC Auch den Links dort folgen.
Man kann also durchaus aus Assembler wieder Hochsprache generieren, aber das ist extrem komplex und lohnt sich daher nur in Ausnahmefällen.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|