是否有任何免費的本地Windows DLL導出函數查看器,它顯示函數名稱以及它們的參數列表?是否有任何本機DLL導出函數查看器?
回答
您可以使用Dependency Walker來查看函數名稱。 只有在裝飾後才能看到該功能的參數。 閱讀常見問題解答如下:
如何查看參數和返回類型的函數? 對於大多數功能,這些信息根本不存在於模塊中。 Windows的模塊文件格式只提供一個文本字符串來標識每個函數。沒有結構化的方式來列出參數數量,參數類型或返回類型。然而,一些語言做了一些叫做「修飾」或「修飾」的功能,這是將信息編碼到文本字符串中的過程。例如,像簡單修飾編碼的int Foo(int,int)這樣的函數可能會被導出爲_Foo @ 8。 8表示參數使用的字節數。如果使用C++裝飾,該函數將被導出爲?Foo @@ YGHHH @ Z,它可以直接解碼回函數的原始原型:int Foo(int,int)。 Dependency Walker通過使用Undecorate C++ Functions Command支持C++ undecoration。
不確定其參數列表,但following TotalCommander plugin是非常有用的。
如果你沒有源代碼和API文檔,機器碼就是一切,你需要拆開使用類似IDA Pro的dll庫,另一個選擇是使用PE Explorer試用版。
PE Explorer提供反彙編程序。只有一種方法可以找出參數:運行反彙編程序並閱讀反彙編輸出。不幸的是,這個反向工程接口的任務不能自動完成。 PE資源管理器捆綁了39個不同庫的描述,其中包括核心Windows®操作系統庫(例如KERNEL32,GDI32,USER32,SHELL32,WSOCK32),關鍵圖形庫(DDRAW,OPENGL32)等。在Visual Studio命令提示
這與Nirsoft DLL Export Viewer有何不同? – Pacerier 2017-04-29 23:21:22
DUMPBIN:
C:\用戶\安德魯\ src2011 \加密\ cspsdk> DUMPBIN /出口csp.dll
微軟(R)COFF/PE Dumper版本10.00.30319.01 版權所有(C)Microsoft Corporation。版權所有。
文件類型的文件csp.dll的轉儲:DLL
段包含CSP.dll
00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
0.00 version
1 ordinal base
25 number of functions
25 number of names
ordinal hint RVA name
1 0 00001470 CPAcquireContext
2 1 000014B0 CPCreateHash
3 2 00001520 CPDecrypt
4 3 000014B0 CPDeriveKey
5 4 00001590 CPDestroyHash
6 5 00001590 CPDestroyKey
7 6 00001560 CPEncrypt
8 7 00001520 CPExportKey
9 8 00001490 CPGenKey
10 9 000015B0 CPGenRandom
11 A 000014D0 CPGetHashParam
12 B 000014D0 CPGetKeyParam
13 C 00001500 CPGetProvParam
14 D 000015C0 CPGetUserKey
15 E 00001580 CPHashData
16 F 000014F0 CPHashSessionKey
17 10 00001540 CPImportKey
18 11 00001590 CPReleaseContext
19 12 00001580 CPSetHashParam
20 13 00001580 CPSetKeyParam
21 14 000014F0 CPSetProvParam
22 15 00001520 CPSignHash
23 16 000015A0 CPVerifySignature
24 17 00001060 DllRegisterServer
25 18 00001000 DllUnregisterServer
摘要
1000 .data
1000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
注意不要意外執行'dumpbin/export'(最後缺少's'),這是一個完全不同的命令。 – 2013-04-17 01:07:14
我忘記了dumpbin,每六個月左右就必須查找一次這個答案。謝謝! – tofutim 2013-12-05 18:09:29
DLL Export Viewer以下出口NirSoft能用於在DLL中顯示導出的函數。
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
- 1. JavaScript函數查看任何文本是否在HTML元素中
- 2. 如何查看DLL函數?
- 3. 如何直接調用從DLL導出的本機函數?
- 4. 如何導出dll函數?
- 5. 查看是否有任何QTips可見?
- 6. 是否有本地文檔查看器?
- 7. 從.net DLL導出本地C函數?
- 8. 報告查看器是否可以導出爲excel並將數據導出爲數字而不是文本?
- 9. 是否有DLL沒有DLLMain函數?
- 10. 看看是否有任何應用程序有加載的GAC的DLL
- 11. flash中是否有任何web查看器as3?
- 12. WPF中是否有任何FlowDocument差異查看器?
- 13. 如何查看錶單中是否有任何數據Django
- 14. 是否有任何GMP對數函數?
- 15. 是否有PHP函數或變量給出本地主機名?
- 16. 如何測試以查看計算機是否安裝了Excel(任何版本)?
- 17. 是否有任何理由Object.freeze函數?
- 18. 是否有必要關心調用不從dll導出的函數的約定
- 19. 是否有任何引發內置異常的本機PHP函數?
- 20. 列出一個DLL的導出函數
- 21. 如何「檢查」函數是否真的給出隨機結果?
- 22. 導出的數據集XML查看器
- 23. 函數來查看變量是否有值,但它是零
- 24. 是否有任何「Pos」函數來查找字節?
- 25. C中是否有任何庫函數來檢查Internet連接?
- 26. 是否有可能在一個DLL中的導出函數返回一個導出類的靜態成員?
- 27. 是否有任何Rails函數來檢查部分是否存在?
- 28. 可以調用DLL函數卸載DLL是否有dontcopy標誌?
- 29. 如何查看是否有任何計時器線程正在運行
- 30. 是否有Python函數檢查發生器是否啓動?
謝謝,但是當我嘗試打開任何DLL時,它顯示在日誌窗口中: 錯誤:由於隱式依賴模塊中缺少導出功能,至少有一個模塊具有未解析的導入。 錯誤:找到具有不同CPU類型的模塊。 警告:未找到至少一個延遲加載依賴項模塊。 警告:由於延遲加載相關模塊中缺少導出功能,因此至少有一個模塊具有未解析的導入。 – 2009-10-10 18:17:38
我正在使用Windows 7 x64 Final。 – 2009-10-10 18:21:24
@Alon:嗯,你的應用程序是安靜的搞砸了:)第一個錯誤表明你的一些dll是爲32位系統編譯的,而一些是爲64位編譯的。你只能在相同的進程中使用相同的CPU架構加載dll。只要應用程序正在處理它們,您就可以忍受其他兩個錯誤。 – 2009-10-10 18:25:32