Programmiersprache erkennen

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Radinator.

    Programmiersprache erkennen

    Frage steht eh in der Überschrift: Kann man irgendiwe anhand des Programmcodes erkennen, in welcher Sprache eine .exe geschrieben ist? Oder gibt es eine Website, die einem verrät, in was da gecodet wurde. Ich mein es gibt ja schon seiten wo man die Exe hochladen kann und die Seite sagt die dann den Quellcode (showmycode.com).
    Ich mein damit dass ich meinetwegen die Editor.exe aufmache und dann irgendwie erkenne: Ist die in C oder C++ oder C# geschrieben. Oder gibt es da keine möglichkeit?
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Du kannst bestimmte Sachen erkennen.
    Für alle .Net-Sprachen (also VB.Net, C#, C++/CLI , F#, J# und was es sonst noch so gibt) lässt sich erkennen, dass es eine .Net-Sprache war, denn alle diese Sprachen kompilieren nach IL. Allerdings lässt sich pauschal nicht sagen, welche dieser Sprachen es war, man könnte höchstens nach Charakteristika der verschiedenen Compiler suchen, sowas hab ich allerdings noch nirgends gesehen.
    Auch Java lässt sich erkennen, denn das kompiliert zu Java-Bytecode.
    Flash ist noch auf dieser Seite genannt, auch das kompiliert zu etwas spezifischem, da kenn ich mich aber nicht gut genug aus.
    Für native Sprachen wie C oder C++ aber auch z.B. Pascal/Delphi lässt sich eine solche Aussage grundsätzlich nicht treffen. Alle diese Sprachen kompilieren zu Maschinencode, wodurch man die Endprodukte nicht unterscheiden kann. Was hier aber wiederum geht, ist, nach Charakteristika von bestimmten Compilern zu suchen (dafür gibt es diverse Tools, wie z.B. das oben genannte PEiD). Manche tragen sich sogar in der Assembly ein, was es dann natürlich einfach macht.
    Ha cool...danke!
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell