Axel Schwenke schrieb im Beitrag ...
Werden einfach so in den Quelltext uebernommen.
Ist ja auch unnoetig. Gut ist es, wenn erneutes Kompileren exakt dieselbe Bytesequenz ergibt, dann muss der Decompiler aber auch die zu verwendende Compilerversion und Optionseinstellungen nennen (macht z.B. HelpDeco)
Ausreichend ist es meist, wenn das Programm noch dasselbe tut :-)
Eigentlich ist decompileren spotteinfach:
Beschreibe jeden Maschinenbefehl in der Hochsprache: LD A,(DE) -> Accu = *DERegister q.e.d.
Natuerlich wuenscht man es sich besser (verstaendlicherer Code), aber beim Erraten der urspruenglichen Kommentare muss der Decompiler spaetestens passen.
Also liegt der erzielbare Zustand irgendwo dazwischen, bei dem was der Decompiler-Schreiber als lesbarer Hochsprache angesehen hat. (o.k, ich kenne noch nicht mal ordentliche Pretty-Printer).
Ein Decompiler ohne Daten- und Programmflussanalysegraph ist sicher untauglich.
Siehe HelpDeco.