Veröffentlicht 13. April 200322 j Hallo zusammen, ich werd immer wieder danach gefragt und inzwischen interressiert es mich auch brennend. wie findet man bei einer exe datei herraus in welcher sprache sie geschrieben ist? danke im vorraus Gruß Pico
13. April 200322 j Pauschal lässt sich das nicht feststellen. Das PE-Dateiformat beinhaltet AFAIK keine diesbezüglichen Informationen. Allerdings können die DLLs, die das Programm braucht, Hinweise geben. Mit dem Dependency Walker (gibts beim Visual Studio 6 oder hier) kann man sich die abhängigen DLLs anzeigen lassen. MSVCRT.DLL oder MSVCRTD.DLL sind ein eindeutiges Indiz für Visual C++, bei VB-Programmen sollte eigentlich immer eine VBRUN*.DLL dabei sein. .NET-Programme brauchen immer MSCOREE.DLL. Eine Unterscheidung zwischen den einzelnen .NET-Sprachen könnte schwierig werden.
14. April 200322 j Autor ich hatte mir auch mal was von disassemblen sagen lassen, was hat das damit zu tun? ist das nicht nur auf eine sprache bezogen?
14. April 200322 j Hallo, durch das Disassbemblieren erzeugst Du aus einer binaer-Datei (ausfuehrbarer Datei, Objektfile, Bibiothek) mehr oder weniger lesbaren Assembler Code. Es gibt verschiedene Merkmale an denen man erkennen kann, welche Sprache verwendet wurde. Eine 100% sichere Methode gibts aber nicht. Einige Compiler schreiben eine Kennung in den Datei-Header die eindeutig ist, die Funktions- und Symbolnamen koennen - sofern vorhanden - ebenfalls weiter helfen (C++ Demangling ist recht leicht zu erkennen), Ein- und Ausstiegspunkte in Funktionen und die Parameteruebergabe sind zum Teil ebenfalls compileraebhaengig. Nic
16. April 200322 j Hi in älteren Versionen von VB und Delphi (hier bin ich mir aber nicht sicher), steht das sogar im klartext in der *.exe .. Aber ich denke das ist von den einstellungen des linkers abhängig.. aber du kannst ja einfach mal eine binäre file nehmen und die mit nem hex-editor öffnen.... am assemblercode eine Programmiersprache zu erkennen ist fast unmöglich. Alleine der Visual C Compiler hat zig optionen zur optimierung der erueugten codes... Im Debug-Mode ist der code klar, nur wenn man den z.B. Geschwinidgkeitsoptimiert Compiliert, machen die in Assemlber ganz wilde sachen mit Sprungtabellen und co. sich da durch zuwühlen macht echt keinen spaß.. Gruß Taz
16. April 200322 j Original geschrieben von TAZttDevil nur wenn man den z.B. Geschwinidgkeitsoptimiert Compiliert, machen die in Assemlber ganz wilde sachen mit Sprungtabellen Gerade daran kann man unter Umständen sehr leicht erkennen, welcher Compiler eingesetzt wurde, da die Optimierungsmechanismen stark compilerabhängig sind. Beispielsweise ob und wie ein Loopunrolling vorgenommen wurde, wie die Entry- und Leave-Statements von Funktionen aussehen und wie Sprünge und Funktionsaufrufe realisiert sind (Optimierung von Stack-Layouts, Registerverwendung, etc). Nic
16. April 200322 j ...mal blöd dazwischen gefunkt... wenn jemand die EXE rausgibt, ohne sie vorher zu verschlüsseln, kann man den Code bei VB und den anderen "Scriptsprachen" (Aua, nicht hauen ) eh in der EXE direkt lesen. :mod: Daraus lässt sich schon einiges zurück schliessen... Gruss, der Onkel
16. April 200322 j Hallo, ich glaube, Du bringst da einige Dinge durcheinander. Eine Skriptsprache ist nicht mit compiliertem Code vergleichbar. Ausführbare Dateien werden üblicherweise nicht verschlüsselt. Nic
18. April 200322 j ..durcheinander? Ich denke nicht... mach mal ne VB-Exe mit Notepad auf. Das mit der Scriptsprache war natürlich nicht ernst gemeint, sonst würde es nicht in ' " ' stehen.. ;-) Gruss, der Onkel
18. April 200322 j Hi, wie Du den Code mittels Notepad von VB .exe Dateien lesen willst musst Du mir noch mal zeigen. Man kann damit erkennen das es sich definitiv um ein VB-Programm handelt und man kann auch noch den einen oder anderen Namen der Steuerelemte im Klartext lesen. Auch den einen oder anderen Befehl kann man erkennen aber man kann nicht den Code in Klartext lesen. Gruß
19. April 200322 j ...drück ich mich irgendwie unklar aus? :confused: Ich habe nie behauptet, dass man den ganzen Sourcecode direkt auslesen kann, oder? Man kann nur Sourcecode lesen, und in den meisten Fällen reicht... mehr dachte ich eigentlich nicht geschrieben zu haben... verwirrt, der Onkel
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.