Ich habe eine Trace-Anweisung und möchten Funktionsaufrufe und Returns extrahieren.Unterschiede zwischen Call, Push + ret und Push + Jump in Assembly
fand ich, dass außer call
Anweisung, push
+ jmp
und push
+ ret
können für Funktionsaufruf verwendet werden? Zuerst möchte ich sicher sein, dass das korrekt ist? und wenn ja, was sind die Unterschiede zwischen ihnen?
Auch wenn push
+ ret
ist Art von Anruf so was wäre das Ende oder die Rückkehr einer Funktion? Sehen Sie nur ret
ohne push
Anweisung davor?
Ungewöhnliche Variationen davon werden häufig verwendet, wenn der Autor will die wahre Funktionalität des Codes (zum Beispiel Malware und „kopiergeschützte“ kommerzielle Software) verschleiern. –
Ist 'reet' im Wesentlichen nicht 'Pop und springt indirekt zur aufgeplatzten Adresse'? –
@JohnHascall ja es ist ... "duh" meinerseits. : p Ich dachte "no' call', no'ret' ". :) – lurker