Ein ausführbares Programm wird von einem Computerprogramm namens Decompiler in hochsprachigen Quellcode umgewandelt. Im Gegensatz zu einem herkömmlichen Compiler, der Hochsprachen in Maschinensprachen umwandelt, führt ein Decompiler genau das Gegenteil durch. Decompiler gehen einen Schritt weiter und konvertieren den Code in eine höhere Programmiersprache wie C oder Java, was fortschrittlichere Techniken erfordert als Disassembler, die eine ausführbare Datei in Assemblersprache umwandeln. Da Decompiler den ursprünglichen Quellcode nicht vollständig rekonstruieren können, erzeugen sie oft obfuskierten Code. Dennoch bleiben sie ein wichtiges Werkzeug in der Reverse-Engineering von Computersoftware.
Was ist Dekompilierung?