![12ff5791ff9d532b17e416c18774ce09.png](https://i-blog.csdnimg.cn/blog_migrate/dacefe80a483680b8db0267fe3a293a2.png)
点击蓝字 关注我们
ListDLLs是一种用来展示进程中加载的DLL的实用工具。您可以用它列出所有进程、一个特定进程加载的所有DLL,或列出一个加载了特定DLL的进程。ListDLLs也可以显示完整版本的DLL, 包括他们的数字签名信息, 或者可以用来扫描无签名DLL的进程。
DLL是Dynamic Link Library的缩写, 意为动态链接库。在Windows中, 许多应用程序并不是一个完整的可执行文件, 它们被分割成一些相对独立的动态链接库, 即DLL文件, 放置于系统中.当我们执行某一个程序时, 相应的DLL文件就会被调用。一个应用程序可有多个DLL文件, 一个DLL文件也可能被几个应用程序所共用, 这样的DLL文件被称为共享DLL文件。
![108e3fa7615ed72c1df3adb826271b67.png](https://i-blog.csdnimg.cn/blog_migrate/87ad66c73da0b7103715547e3bf491a6.png)
那么DLL文件怎么打开呢? 常规下DLL是不能打开的, 如果您还是想打开, 可以使用一些软件开发或反编译功能, 比如DLL函数查看器, 但最好只读而不建议修改. 如果您不小心删除了DLL文件或修改了DLL文件的内容, 可能会导某些程序无法打开或运行错误,提示没有DLL文件.在企业的生产环境中千万不要做这样冒失的事情,如果你非要尝试我们也只建议你在试验环境先测试. 如果真的出问题了,这时可以使用Listdlls.exe列出exe程序所依赖的DLL及其版本信息, 然后通过排错定位后添加一个“健康”的DLL文件到指定的调用位置来保障程序的正常运行, 这样往往后解决问题。当然这个修复场景是DLL“丢失或损坏”,即原来它是有的也是可能正常引用的;如果场景是新开发的程序来新环境中试用,而要调用的DLL“缺失”了,那么就不是复制粘贴那么简单了,还需要先在系统中注册这个DLL,然后才能调用它。至于如何注册一个DLL到window系统中或你有更多的兴趣了解DLL,可以去百度一下,这里就不占用时间和篇幅来过多的介绍相关知识了。
Well, 在跟随我们的演示进行操作练习之前,请先从以下地址来下载工具:
https://download.sysinternals.com/files/ListDlls.zip
目前版本为: 3.2.
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![0df75637b57bd1414d6e0eed8b17b358.png](https://i-blog.csdnimg.cn/blog_migrate/3d4a480a583ba511a67a6f1cf8eec76f.png)
运行平台:
Client: Windows Vista and higher
Server: Windows Server 2008 and higher
Nano Server: 2016 and higher
和其他的Sysinternals 工具一样,Listdlls下载后仅需要解压即可以直接运行,压缩包中提供了2个版本,你可以根据需要要使用。
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![db4422b4aa2b15079e820e0454fd64a5.png](https://i-blog.csdnimg.cn/blog_migrate/e7bc875b529ff2fb217aea86e43c3409.png)
为了方便的调用你新下载的工具,可以把它放到系统环境变量中Path参数包含的任意路径下。
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![fcc19fa5b97876130f6492b65a19f8e5.png](https://i-blog.csdnimg.cn/blog_migrate/774948fdcf58692b566ef33bcdbf2a0d.png)
第一次运行时会有一个使用协议,点击接受即可开始使用工具了。
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![2f1dd1730a7fb5da4ada6ea501b250e5.png](https://i-blog.csdnimg.cn/blog_migrate/454ddec0c1ca0cabc3016e2d6171854c.png)
基本命令介绍:
listdlls [-r] [-v | -u] [processname|pid]
listdlls [-r] [-v] [-d dllname]
Parameter | Description |
processname | 按进程加载的转储dll(接受部分名称)。 |
pid | 与指定进程id关联的转储dll。 |
-d dllname | 只显示加载了指定DLL的进程。 |
-r | 重新定位的标记dll,因为它们没有在它们的基本地址加载。 |
-u | 只列出未签名的dll。 |
-v | 显示DLL版本信息。 |
![f34f19c3a88bd62bf4f1ac21494b60bc.gif](https://i-blog.csdnimg.cn/blog_migrate/3e032bb4ebfb3674ea6e7d369fac45c7.gif)
应用场景举例:
listdlls -v chrome列出加载到Chrome中的DLL。包括他们的版本信息:
![f34f19c3a88bd62bf4f1ac21494b60bc.gif](https://i-blog.csdnimg.cn/blog_migrate/3e032bb4ebfb3674ea6e7d369fac45c7.gif)
![80f6759eb0841a3111a68d87df0ca447.png](https://i-blog.csdnimg.cn/blog_migrate/9e52fa199abc421f2f5a10ad1bf4c071.png)
listdlls -u 列出加载到任何进程的任何未签名DLL文件:
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![1606eb97d7f16b1b239a3db893a31e17.png](https://i-blog.csdnimg.cn/blog_migrate/b2eb3aaaf6bc3100c826b0a55d30a382.png)
listdlls -d mso.dll显示加载了MSO.DLL的进程:
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
![a966d732e4c074e32672fdbf0ac4c9d5.png](https://i-blog.csdnimg.cn/blog_migrate/30091384fdbc4f8f00aefcc74ad269d5.png)
由于是控制台程序,因此最好使用管理员模式运行和查看结果。
![4bfbaad593902a2cb3eb28260ac3d24e.png](https://i-blog.csdnimg.cn/blog_migrate/d625b121f8a495a4f616f760670f6030.png)
今天的工具介绍就到这里啦,如果你想了解更多的Windows Systinernals管理员工具,请继续关注我们的公众号和文章。下次见~~~
![3ddf488d135fcb94768253ef83dc3895.png](https://i-blog.csdnimg.cn/blog_migrate/dfcd910e74f466f8399ffc4b0ff77a2f.png)
![7e8c283198a1bff8c60f17ef05f3836e.png](https://i-blog.csdnimg.cn/blog_migrate/b8f3de0e0a4d53eeafd67b23bd7476c4.png)
![6c4aef8c6e98f6cb0fd15fbc16dce05e.png](https://i-blog.csdnimg.cn/blog_migrate/1e9635d56950bba49dd5d59bd215bbc9.jpeg)
微信号 : 蓝云服务器运维专家
公众号 : BC_SOP