Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
x64 アセンブリ プロシージャのエントリ コードが次のとおりであるとします。
push rsi push r12 sub rsp,48
さて、 PROC の本体でこれらの各値を見つけるにはどうすればよいですか:
1)第1パラメータ 2)第3パラメータ 3)第5パラメータ 4)第7パラメータ
スタックを描いたり説明したりしていただければ、理解するのに非常に役立ちます。
Windows x64 呼び出し規約から:
最初の 4 つの整数またはポインター引数は、、、、およびで左から右に渡されRCXます。これらのレジスタがいっぱいになると、他のすべてがスタックに置かれます (最初の 4 つの浮動小数点引数を除く)。RDXR8R9
RCX
RDX
R8
R9
コードがどのように呼び出されるかがわからないため、そのプロローグから引数を推測することはできません。そこにあるものを見つけるためにそれを呼び出すコードを調べる必要があります.2つのpushesはおそらく破壊されたレジスタを保存しているだけです.
push