1
有沒有什麼辦法可以確定在MS Visual Studio 2005(C++)中內置的DLL是在調試中編譯還是在版本中使用python?確定是否在調試或釋放與python內建dll
我知道VS能夠加載DLL並顯示一些元數據存儲此信息的清單。任何python模塊都可以做到這一點嗎?
另一種選擇是識別此dll對其他dll的依賴關係,並查找僅用於調試的dll:msvcr80 D .dll,如果可能的話。
有沒有什麼辦法可以確定在MS Visual Studio 2005(C++)中內置的DLL是在調試中編譯還是在版本中使用python?確定是否在調試或釋放與python內建dll
我知道VS能夠加載DLL並顯示一些元數據存儲此信息的清單。任何python模塊都可以做到這一點嗎?
另一種選擇是識別此dll對其他dll的依賴關係,並查找僅用於調試的dll:msvcr80 D .dll,如果可能的話。
Pefile可以幫助您解析PE可執行文件。您可以在項目頁面上找到一些用法examples。
關於你問題的第二部分,你可以做這樣的事情來獲取DLL的依賴項列表(從例子中獲取):
import pefile
path_to_dll = r"path_to_your_dll"
pe = pefile.PE(path_to_dll, fast_load=True)
# If the PE file was loaded using the fast_load=True argument, we will need to parse the data directories:
pe.parse_data_directories()
for entry in pe.DIRECTORY_ENTRY_IMPORT:
print entry.dll
在我來說,我得到了以下的輸出: KERNEL32 .dll, MSVCP80D.dll, MSVCR80D.dll, ADVAPI32.dll。