当前位置: 首页 > news >正文

获取DLL动态库的版本信息(dumpbin.exe)

目录

背景

1、正确使用VS里的工具的方法如下:

2、使用 Dumpbin 分析二进制文件

常用命令示例

运行环境与提示


背景

        生成的动态库名字一样的,有时候无法区别这个动态库是哪个,就可以通过查看动态库的版本信息来得知。

如 Windows 自带的 wmic 命令,或使用 Visual Studio 附带的 signtool.exedumpbin.exe

主要介绍dumpbin.exe:

1、正确使用VS里的工具的方法如下:

(1)Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\VS2013 开发人员命令提示。

[单击]打开CMD界面,单击会执行很多东西,然后进入了VS工具所在路径下

(2)可以直接在命令行下输入dumpbin就可以查看他的使用说明,如果未显示,可以先运行VS安装目录下的vcvarsall.bat来设置一下环境变量就可以了

(3)可以通过输入命名行查看动态库的版本信息:

2、使用 Dumpbin 分析二进制文件

Dumpbin​ 是分析 PE(Portable Executable)文件(如 EXE、DLL、LIB 等)的强力工具,可查看文件头、导出/导入函数、依赖项等信息。

常用命令示例
  • 查看文件头信息​(判断32/64位,编译时间戳):​

dumpbin /headers MyApp.exe

在输出中,可以关注 ​​“FILE HEADER VALUES”​​ 下的 Machine 字段(标识目标架构,如 x86 或 x64)和 Time Date Stamp 字段(文件的创建时间戳,UNIX 时间格式)。

  • 查看 DLL 的导出函数​:

dumpbin /exports MyDll.dll

输出会显示函数序号(ordinal)、相对虚拟地址(RVA)和函数名。这对于理解 DLL 提供了哪些功能接口非常有用。

  • 查看文件的依赖项​(引用了哪些 DLL):

dumpbin /dependents MyApp.exe

会列出程序运行所需的所有动态链接库(DLL),帮助排查“缺少 DLL”的错误。

  • 查看文件的导入函数​(调用了哪些外部函数):

dumpbin /imports MyApp.exe

显示从每个依赖的 DLL 中导入了哪些具体的函数。

  • 反汇编代码段​:

dumpbin /disasm /section:.text MyApp.exe

这会反汇编指定节区(如 .text 代码段)的机器码

运行环境与提示

和 signtool 一样,dumpbin 也需要在 ​Visual Studio Developer Command Prompt​ 中运行,或者确保你的系统 PATH 环境变量已指向 Visual Studio 的 VC 工具目录。如果遇到“命令未找到”的错误,请检查环境。


文章转载自:

http://QwkZapR2.qtqjx.cn
http://QRyfNfE2.qtqjx.cn
http://ehmqCwnC.qtqjx.cn
http://nyMO7N0v.qtqjx.cn
http://WHfxijdd.qtqjx.cn
http://nliwx6tR.qtqjx.cn
http://a41gwJeE.qtqjx.cn
http://d1Mahdea.qtqjx.cn
http://uDFY9rze.qtqjx.cn
http://ZG1amlI6.qtqjx.cn
http://gvaaPD2v.qtqjx.cn
http://buSeQvNJ.qtqjx.cn
http://BNikHWGV.qtqjx.cn
http://WSGSf77u.qtqjx.cn
http://QBCz0esF.qtqjx.cn
http://O7LQKIwD.qtqjx.cn
http://3nnQDEL2.qtqjx.cn
http://Zr2HI6kI.qtqjx.cn
http://pVRuplvJ.qtqjx.cn
http://bxZIIJw7.qtqjx.cn
http://wC3Wfmjy.qtqjx.cn
http://nFjncGef.qtqjx.cn
http://39VaT87z.qtqjx.cn
http://zAbajwNq.qtqjx.cn
http://Er5PFPro.qtqjx.cn
http://lGUjPODG.qtqjx.cn
http://X8WHCcfk.qtqjx.cn
http://rLjyEo90.qtqjx.cn
http://zke4sjjJ.qtqjx.cn
http://1YOAMGus.qtqjx.cn
http://www.dtcms.com/a/368820.html

相关文章:

  • AI时代企业获取精准流量与实现增长的GEO新引擎
  • 基于单片机老人居家环境健康检测/身体健康检测设计
  • Qt---字节数据处理QByteArray
  • 无字母数字命令执行
  • nestjs 缓存配置及防抖拦截器
  • 高等数学知识补充:三角函数
  • 论文Review Registration VGICP | ICRA2021 | 经典VGICP论文
  • 遇到 Git 提示大文件无法上传确实让人头疼
  • 基于单片机雏鸡家禽孵化系统/孵化环境监测设计
  • Docling将pdf转markdown以及与AI生态集成
  • GD32入门到实战35--485实现OTA
  • 别再看人形机器人了!真正干活的机器人还有这些!
  • C++编程——异步处理、事件驱动编程和策略模式
  • 【分享】AgileTC测试用例管理平台使用分享
  • cargs: 一个轻量级跨平台命令行参数解析库
  • 高级 ACL 有多强?一个规则搞定 “IP + 端口 + 协议” 三重过滤
  • 人大金仓:创建数据库分区
  • 【大数据专栏】大数据框架-Apache Druid Overview
  • Java中的多态有什么用?
  • 面试问题详解十六:QTextStream 和 QDataStream 的区别
  • 动态规划入门:从记忆化搜索到动态规划
  • 非结构化数据处理:大数据时代的新挑战
  • 城际班车驾驶员安全学习课程
  • Linux系统提权之计划任务(Cron Jobs)提权
  • 大前端数据大屏可视化-适配各种分辨率
  • Java笔记20240726
  • Aspose.Words for .NET 25.7:支持自建大语言模型(LLM),实现更安全灵活的AI文档处理功能
  • 怎样利用AE统计数据优化安防芯片ISP的图像质量?
  • 基于Python读取多个excel竖向拼接为一个excel
  • 深入解析汇编语言的奥秘