Hallo guten Morgen,
ich habe ein problem habe mal ein Programm in VB Net 2003 geschrieben als C++
nun habe ich das Programm aber leider den Quellcode Sourccode nicht mehr!
Frage an euch gibt es einen Decompiler oder Disammbler womit ich diese Datei
wieder decompilieren kann?
Danke schon mal für eure Tipps im voraus
viele grüße
Mücke
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Das glaube ich nicht, daß es sowas gibt.
Dann könnte man ja jedes Programm knacken.
Es gibt wohl einen Disambler, aber was Du dann bekommst ist Maschinensprache.
Zu Zeiten C64 (Commodore 64) hat es mal einen Disambler für Basic gegeben.
wobei die frage bleibt ob VB wirklich kompiliert wird. Für MS Quickbasic gab es einen Decompiler, weil die QBasic Programme eigentlich nur in einen Stub verpackt wurden, das Programm selbst lag in Binärkodierung aber immer mit im Stub bei. Da VB die logische Entwicklung aus QB ist, wäre es denkbar dass hier immernoch "nur" zur laufzeit interpretiert wird.
Andererseits sollten VB Programme ja disassemblierbar sein(zu recht weiten teilen) da VB Programme eigentlich nur ein Sprachkonstrukt für die Winapi sind. Die Ganzen Calls auf die Systemfunktionen lassen sich also mit einem Disassembler der Symbolische Calls auswerten kann revertieren, woraus man einen zu weiten teilen originalen Code bekommen _könnte_.
Das Problem dabei werden dann wohl die Komponenten für die Forms etc sein.
Er schreibt nicht VB sondern VB Net 2003 genauer gesagt schreibt er
"ein Programm in VB Net 2003 geschrieben als C++"
was ich nicht verstehe ..
Wenns allerdings VB NET 2003 ist dann heisst da IL Code
und da gibts Tools das zu dekompilieren.
Blöderweise ist mit der Name gerade entfallen :(
Hallo danke euch für die vielen Antworten.
Ich meine VB Net C++
wie heißen diese Tools zum dekompilieren?
warum gibt es probleme mit den forms?
Gruß
Mücke
Weil das was du in der oberfläche von VB .NET zusammenklickst als Oberfläche für dein Programm unter der haube ein riesiger haufen code ist, den VB von selbst generiert.
Wegen Programmen dazu, nun, ich habe für meinen teil gelernt backups von sourcen anzulegen, daher kann ich dir da kaum helfen. Es dürfte auch wenig hersteller geben, die sowas professionell anbieten, einfach wegen der rechtlichen unsicherheit. Also würde ich mal google bemühen.
Also das Tool das ein dekompilieren bei .NET erschweren soll
ist ein sogenannter Dosfuctator. Such doch mal bei Google
und schau ob einen Hinweis findest wie man ein .NET Prog wieder aufbohren kann.
(Kranke Idee: Ich glaube Visio konnte das)
Bei VB.NET hat man meines Wissens genau so Zugriff auf den Designer-Code
wie bei C#. (Im Gegensatz zu VB6)
Ob der jeweilge Decompiler einen Formular Editor hat ist was anderes.
Hallo!
Du meinst sicher einen Obfuscator: http://de.wikipedia.org/wiki/Obfuscator
Gruss
ChrE
Ach du schaizze :D ich werde mich bemühen in besoffenem Zustand keine Postings mehr zu verfassen.
Falls es eine .NET Framework Applikation ist, dann
ist es mit dem .NET Reflector rekompilierbar:
http://www.red-gate.com/products/reflector/
Danke für die Tipps!
Ist auch möglich ein Programm von VB6 zu dekompilieren?
Im Prinzip schon, allerdings wirst du nicht mehr herausbekommen als hässlichen Assemblercode. Variablennamen wirst du gar nicht mehr rekonstruieren können.
Also einen ziemlich unleserlichen Codebrei :)
Laut Wikipedia ist der Reflector ein Decompiler, der wird keinen Assembler liefern, aber ein funktionsgleiches C-Programm. Wenn deine Applikation noch debugsymbole hat kriegst du aber u.U. sogar deine eigenen variablennamen raus
Seine Frage bezog sich auf native VB 6 Programme.
gibt es auch einen c++ decompiler?
wenn ja wie heißt der?
Gibt es.
http://boomerang.sourceforge.net
Aber wie schon erwähnt gibt es höchstens C oder Assembler-"Brei".
C++ daraus zu rekonstruieren ist keineswegs unmöglich, aber nicht automatisiert zu lösen. Je nach Größe und Komplexität des Programms würde ich mit mehreren Mannmonaten rechnen.
Frägst du eigentlich nur aus Interesse oder ist die Sourcecode flöten gegangen? ;)