2012-03-07 47 views
0

我需要通過解析PE來列出所有導入的函數。 如果一個exe或dll隱式鏈接dll(使用導入庫),我可以從導入表中獲取所有調用的函數。但是,如果任何DLL或EXE顯式鏈接一個DLL(使用LoadLibrary和getProcAddress),那麼導入表將不會顯式鏈接該DLL的條目。如果使用LoadLibrary顯式鏈接dll,則從PE文件列出導入的函數

請讓我知道如何獲取所有外部函數的列表(使用getProcAddress),當明確加載dll時。

感謝和問候, 基蘭

回答

1

沒有辦法那是100%可靠的。基本上,您可以設置一些內容來監視哪些參數在運行時會傳遞給LoadLibraryGetProcAddress以查看您找到的內容 - 但您需要知道,用戶在執行過程中所做的選擇可能會影響顯示的內容。

它也可以根據配置文件的內容,在任意目錄中找到的文件等內容(例如,加載目錄X中的所有DLL,並在每個文件中調用initialize_plugin())進行更改。

相關問題