Zitat Zitat von Römer
gibt es jetzt Disassemblierer für C?
Falls überhaupt, wird das Ergebnis dich enttäuschen.
  1. Was im Programm abgeht wirst du nicht blicken (ebenso viel oder wenig wie bei Assembler): block reordering, common subexpression elimination, scalar replacement of aggregates, insn scheduling und zig anderer Optimierungen, von denen man nicht mal den Name richtig aussprechen kann führen zu einem Assembler-Code, bei dem praktisch kein Zusammenhang mit der Quelle -- selbst wenn diese vorhanden ist! -- mehr erkennbar ist.
  2. Auch wenn du den Code nur haben willst, um auf eine andere Plattform zu portieren, wirst du damit ziemlich sicher auf die Nase fallen.
  3. Das exe enthält wie gesagt keine Symbolinfos (Variablen- und Funktionsnamen) mehr -- ausnehme, das exe wirde nicht gestrippt. Vielleicht hast du Glück und jemand, der keine Ahnung hat, hat das exe erzeugt. Ist aber unwahrscheinlich.
  4. Codeabschnitte, die der Compiler weggeworfen hat (bedingtes Compilieren, common subexpresion elimination, constant propagation, dead code elimination, constant folding, ...) wirst du niemals nicht decompiliert bekommen. Schlicht und einfach deshalb, weil sieser Code nicht in der exe gelandet ist.