2015-05-25 24 views

回答

1

你可以得到最接近的是通過逆向工程(使用調試器)之前找到所需的內存大小調用一個構造函數,也許你可以找出哪些成員用於(以及繼承和其他好處),但除了導出的函數外,絕對不會有正確的名稱。它可能有用,但這是一項艱鉅的任務。

+0

Dll中是否有導出類的符號?我可以使用一些API來通過符號獲取導出類地址嗎? – ZeroLiShu

+0

可能不是,並且絕對不是標準的必需功能。可以將這些數據包含在dll資源中,但這將是一個非常尷尬的共享定義方法。不要指望這樣的東西可用。 – Amit

0
+0

謝謝,但我想在我的程序中使用導出類,而不僅僅是查看它們。 – ZeroLiShu

+0

這對您有幫助嗎?這些工具中的任何一個都會暴露一個類的結構嗎?成員或所需的內存分配是否會被貶低? – Amit

+0

好的,所以你想要的是對一個DLL進行逆向工程,我已經在過去做過,這一切都取決於如何創建DLL,所以沒有單一的銀彈,你可以看看http:// reverseengineering。 stackexchange.com/questions/2134/get-the-function-prototypes-from-an-unknown-dll –

0

有兩種方法可以從DLL中導出函數。 1)顯式鏈接對DLL 2)隱式連接到DLL

1)如果你要使用的是通過使用第一種方法 創建DLL,您將需要

  • .h文件中
  • 。 DLL文件
  • .bin文件

2)如果你想使用的是通過使用第二種方法創建DLL你需要

  • .DLL文件只

在第二種情況下,你需要 - 自己 加載DLL - 計算功能解決自己 - > GetProcAddress的() - 卸載DLL自己

如果您有DLL,並且不知道它正在導出哪些類或函數 - 使用Dumpsbin和/ Exports選項可以知道所有導出的函數。

請讓我知道我是否澄清你的

相關問題