我正在分析我在程序集中编写的一个程序,并且正在考虑在程序集中移动一些代码。我有一个程序需要一个参数,但我不确定它是否通过堆栈或寄存器。将函数的参数传递给堆栈还是寄存器?
当我在IDA打开我的程序临,在程序的第一行是:
ThreadID= dword ptr -4
如果我将鼠标悬停我的光标在声明中,下面还显示:
ThreadID dd ?
r db 4 dup(?)
这我会假设会指向一个堆栈变量?
然而,当我在OllyDbg中打开相同的程序时,在栈上的这个位置存在一个很大的值,这与任何可能已经传递的参数都不一致,导致我相信它被传入一个寄存器。
任何人都可以指向正确的方向吗?
调用约定是__fastcall – samoz 2009-06-10 16:22:44