C#【必备技能篇】Win10 查看 DLL 中的函数

C#【必备技能篇】Win10 查看 DLL 中的函数

文章目录

引言方法一:Visual Studio 自带工具(dumpbin.exe)方法二:逆向分析工具 Dependencies重要补充:快速分析项目依赖于哪些.dll

引言

软件中存在着大量以 .dll 为扩展名的文件,这些文件就是动态链接库(Dynamic Link Library),简称为 DLL 。

DLL 可以使用不同的编程语言来编写,如 VB、C、C++、C# 等。

DLL 也可以被不同的编程语言调用,例如:可以使用 VB 调用 C 语言生成的 DLL 文件。确切的说是调用 DLL中的API函数。只要使用正确的调用格式,就可以直接调用不同语言写成的 DLL 中的函数。

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

方法一:Visual Studio 自带工具(dumpbin.exe)

如果电脑上安装了 Visual Studio, 可以使用 Visual Studio 自带的 dumpbin.exe 查看 DLL 中的函数。 打开开始菜单,找到 VS 自带的命令行工具(随便选择图片中的一个就可以) 打开 VS 的 cmd 窗口,键入 dumpbin /exports XXX.dll,分析 XXX.dll 中有哪些函数。

下面以 C:\Windows\System32C:\Windows\System32\kernel32.dll 为例。

输入下面命令即可导出 kernel32.dll中包含的函数信息。

dumpbin /exports C:\Windows\System32\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 。

下载完成后,解压文件夹,双击以下.exe即可打开。

使用 File->Open 打开要分析的 DLL 文件,这里以 C:\Windows\System32\kernel32.dll 为例,进行分析。 双击相应的 dll ,就可以看到包括的 Function 。

重要补充:快速分析项目依赖于哪些.dll

引言: 在看别人代码的时候,有时工程中会有很多不用的.dll,为保持项目整洁,需要删除。

前提: 所有的dIl都已经找到,但是不清楚哪些是多余的dll

方法: (1)打开.exe运行程序,程序会自动加载所有用到的dIl。 (2)然后删除所有dll,被exe占用的删不掉跳过即可,剩下的dlll就是exe需要的dll了。

缺陷: 此种方法只能删除当前运行时用到的dll(实际情况是:程序不同运行阶段可能调用不同的dll),但那些当前还没用到的dll无法通过此法删除。

🎀 相关推荐

学软件开发去哪个学校?快收好这些判断技巧
🎯 beat365娱乐网址

学软件开发去哪个学校?快收好这些判断技巧

📅 09-21 👀 5903
方维O2O是什么?方维O2O怎么样?
🎯 best365体育正不正规

方维O2O是什么?方维O2O怎么样?

📅 10-03 👀 8769
《三十六计》详解(完整版) 永久收藏,终生研读!