Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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

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

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

...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

..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

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ß

...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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.