2011-01-09 59 views
1


假設我有一個稱爲「Overflow.dll」的函數,名爲「Overflow.dll」,但我沒有它的PDB。
我知道我可以用「GetProcAddress」得到它開始的地址,但是我能以某種方式得到它結束的地址或它的大小嗎?
(C++在windows中)沒有PDB的符號函數

我問這個的原因是我有一個地址,我想知道它是否在我的具體功能。所以,我認爲(和請糾正我,如果我錯了),該地址在我的函數,如果:
StartAddress < =我的地址< = EndAddress

謝謝:)

回答

0

所以我認爲(並請糾正我,如果我錯了)

我在「糾正」。問題在於你的函數本身沒有函數調用是極不可能的。例如,該位置可能位於您的函數調用的printf調用中,但指令指針不在您的函數本身中。

假設您知道函數中只有一個返回值,您可以爲x86指令實現一個解析器,該指令查找返回指令以查找結束地址。如果你不知道只有一個回報,那麼你需要PDB。

+0

沒關係。我也走棧,所以我只能看一堆地址。 – Idov 2011-01-09 19:55:06