Hi Ich hab 2003 ein kleines überschauberes Programm auf VisualBasic erstellt. Es ist leider nur noch die .exe vorhanden. Gibt es eine Möglichkeit, auch wenn nur ansatzweise den SourceCode wiederherzustellen, damit ich nicht von 0 anfangen muss?
Kein Ahnung ob das funktioniert aber vielleicht mal mit der kostenlosen Version ausprobieren? https://www.vb-decompiler.org/
Dirk K. schrieb: > Welches VisualBasic hast du verwendet? soweit ich mich erinnern kann war es MS VB
Robby schrieb: > Gibt es eine Möglichkeit, auch wenn nur ansatzweise den SourceCode > wiederherzustellen, damit ich nicht von 0 anfangen muss? Probier's mal damit: https://github.com/NationalSecurityAgency/ghidra Assemblercode dürfte drin sein, bezüglich dem ursprünglichen VB Sourcecode würde ich mir keine großen Hoffnungen machen. Wenn du also VB Code brauchst, dann schreib neu. Solltest du VB.Net verwendet haben, könnten deine Chancen, das zu rekonstruieren, größer sein. Der Frage von Dirk K. schließe ich mich an.
Robby schrieb: >> Welches VisualBasic hast du verwendet? > soweit ich mich erinnern kann war es MS VB VisualBasic ist immer von MS. Relevant ist: VB3, VB6 oder VB.net?
Oder einfach das Programm hier einstellen, dann kann man es dir direkt zerlegen.
Erst mal gründlich auf Deiner Festplatte/Backup gesucht? dir /s deineQuelle
oszi40 schrieb: > Erst mal gründlich auf Deiner Festplatte/Backup gesucht? der war gut :) hab seitdem mindestens 7 Laptops verschlissen. Der Laptop von damals liegt vermutlich nun auf einem Schrottplatz in Nigeria.. zur Programmierumgebung: es war VB6 DB Decompiler ist schon mal nicht schlecht. Der konnte die exe zerlegen, allerdings sehe ich in der Demo nur den Assemblercode. Bin grad am Überlegen ob mir die Pro Version die 99€ wert ist, bzw. ob ich sie in Zukunft nochmal einsetzen würde/könnte. Wie ich in einigen Videos sehen konnte, liefert diese einen ganz vernünftigen VB Code. Wundert mich eigentlich... wird dieser aufgrund des Assemblercodes zusammengebastelt oder ist der VB Code in der exe hinterlegt?
Robby schrieb: > oszi40 schrieb: >> Erst mal gründlich auf Deiner Festplatte/Backup gesucht? > > der war gut :) > hab seitdem mindestens 7 Laptops verschlissen. Der Laptop von damals > liegt vermutlich nun auf einem Schrottplatz in Nigeria.. Hast du keine Backups? > Wundert mich eigentlich... wird dieser aufgrund des Assemblercodes > zusammengebastelt oder ist der VB Code in der exe hinterlegt? Da ich nie in VB programmiert habe, weiß ich nicht wie das bei VB genau gelöst ist, aber vielleicht sind noch Debug Symbole in der exe? Wie umfangreich ist das Programm überhaupt und was macht das Programm?
Robby schrieb: > Wundert mich eigentlich... wird dieser aufgrund des Assemblercodes > zusammengebastelt oder ist der VB Code in der exe hinterlegt? Bei VB3 wurde der Quelltext tatsächlich in der EXE hinterlegt (darum fragte ich nach!) und mit einer Runtime zusammengelinkt. Bei VB6 ist das allerdings nicht mehr der Fall. Da es allerdings nur einen einzigen Compiler für VB6 gibt, kann man einen Decompiler speziell für dessen Codegenerator entwickeln. Insbesondere, wenn der Compiler nicht zu krassen Optimierungen neigt.
S. R. schrieb: > Bei VB6 ist das allerdings nicht mehr der Fall. Da es allerdings nur > einen einzigen Compiler für VB6 gibt, kann man einen Decompiler speziell > für dessen Codegenerator entwickeln. Insbesondere, wenn der Compiler > nicht zu krassen Optimierungen neigt. Tut er nicht, die typischen Pattern schreien einen förmlich an... Aber: Es gab speziell für VB6 so'ne Art Code-Obfuscatoren, meist kombiniert mit einem Packer und diversen Anti-Debugger-Tricks (also bis auf den speziellen Obfuscator die üblichen Sachen, die ganz allgemein für Executables eingesetzt wurden und werden, um das RE zu erschweren). Wurde sowas angewandt, wird's natürlich komplizierter. Aber da das Programm ja vom TO selber stammt, sollte er wissen, ob er sowas angewandt hat...
Hier gibts noch Infos zu den Binaries, die mit VB6 erstellt werden können: https://qiil.io/Documentation/Native%20Code%20VS%20PCode.pdf merciless
S. R. schrieb: > ei VB6 ist das allerdings nicht mehr der Fall. Da es allerdings nur > einen einzigen Compiler für VB6 gibt, kann man einen Decompiler speziell > für dessen Codegenerator entwickeln. Insbesondere, wenn der Compiler > nicht zu krassen Optimierungen neigt. Es hängt davon wie du das compiliert hast (native/p-code). Wenn ich nicht ganz falsch liege, dann war der default p-code. Sprich du solltest das durch einen decompiler schicken können... eine suche nach "vb6 p-code decompiler" bringt z.B. das hier zu vorschein: http://progress-tools.x10.mx/p32dasm.html 73
Glaub mir es ist 1000 x schwerer durch das Ergebnis was ein DE-Compiler abliefert durch zublicken als es mal eben neu zu schreiben. Einfachstes Beispiel. Die Variablen-Namen stimmen nicht. Der De-Compiler setzt nämlich einfach neue, weil ein Compiler die auch nicht wirklich braucht in "Reintext". Da steht dann nicht "dim Ergebnis_von_Berechnung as integer" sondern "dim erx3 as integer" . Und das geht nicht nur mit Namen von Variablen sondern auch mit Subs / Namen von Objekten etc weiter. Und das alles auseinander zu pflügen, ist eine Aufgabe für :"jemand der Vater + Mutter gekillt hat" Ich schreibe es schneller neu, als mir das auch nur ansatzweise an zu tuen. Selbst wenn es mein eigene Code wäre, würde ich kaum durchblicken. Und DAS soll was heißen. Gruß Pucki
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.