如何分析一個陌生的DLL檔案?
如果你希望在什麼說明檔案都沒有的情況下調用DLL的函式,那么你不會成功,因為DLL中只包括函式的名字,不包括函式的參數和調用方法這樣的信息。使用VC的dumpbin(在Bin目錄中)或Delphi的TDump,你可以得到DLL中包括哪些函式,但這些函式是什麼意義、怎么調用是無法知道的。
在資源管理器里右擊滑鼠,選快速查看(QuickView)也能看到dll的導出函式。遺憾的是也沒辦法看到用法。(註:Windows默認是不安裝QuickView的,如果想安裝需要從控制臺選擇“添加/刪除程式”添加QuickView)
用TDump.exe(delphi5里有)可以將該dll的信息導出到其他檔案中。用法:
tdump my.dll a.txt
or
tdump my.dll > a.txt
然後可以查看a.txt檔案
一個辦法是利用命令行工具Dumpbin(在Bin目錄中),當使用/EXPORTS參數,你可以看到DLL中有哪些函式。另一個辦法是使用VC++ 6.0以上版本的工具Dependency Walker,這個工具很容易使用,也可以看到其中有哪些函式可用。但是不管哪個工具都只能知道有哪些函式,而不能知道如何調用這些函式。