kostenloser Webspace werbefrei: lima-city


C++ Quelltext anschauen

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    j*********e

    Hi ich wollte fragen ob es ein Programm gibt das ein mit C++ gecodetes Programm \"zerlegt\" und dann den Quelltext sichtbar macht. Wenn es sowas gibt bitte hier posten.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s********r

    Sowas gibt es schon, nur wahrscheinlich nicht ganz in der Form, in der du dir das vorstellst ;) Erwarte nicht, dass du am Schluss Kopien der .cpp-Files des Entwicklers hast^^ Einen dir passenden Decompiler musst du schon selber suchen; für C++ gibt es soviel ich weiss nicht viel brauchbares Material, aber vielleicht findest du ja etwas passendes.

    http://de.wikipedia.org/wiki/Decompiler
    http://de.wikipedia.org/wiki/Disassembler

    Allerdings sehe ich im Decompilieren sowieso keinen Sinn und gehe davon aus, dass du ein Produkt eines Anderen zu decompilieren. Das ist aus rechtlicher Sicht nicht erlaubt. Du bist du berechtigt, deine eigenen Programme und Opensource-Software zu decompilieren.

    MfG

    sebigisler
  4. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Hi ich wollte fragen ob es ein Programm gibt das ein mit C++ gecodetes Programm \"zerlegt\" und dann den Quelltext sichtbar macht. Wenn es sowas gibt bitte hier posten.


    Wenn du nicht auf andere Weise an den Code kommen kannst (z.B. da es GPL oder von dir selbst ist), ist das wohl kaum erlaubt.

    Des Weiteren gibt\'s zu diesem Thema bereits etliche Beiträge hier, unter anderem mit weiteren Antworten, die ich nicht noch mal tippen möchte ;)
  5. gibt es, aber ist dann nicht so schlüssig der code...
    also es kommt nicht das raus, was der Entwickler vorher als Code eingegeben hat....
  6. Schau mal nach Decompiler, aber rcihtigen Quellcode kannst du nicht erwarten (, das wäre ja zu
    schön :biggrin:)
  7. Autor dieses Themas

    j*********e

    thx ich habe es ausprobiert kommt alles entweder als hex oder garnicht.
  8. h******0

    Das Problem ist das folgende:

    C++ erzeugt in folgenden Schritten dein Programm

    1. Präprozessor: Es bearbeitet grob den Quellcode durch #... Anweisungen

    2. Compiler: Dieser Entfernt Kommentare Funktionsnamen etc. und erzeugt binären Code bzw. Assembler Code, welchen du durchs Decompilen erhalten kannst.

    3. Linker: Fügt die Compiler Ergebnisse zum Programm zusammen

    Das Problem des Decompilens liegt bei 2.

    Da der Compiler alles lesbare entfernt und nur binären Maschinencode erzeugt, wirst du keine Funktionsnamen etc. aus dem Nix erhalten können.

    das Ergebnis des Decompilers ist Maschinencode, welcher meiner Meinung nach nur von Pro`s gelesen werden kann.
  9. m******s


    Das Problem ist das folgende:

    C++ erzeugt in folgenden Schritten dein Programm

    1. Präprozessor: Es bearbeitet grob den Quellcode durch #... Anweisungen

    2. Compiler: Dieser Entfernt Kommentare Funktionsnamen etc. und erzeugt binären Code bzw. Assembler Code, welchen du durchs Decompilen erhalten kannst.

    3. Linker: Fügt die Compiler Ergebnisse zum Programm zusammen

    Das Problem des Decompilens liegt bei 2.

    Da der Compiler alles lesbare entfernt und nur binären Maschinencode erzeugt, wirst du keine Funktionsnamen etc. aus dem Nix erhalten können.

    das Ergebnis des Decompilers ist Maschinencode, welcher meiner Meinung nach nur von Pro`s gelesen werden kann.


    Es wäre aber theoretisch ein Decompiler denkbar, der zufällige Variablen und Funktionsnamen erzeugt (oder entsprechend Schema var1, var2, ... und function1, function2, function3,...) Und anschließend den erzeugten Code nach festgelegten Regeln formatiert (schon jetzt übernehmen viele IDEs die Formatierung des Codes automatisch). Also, das ist IMHO kein Argument gegen einen Decompiler, der sollte eigentlich auch lesbaren Code erzeugen könenn (wobei ich nicht weiß, ob es solche Decompiler schon gibt).
  10. Bei C++ stellt sich auch das problem der Objektorientierten programmierung, die bei Assembler nicht vorhanden ist. Das heißt der Compiler übersetzt die Objekte ersteinmal ein ein komplexes System aus Einsprungspunkten und ähnlichem. dabei können auch noch verschiedene Funktionen usw mehrfach vorkommen. Das ganze ist so nicht wieder rekonstruierbar.
    Wo kein OOP möglich ist, kann auch keines Rekonstruiert werden. (In diesem Fall.)
  11. nicolas-alessandro

    nicolas-alessandro hat kostenlosen Webspace.

    mit so einem programm koenntest du reich werden :) allerdings wirst du maximal auf assembler-ebene kommen...
    bei java/c# sieht die sache anders aus
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!