Was in welches Register geschrieben wird, siehst du am besten mit einem
Debugger (OllyDBG für normalen Code, SoftICE für harte Fälle, musst
natürlich auch die nicht gerade einfache 80x86 Assemblersprache
verstehen) , nicht mit dem Disassembler. Denn alles was ausserhalb der
disassemblierten Datei vorgeht, siehst du nicht im Disassembler.
Bsp: Du versuchst eine DLL zu reversen, dann siehst du im Disassembler
nur den Aufbau der DLL, wenn aber ausserhalb der DLL, im Programm welche
die DLL aufruft, ein Wert auf den Stack geschrieben wird, so siehst du
den Wert natürlich nicht in der disassemblierten DLL. Genauso ists mit
WinAPI Aufrufen, wenn die was im Programm machen, so siehst du das
ebenfalls nich im disassemblierten Programm.
Ganz gemein ists, wenn ein Programm seinen Code modifiziert, dann hilft
dir der Disassembler auch nur bedingt.
Der Disassembler hilft dir, einen Überblick über den Code zu
verschaffen, Rücksprungadressen zu finden etc. Wenn du Geld übrig hast,
kauf dir IDA Pro 5.4, soll echt nett sein, da hast du den Programmfluss
grafisch aufgelistet und zudem ist der Bochs-Emulator integriert, in dem
du quasi jeden Codeschnipfel laufen lassen kannst und dabei sehen
kannst, wie sich die Register und Stack verändern.