2011-01-09 17 views
1


"Overflow"というDLLに "Overflow"という名前の関数がありますが、そのPDBはありません。
「GetProcAddress」で始まるアドレスを取得できることはわかっていますが、終了するアドレスやサイズをどうにか取得できますか?
(WindowsのC++)PDBなしのシンボル機能

私がこれを尋ねる理由は、私にはアドレスがあり、それが自分の特定の機能の中にあるかどうかを知りたいからです。 < = EndAddress

感謝:)

答えて

0

は、だから私は仮定(
開始アドレス< =マイアドレス:だから私は(私が間違っている場合は、私を修正してください)アドレスがあれば、私の関数であると仮定します私が間違っている場合は私を修正してください)

私は "訂正しています"。問題は、あなたの関数がそれ自身の中に関数呼び出しを持っていない可能性は非常に低いということです。たとえば、位置は関数によって呼び出されるprintf呼び出しの内部にある可能性がありますが、命令ポインタは関数自体にはありません。

関数に戻り値が1つしかないことがわかっていると仮定すると、戻り命令を検索して終了アドレスを検索するx86命令用のパーサを実装できます。あなたは1つのリターンがあることを知らない場合は、あなたはPDBが必要です。

+0

大丈夫です。私もスタックを歩くので、たくさんのアドレスを調べることができます。 – Idov

関連する問題