找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: happy886rr

查询、复制可执行模块DLL依赖PDLL.EXE

[复制链接]
发表于 2017-5-12 12:31:49 | 显示全部楼层
By the way, Powershell 也可以查看 dll:
  1. Start-Process -PassThru calc.exe | Get-Process -Module
复制代码
和 tasklist /m 差不多,但 tasklist 不能保证百分百命中
这个用法得先打开进程
好处是炒鸡全面,可以看到系统自动引用的 dll,以及进程在运行中动态加载的 dll
用途不同,马克一下
 楼主| 发表于 2017-5-12 12:51:15 | 显示全部楼层
回复 31# CrLf
不错,不过没RVA地址,直接pdll /i calc.exe连用了哪个库的什么函数都能列出来,包括编号、虚拟地址。不过vs的调试工具,或者peid也带了这项功能。
发表于 2017-5-12 14:34:31 | 显示全部楼层
本帖最后由 CrLf 于 2017-5-12 14:36 编辑

回复 32# happy886rr


    pdll.exe C:\WINDOWS\System32\calc.exe
得到结果:
SHELL32.DLL      FROM    C:\WINDOWS\SYSTEM32\SHELL32.DLL
KERNEL32.DLL     FROM    C:\WINDOWS\SYSTEM32\KERNEL32.DLL
MSVCRT.DLL       FROM    C:\WINDOWS\SYSTEM32\MSVCRT.DLL
ADVAPI32.DLL     FROM    C:\WINDOWS\SYSTEM32\ADVAPI32.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-1.DLL
API-MS-WIN-CORE-SYNCH-L1-2-0.DLL
API-MS-WIN-CORE-PROCESSTHREADS-L1-1-2.DLL
API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL

话说最后那几个 dll 是啥,全盘搜索都没有...
居然不影响运行
 楼主| 发表于 2017-5-12 16:48:26 | 显示全部楼层
本帖最后由 happy886rr 于 2017-5-12 16:50 编辑

回复 33# CrLf
最后那几个,我估计是软链接吧。但是我的win7提示的dll跟你的不一样。
pdll.exe C:\WINDOWS\System32\calc.exe

  1. SHELL32.DLL      FROM    C:\WINDOWS\SYSTEM32\SHELL32.DLL
  2. SHLWAPI.DLL      FROM    C:\WINDOWS\SYSTEM32\SHLWAPI.DLL
  3. GDIPLUS.DLL      FROM    C:\WINDOWS\WINSXS\X86_MICROSOFT.WINDOWS.GDIPLUS_6595B64144CCF1DF_1.1.7601.19061_NONE_72D6D48D86649709\GDIPLUS.DLL
  4. ADVAPI32.DLL     FROM    C:\WINDOWS\SYSTEM32\ADVAPI32.DLL
  5. OLEAUT32.DLL     FROM    C:\WINDOWS\SYSTEM32\OLEAUT32.DLL
  6. UXTHEME.DLL      FROM    C:\WINDOWS\SYSTEM32\UXTHEME.DLL
  7. OLE32.DLL        FROM    C:\WINDOWS\SYSTEM32\OLE32.DLL
  8. COMCTL32.DLL     FROM    C:\WINDOWS\WINSXS\X86_MICROSOFT.WINDOWS.COMMON-CONTROLS_6595B64144CCF1DF_5.82.7601.18837_NONE_EC86B8D6858EC0BC\COMCTL32.DLL
  9. NTDLL.DLL        FROM    C:\WINDOWS\SYSTEM32\NTDLL.DLL
  10. KERNEL32.DLL     FROM    C:\WINDOWS\SYSTEM32\KERNEL32.DLL
  11. USER32.DLL       FROM    C:\WINDOWS\SYSTEM32\USER32.DLL
  12. RPCRT4.DLL       FROM    C:\WINDOWS\SYSTEM32\RPCRT4.DLL
  13. WINMM.DLL        FROM    C:\WINDOWS\SYSTEM32\WINMM.DLL
  14. VERSION.DLL      FROM    C:\WINDOWS\SYSTEM32\VERSION.DLL
  15. GDI32.DLL        FROM    C:\WINDOWS\SYSTEM32\GDI32.DLL
  16. MSVCRT.DLL       FROM    C:\WINDOWS\SYSTEM32\MSVCRT.DLL
复制代码
发表于 2017-5-12 17:03:59 | 显示全部楼层
回复 34# happy886rr


    噢,我是win10,那个是磁贴应用
发表于 2017-5-21 22:46:47 | 显示全部楼层
回复 29# happy886rr


    用你的源代码,使用你做的精简的vc编译通过,测试了ping2.exe的依存,因为它需要vc++运行库,系统中没有会弹出错误。
而你一楼给的编译好的pdll就没有问题。可以正确获取依存列表
 楼主| 发表于 2017-5-21 22:51:50 | 显示全部楼层
回复 36# freesoft00
那个编译器是VS里的,把/MD改为/MT就是会生成不依赖任何dll的单文件exe。
发表于 2017-5-21 22:53:53 | 显示全部楼层
回复 37# happy886rr


    这个也ok了。
 楼主| 发表于 2017-5-21 22:55:33 | 显示全部楼层
回复 38# freesoft00
我的代码几乎都能用那个vc++2010精简版编译出来,参数、细节你都可以自己修改,从而调配出最佳的exe。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:13 , Processed in 0.018282 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表