2013-04-12 58 views
-2

我想查詢從DLL以下信息存儲:查詢DLL的佈局信息

    入口點(的DllMain?!)
  • 的dll
  • 的代碼部分的地址和大小的
  • 確切地址的每個導出函數

的入口點

  • 地址我用GetModuleInformation()從PSAPI函數,來查詢的入口點。但根據MSDN的說法,「這不是DllMain函數的地址。」

    是否有任何庫/ API來查詢這些信息?

    我需要一個通用的方式來查詢這個信息,這是不依賴於硬編碼字符串或什麼的。

  • +2

    你想解決什麼問題? –

    +0

    他不知道如何得到這個信息,他問是否可以幫助 – 4pie0

    +1

    不知道你的結局是在這裏,但要注意在新版本的Windows上,你的結果可能在運行之間不一樣,即使相同的二進制。 Windows具有從Vista開始的ASLR(地址空間佈局隨機化)默認啓用。 –

    回答

    0

    入口點將返回GetModuleInformation()

    如果導出DllMain,請使用GetProcAddress()

    根據你拒絕的答案,我或多或少地對你實際上想要做的事情有所損失。如果你解釋你正在努力完成的任務,你更有可能獲得有意義的幫助。

    +0

    「DllMain」始終是輸入函數的名稱還是可以更改名稱? – user2252343

    +0

    @ user2252343 - 可以爲入口點使用不同的名稱。確切的方法取決於你的鏈接器。 – Unsigned

    +0

    不幸的是,我需要一個更通用的方式,不依賴於鏈接器。但是,無論如何感謝:) – user2252343