我想使用 PEfile 或其他 Python 库来枚举所有模块。我以为我有它,但后来我进入了 WinDbg,因为一些明显的缺失,我看到有很多缺失的。对于 filezilla.exe:00400000 00fe7000 image00400000 image0040000001c70000 01ecc000 combase C:\WINDOWS\SysWOW64\combase.dll6f590000 6f5ac000 SRVCLI C:\WINDOWS\SysWOW64\SRVCLI.DLL6f640000 6f844000 COMCTL32 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17134.472_none_42ecd1cc44e43e73\COMCTL32.DLL70610000 7061b000 NETUTILS C:\WINDOWS\SysWOW64\NETUTILS.DLL70720000 70733000 NETAPI32 C:\WINDOWS\SysWOW64\NETAPI32.dll72910000 72933000 winmmbase C:\WINDOWS\SysWOW64\winmmbase.dll729d0000 729d8000 WSOCK32 C:\WINDOWS\SysWOW64\WSOCK32.DLL72b40000 72b64000 WINMM C:\WINDOWS\SysWOW64\WINMM.DLL72b70000 72b88000 MPR C:\WINDOWS\SysWOW64\MPR.DLL73c60000 73c6a000 CRYPTBASE C:\WINDOWS\SysWOW64\CRYPTBASE.dll73c70000 73c90000 SspiCli C:\WINDOWS\SysWOW64\SspiCli.dll74120000 741b6000 OLEAUT32 C:\WINDOWS\SysWOW64\OLEAUT32.dll741c0000 7477a000 windows_storage C:\WINDOWS\SysWOW64\windows.storage.dll74780000 7487c000 ole32 C:\WINDOWS\SysWOW64\ole32.dll74880000 74908000 shcore C:\WINDOWS\SysWOW64\shcore.dll74910000 7498d000 msvcp_win C:\WINDOWS\SysWOW64\msvcp_win.dll74990000 74a4f000 msvcrt C:\WINDOWS\SysWOW64\msvcrt.dll74a50000 74a72000 GDI32 C:\WINDOWS\SysWOW64\GDI32.dll74bd0000 74bde000 MSASN1 C:\WINDOWS\SysWOW64\MSASN1.dll74be0000 74c47000 WS2_32 C:\WINDOWS\SysWOW64\WS2_32.dll74c70000 74d30000 RPCRT4 C:\WINDOWS\SysWOW64\RPCRT4.dll74d30000 74d37000 Normaliz C:\WINDOWS\SysWOW64\Normaliz.dll74d40000 74d79000 cfgmgr32 C:\WINDOWS\SysWOW64\cfgmgr32.dll74fe0000 75025000 powrprof C:\WINDOWS\SysWOW64\powrprof.dllPefile 中是否还有其他内容我应该查看以获得将要加载的模块的更完整列表?win32api 或 win32con 中有什么东西可以让我得到这个信息吗?如果可能的话,我更喜欢 pefile,但两者都可以。我需要能够输出将加载的所有模块的列表。我在 Python 中工作,对改变不灵活。
2 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
模块可以通过多种方式加载到进程中。导入的 DLL 只是一种方式。
导入的 DLL 也可以为自己导入 DLL。
foobar.exe
可能取决于user32.dll
,但user32.dll
反过来也取决于kernel32.dll
将加载到您的流程中。如果您需要完整列表,您可能需要检查导入的 DLL 是否为可执行文件的依赖项。模块可以在代码中动态加载
LoadLibrary()
。您不会在导入目录中看到那些。您必须为此反汇编代码,即使这样,库名称也可以即时生成,因此很难说。还有一些不受支持的加载模块的方法可供恶意软件使用。
正如评论中提到的,通过调试 API 获取已加载模块的列表可能更简单。但这一切都取决于您实际尝试使用这些数据做什么。
添加回答
举报
0/150
提交
取消