バグを解決しながら、私は2つのWin64 DLLのインポートジャンプテーブルの違いに気づいた。 kernel32.dll
の64ビットバージョンは、そのインポートジャンプテーブルにplain FF25
jmp命令を使用します。一方、advapi32.dll
の64ビットバージョンは48FF25
を使用し、jmpオペコードの前に接頭辞REX.w=1
を示します。しかし、両方ともRIP +オフセットアドレスを指定する32ビットオペランドを持つようです。AMD64の前にREX.w接頭辞の意味jmp(FF25)
この特定のオペコードにREX.wというプレフィックスの意味はありますか?
私は機械コードで頻繁に作業しているわけではありませんので、実際の間違いをお許しください。
インテルのドキュメントに記載されています。 –
それはIntelのマニュアルには載っていないし、私が持っている逆アセンブラもそれを理解できない。私は 'rex.w'はちょうど無視されると思います。 – Jester