OK, ich versuche es mal einfach zu erklaeren. Ob es mir gelingt, kann ich nicht versprechen
Wenn man mit einer bekannten Programmiersprache wie Pascal oder C oder Basic ein Programm schreibt, kann damit der Rechner oder der Prozessor nichts anfangen. Dieser Programm Code muss uebersetzt (kompiliert) werden in eine prozessorspezifische Sprache, die im Binaerformat vorliegt (*.exe oder *.dll oder *.bin etc.).
Desweiteren existiert eine maschinennahe Programmiersprache "Assembler", mit der man auf sehr tiefem Level verschiedene Kommandos definieren kann, um z.B. direkt auf Speicheradressen zu schreiben oder Befehle eines Prozessor auszufuehren. Aber auch Assembler muss vorher kompiliert werden.
Disassemblieren heisst nun, aus z.B. kompiliertem Pascal Code ein lesbares Assembler Programm zu erstellen. Dieser Schritt ist der einzige Weg, da man aus einer kompilierten Datei (*.exe) nicht mehr zurueck auf den Pascal Quellcode kommt. Wenn man nun den Assembler Code einmal hat, kann man diesen mit viel Wissen (!!!) veraendern und anschliessend wiederum in eine ausfuehrbare Datei kompilieren (assemblieren).