软件中存在着大量以 .dll 为扩展名的文件,这些文件就是动态链接库(Dynamic Link Library),简称为 DLL 。DLL 可以使用不同的编程语言来编写,如 VB、C、C++ 等。 DLL 也可以被不同的编程语言调用,例如:可以使用 VB 调用 C 语言生成的 DLL 文件。确切的说是调用 DLL中的API函数。只要使用正确的调用格式,就可以直接调用不同语言写成的 DLL 中的函数。

本文将介绍 2 种查看 DLL 中函数的工具:dumpbin.exe 和 Dependencies

Visual Studio 自带工具

如果电脑上安装了 Visual Studio, 可以使用 Visual Studio 自带的 dumpbin.exe 查看 DLL 中的函数。
打开开始菜单,找到 VS 自带的命令行工具(随便选择图片中的一个就可以)
在这里插入图片描述

打开 VS 的 cmd 窗口,键入 dumpbin /exports XXX.dll,分析 XXX.dll 中有哪些函数。

下面以 C:\Windows\System32C:\Windows\System32\kernel32.dll 为例,
输入 dumpbin /exports C:\Windows\System32\kernel32.dll 即可导出 kernel32.dll中包含的函数信息。

在这里插入图片描述

逆向分析工具 Dependencies

Dependency Walker 是分析 DLL 的神器,但目前为止 Dependency Walker 还不支持 Win10。在 Win10 下使用 Dependency Walker 分析任何 DLL 都会进入未响应的状态。那么,Dependencies 就是一个可以替代 Dependency Walker 的不错选择。

Dependencies 是一个 GitHub 开源代码库https://github.com/lucasg/Dependencies
点击 Release 下的版本链接即可下载,这里给出 64 位的最新版本下载链接 v1.11
在这里插入图片描述
下载完成后,解压文件夹。在这里插入图片描述
双击 DependenciesGui.exe,使用 File->Open 打开要分析的 DLL 文件,这里以 C:\Windows\System32C:\Windows\System32\kernel32.dll 为例,进行分析。
双击相应的 dll ,就可以看到包括的 Function 。

在这里插入图片描述

参考链接

  1. Windows 查看 exe 依赖的 dll 的方法
  2. 查看DLL中的函数
  3. Dependency Walker使用说明
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐