3
我遇到了一些問題。我會試着爲我的機器上的所有進程獲取所有模塊(dll文件)。我試圖在CMD中執行此命令:tasklist沒有列出64個系統中的所有模塊
tasklist /m
但是這是64位系統的問題。如果你`重新64位機器上運行32位PROGRAMM它沒有列出所有模塊,只
ntdll.dll, wow64.dll, wow64win.dll, wow64cpu.dll
然後我試着用Python腳本來做到這一點,使用pywin32(WIN32API)。
這是代碼:
import win32security,win32file,win32api,ntsecuritycon,win32con,win32process
processes = win32process.EnumProcesses()
for pid in processes:
dll_list = []
try:
if pid:
print('pid:', pid)
ph = win32api.OpenProcess(win32con.MAXIMUM_ALLOWED, False, pid)
dll = win32process.EnumProcessModules(ph)
for dll_name in dll:
dll_name_norm = win32process.GetModuleFileNameEx(ph, dll_name)
dll_list.append(dll_name_norm)
print("dll_list: ", dll_list)
print("--------------")
except:
print("Error")
print("--------------")
但結果是一樣的。 =( 請幫助我,我如何可以看到所有的dll文件,加載每個進程。
PS它可以只是標準的Windows工具,如命令行,任務列表(不ListDlls,進程資源管理器或相同的東西)或Python腳本。
謝謝你很多!
phihag,謝謝!所有的工作很好! Ctypes - rulezzz =) – user2319786