我正在分析我在程序集中編寫的一個程序,並且正在考慮在程序集中移動一些代碼。我有一個程序需要一個參數,但我不確定它是否通過堆棧或寄存器。將函數的參數傳遞給堆棧還是寄存器?
當我在IDA打開我的程序臨,在程序的第一行是:
ThreadID= dword ptr -4
如果我將鼠標懸停我的光標在聲明中,下面還顯示:
ThreadID dd ?
r db 4 dup(?)
這我會假設會指向一個堆棧變量?
然而,當我在OllyDbg中打開相同的程序時,在棧上的這個位置存在一個很大的值,這與任何可能已經傳遞的參數都不一致,導致我相信它被傳入一個寄存器。
任何人都可以指向正確的方向嗎?
調用約定是__fastcall – samoz 2009-06-10 16:22:44