Win10 查看 DLL 中的函数

软件中存在着大量以 .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使用说明
  • 19
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
DLL函数查看器是一款DLL函数查看工具,直接把DLL文件拖入列表查看即可。 1.将本程序快捷方式放入系统 "SendTo" 目录后,就可以右键文件"发送到"实现文件快速查看 2.按粘帖键(Ctrl+V)将剪辑板字符串在列表匹配查找 3.关于参数量的问题,由于猜解方法过于简单对于部分函数未从当前函数返回,而是"JMP"到别的函数 所以猜解可能会有错误,需要结合已知函数库或反汇编查看,另此方法对于cdecl调用函数无效 4.关于反汇编视图的"到首返回"如果勾选即表示仅反汇编到头一个RETN为止,否者将按照"DisAsm_MaxLine" 所指定的行数.生效方法参见说明细则12~13. 5.将PEID userdb.txt 放置到程序目录下可以实现查壳 6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器使用 程序启动时会优先读取配置文件,如果文件不纯在则会访问注册表 8.如果你觉得这个美化窗口很浪费资源,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "UI"=dword:00000000 9.如果你觉得反汇编影响了效率,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm"=dword:00000000 10.如果想关闭查壳功能可以删除userdb.txt或注册表如下设置 [HKEY_CURRENT_USER\Software\ViewApiList] "CheckShell"=dword:00000000 11.在线查询接口可在注册表如下位置修改,{searchTerms}为保留关键字被作为替换函数名 [HKEY_CURRENT_USER\Software\ViewApiList] "WebSearch"="http://www.baidu.com/s?wd={searchTerms}&ie=utf-8" 12.是否仅反汇编到头一个返回,1.表示是,0表示否 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_Retn"=dword:00000001 13.反汇编最大行数,即表示当前地址向后的长度,与函数实际长度无关.是否生效需要根据"DisAsm_Retn"设置 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_MaxLine"=dword:000003e8 键盘快捷键说明: TAB(SHIFT+TAB) -- 视图焦点切换 CTRL+S -- 视图切换 CTRL+F -- 文字搜索 F3 -- 搜索下一个 CTRL+A -- 项目全选 CTRL+C -- 复制选项目函数名称/汇编代码 CTRL+V -- 将剪辑板的字符在视图匹配搜索 ALT+← -- 反汇编视图上一次跳转的后退 ALT+→ -- ... 前进 Application -- 弹出右键菜单(右WIN键和右CTRL键间的那个键)
### 回答1: msvcrtd.dll是微软Visual C++程序运行库的动态链接库文件,而Win10是微软最新开发的操作系统软件。当在Win10操作系统运行需要使用到msvcrtd.dll文件的程序时,系统会自动调用该库文件提供所需的功能支持,确保程序正常运行。 msvcrtd.dll库文件包含了一些常用的C运行库、C++运行库和MFC运行库函数和类,在应用程序调用这些函数和类时,系统会动态链接到该文件。这些函数和类不仅可以帮助程序员开发更为复杂的应用程序,同时也保证了程序的高效性和稳定性。 在Win10如果出现msvcrtd.dll文件缺失的情况,有可能是由于文件被误删除、系统文件受到病毒攻击或者系统损坏等原因引起的。为了解决该问题,可以通过重新安装相应的应用程序或者Microsoft Visual C++运行库来修复缺失的文件。如果以上方法均无法解决问题,建议查找相关资料或寻求专业技术支持。 总之,msvcrtd.dllWin10操作系统扮演着重要的角色,是程序开发和运行必不可少的库文件之一。了解和掌握该文件的基本知识,有助于开发高效、稳定的应用程序。 ### 回答2: msvcrtd.dllWindows操作系统的一个动态链接库文件,它包含了C标准库的一些函数。这个文件是Microsoft Visual Studio系列开发工具的一部分,用于开发C++程序时进行调试时使用。在Windows 10系统,msvcrtd.dll是被安装在系统的,而不是需要手动下载并安装。在运行程序的过程,如果出现了msvcrtd.dll丢失或损坏的错误,可以尝试重新安装相应的Microsoft Visual Studio工具或尝试修复系统文件。(提示:机器翻译结果,请参考) ### 回答3: msvcrtd.dllWindows操作系统的一个动态连接库文件,它是Microsoft Visual Studio C++ Runtime 库的一部分。这个库被用于运行和开发C++程序。在Windows 10操作系统,这个库文件有时候会出现问题,导致一些应用程序无法正常运行。这个问题的根源可能是由于多种原因,例如Windows更新失败、恶意软件感染、系统文件损坏等等。如果你遇到这个问题,你可以尝试一些简单的解决方法,例如重新安装受影响的程序、运行系统文件检查工具、扫描并清除恶意软件等等。如果这些方法都无法解决问题,你可以考虑卸载并重装受影响的应用程序,或者寻求帮助于专业的技术支持人员。总之,解决这个问题需要详细了解你的操作系统和受影响的程序,并采取适当的措施。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值