user3365
2013-12-18 20:02:25 UTC
利用波動性檢查內存轉儲中的services.exe進程,我建立了一個在進程空間中加載的dll列表。 (這些模塊來自InLoadOrder模塊列表)
這只是摘錄(完整列表: http://pastie.org/8560797):
0x5b860000 netapi32.dllFileObject @ 8a3cb028,名稱:\ WINDOWS \ system32 \ netapi32.dll0x77f60000 shlwapi.dllFileObject @ 8a3e0df0,名稱:\ WINDOWS \ system32 \ shlwapi.dll
可以看到進程中已加載shlwapi.dll。感謝DependencyWalker(查看services.exe的導入),我發現了shlwapi.dll的加載方式。 (->表示導入) netapi.dll-> dnsapi.dll-> iphlpapi.dll-> mprapi.dll-> setupapi.dll-> shlapi.dll
但僅netapi.dll已加載。 dnsapi.dll未加載,在InLoadOrder模塊列表中沒有該條目,也沒有加載上述“依賴鏈”中的任何其他dll。
這不僅適用於shlapi.dll,而且適用於許多其他已加載的dll。例如:shell32.dll,psapi.dll ...都不會僅在services.exe進程中發生。
為什麼將這些dll加載到進程中?非常感謝您的幫助!