[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 freesoft00 于 2017-5-7 12:09 编辑

很实用。
说实话,作者搞的图形什么的小程序好是好,但是对像我这样的初级使用者没有太大的需要性。
而向楼上这类软件更具有实用性。
谢谢分享!

TOP

本帖最后由 freesoft00 于 2017-5-7 12:56 编辑

马上测试了一下。说一下测试结果。
例如
PDLL c:\windows\explorer.exe
这样的命令正确
如果我在win7 32位系统,分析64位系统使用的explorer.exe,把这个explorer.exe复制到pdll同目录,执行
PDLL explorer.exe
这样就出错了。无法分析出来。
不知道是否有办法分析非当前系统内的exe和dll。或者可以指定要分析的exe、dll所依赖的系统目录。
例如d:\mount里面是加载的win10系统的所有文件根目录
pdll d:\mount\windows\explorer.exe /s d:\mount
例如用/s指定要分析的系统所在目录。(ldd32.exe这个程序不需要指定,直接可以分析非当前系统的exe、dll依赖文件)
ldd32.exe分析非当前系统都是这样的文件名称列表,没有具体的路径。
  1. KERNEL32.dll
  2. USER32.dll
  3. GDI32.dll
  4. SHCORE.dll
  5. SHLWAPI.dll
  6. SHELL32.dll
  7. UxTheme.dll
  8. dwmapi.dll
  9. TWINAPI.dll
  10. d3d11.dll
  11. dcomp.dll
  12. api-ms-win-core-localization-l1-2-1.dll
  13. api-ms-win-core-path-l1-1-0.dll
复制代码
第二:
PDLL /c c:\windows\explorer.exe
复制文件会复制到c:\windows里面。这样不好,是否可以指定要复制到哪里?
另外可以指定都复制到一个文件夹中,还是可以按目录结构复制(没有的目录创建)

第三:
网上有一个开源的ldd,是vc编译的,原来在谷歌的代码托管处存放,现在不知道还有没有了。主要是国内登录不方便。
那个可以批量执行程序分析,例如
ldd "%windir%\System32\*.exe">winexe.txt
这样会把system32目录所有的exe都分析处理,内容类似这样:
  1. C:\Windows\system32\AdapterTroubleshooter.exe
  2. KERNEL32.dll => C:\Windows\system32\kernel32.dll
  3. USER32.dll => C:\Windows\system32\USER32.dll
  4. d3d9.dll => C:\Windows\system32\d3d9.dll
  5. msvcrt.dll => C:\Windows\system32\msvcrt.dll
  6. ntdll.dll => C:\Windows\SYSTEM32\ntdll.dll
  7. C:\Windows\system32\aitagent.exe
  8. ADVAPI32.dll => C:\Windows\system32\ADVAPI32.dll
  9. AEPIC.dll => C:\Windows\system32\AEPIC.dll
  10. KERNEL32.dll => C:\Windows\system32\kernel32.dll
  11. OLEAUT32.dll => C:\Windows\system32\OLEAUT32.dll
  12. msvcrt.dll => C:\Windows\system32\msvcrt.dll
  13. ntdll.dll => C:\Windows\SYSTEM32\ntdll.dll
  14. ole32.dll => C:\Windows\system32\ole32.dll
  15. profapi.dll => C:\Windows\system32\profapi.dll
  16. sfc.dll => C:\Windows\system32\sfc.dll
  17. C:\Windows\system32\aitstatic.exe
  18. ADVAPI32.dll => C:\Windows\system32\ADVAPI32.dll
  19. KERNEL32.dll => C:\Windows\system32\kernel32.dll
  20. OLEAUT32.dll => C:\Windows\system32\OLEAUT32.dll
  21. SHLWAPI.dll => C:\Windows\system32\SHLWAPI.dll
  22. mscoree.dll => C:\Windows\system32\mscoree.dll
  23. msvcrt.dll => C:\Windows\system32\msvcrt.dll
  24. ntdll.dll => C:\Windows\SYSTEM32\ntdll.dll
  25. ole32.dll => C:\Windows\system32\ole32.dll
复制代码

不好意思,这个第三点是我记错了,因为是看原来的批处理反馈的,再测试发现ldd "%windir%\System32\*.exe"不行,需要通过for遍历exe然后被ldd分析。


第四:
分析结果是否可以指定输出内容,例如只显示依赖的文件列表msvcrt.dll、只显示完成路径列表C:\Windows\system32\msvcrt.dll、完整显示。要不重定向后的txt列表还需要批处理再截取。

其它再测试后反馈。
1

评分人数

TOP

imdisk的作者网站的东西,大部分都是开源的,不知道兄弟是否需要。作者的开源文件地址
http://www.ltr-data.se/files/source.7z
1

评分人数

TOP

回复 10# happy886rr


    https://pan.baidu.com/s/1c1XfLs

TOP

2.PDLL并不是复制到c:\windows下,因为你的命令是PDLL /c c:\windows\explorer.exe,其中/C就代表复制,你后边给的路径就是c:\windows\,它是按你给的路径复制DLL的。本身就支持指定复制路径,但是你给的路径就是c:\windows\。

pdll c:\windows\explorer.exe
pdll /c c:\windows\explorer.exe
这样确实会复制到c:\windows目录。后面的我给的是explorer.exe的具体路径。
如果这样不对,正确的应该如何写呢?
pdll /c c:\windows\explorer.exe d:\str
pdll /c d:\str c:\windows\explorer.exe
pdll /c explorer.exe
都不对呀
除非我把explorer.exe复制到和pdll相同的目录,执行
PDLL /c explorer.exe d:\str
这样好像并不太好,要分析的文件不能写完整路径,只能是文件名而且这就需要其和pdll在一个目录。

另外,
pdll c:\windows\explorer.exe显示的和加/c参数复制的dll文件数量不一样,是怎么回事呢?

TOP

本帖最后由 freesoft00 于 2017-5-7 19:14 编辑

ldd的网址在这个帖子,ldd也是可以分析64位的程序依存的
http://www.bathome.net/viewthread.php?tid=19843&highlight=ldd

ldd32.exe的我也不知道。这类使用少的软件资源不好找。

我下载了一份源代码:
https://pan.baidu.com/s/1mi2YGDa
密码xk8i

TOP

本帖最后由 freesoft00 于 2017-5-7 19:18 编辑

回复 15# happy886rr


    无忧论坛那个制作pe的包里面有这个小程序,最初的出处我也忘记了。
http://bbs.wuyou.net/forum.php?m ... 58&fromuid=1345
在Projects\Tools\MYTOOLS目录中
上面我传了ldd的源码

TOP

你把explorer.exe放D盘,然后

还是需要复制待分析文件的,如果要批量分析system32目录内的所有exe,不可能把所有文件都复制到D盘。

TOP

回复 18# happy886rr


    源代码找到了。我私信给你吧。

TOP

回复 24# happy886rr


    针对64位的dll依存还是不行。
测试系统win7 32位,测试文件win8.1 64位的explorer.exe文件。
新版本提示错误,无法运行,而ldd32没有问题。

TOP

回复 26# happy886rr


还是不行呀。有错误。

TOP

回复 29# happy886rr


    用你的源代码,使用你做的精简的vc编译通过,测试了ping2.exe的依存,因为它需要vc++运行库,系统中没有会弹出错误。
而你一楼给的编译好的pdll就没有问题。可以正确获取依存列表

TOP

回复 37# happy886rr


    这个也ok了。

TOP

返回列表