查找依赖于特定 DLL 的所有模块

Find all modules with a dependency on a specific DLL

我知道我可以使用像 Dependency Walker(和更新的重写)这样的工具来回答“X 有哪些 DLL 依赖项?”这个问题

但是我在我们的解决方案中内置了大约 100 个模块,并且从几年前开始,zlib.dll 被添加到我们的版本中。我想找出我们的哪些模块(如果有的话)需要这个旧的 DLL,每个模块都没有 运行 依赖遍历器。

有没有办法轻松做到这一点?

这可以通过编写一个脚本(bat 文件或 PowerShell 脚本)来完成,该脚本枚举所有模块 DLL 并使用 CLI of dependency walker.

打印 DLL 的所有依赖模块的命令行如下所示: ./depends.exe /pl:1 /oc:./depends.csv ./depends.dll

然后在文件内进行简单的文本搜索以在输出 CSV 中找到 zlib.dll。

文件枚举可以按照here所述进行。