首页 > 其他分享 >Microsoft Visual Studio VS dumpbin使用查看.obj、.lib、.dll、.exe文件头、段函数

Microsoft Visual Studio VS dumpbin使用查看.obj、.lib、.dll、.exe文件头、段函数

时间:2024-11-17 22:20:21浏览次数:1  
标签:选项 文件 exe obj lib dumpbin dll VS

前言全局说明

dumpbin 是VS自带的 Microsoft COFF二进制文件转换器,它显示有关通用对象文件格式(COFF)二进制文件的信息。可以使用dumpbin检查COFF对象文件、标准COFF对象库、可执行文件和动态链接库等。
被查看的文件名后缀可以为:.obj、.lib、.dll、.exe


一、说明

正确情况下,安装好VS后路径被加入到系统 PATH 中了,可以任意路径调用 dumpbin

dumpbin 文件路径:
VS 2010: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
VS 2019: C:\Program Files (x86)\Microsoft Visual Studio 10.0\2019\Community
VS 2022:X:\vs2022\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x86


二、dumpbin 命令

2.1 查看帮助

dumpbin

dumpbin /SUMMARY

dumpbin /?

dumpbin -?

如果没有给dumpbin指定任何选项,它将等同于使用了/SUMMARY参数。如果没有指定任何输入文件,它将列出所有的选项。

2.2 使用格式为

dumpbin [选项] <文件名>

2.3 参数

参数 说明 备注
/ALL 显示除代码反汇编外的所有可用信息
/ARCHIVEMEMBERS 显示有关库成员对象的最少信息
/CLRHEADER 显示有关在任何托管程序中使用的 .NET 头的信息
/DEPENDENTS 转储映像从中导入函数的 DLL 的名称
/DIRECTIVES 转储映像中由编译器生成的 .directive 节
/DISASM[:{BYTES|NOBYTES}] 显示代码段的反汇编,如果出现在文件中则使用符号
/ERRORREPORT:{NONE PROMPTt|QUEUE|SEND}
/EXPORTS 显示从可执行文件或 DLL 导出的所有定义
/FPO 显示框架指针优化 (FPO) 记录
/HEADERS 显示文件头和每节的头。当用于库时,显示每个成员对象的头
/IMPORTS[:文件名] 显示导入到可执行文件或 DLL 的 DLL 列表(静态链接的和延迟加载 )和上述每个 DLL 的各个导入
/LINENUMBERS 显示 COFF 行号
/LINKERMEMBER[:{1|2}] 显示库中定义的公共符号。指定参数 1 将按对象顺序显示符号及其偏移量。指定参数 2 将显示对象的偏移量和索引号,然后按字母顺序列出这些符号及每个符号的对象索引
/LOADCONFIG 转储 IMAGE_LOAD_CONFIG_DIRECTORY 结构,此结构是由 Windows NT 加载程序使用并在 WINNT.H 中定义的可选结构。
/NOLOGO
/OUT:filename
/PDATA 仅用于 RISC 处理器。此选项从映像或对象转储异常表 (.pdata)
/PDBPATH[:VERBOSE] 将沿调试器搜索 .pdb 文件的同一路径搜索计算机,并将报告哪些 .pdb 文件(若有)和 filename 中指定的文件相对应
/RANGE:vaMin[,vaMax]
/RAWDATA[:{NONE|1|2|4|8}[,#]] 此选项显示文件中每节的原始内容
/RELOCATIONS 此选项显示对象或映像中的任何重定位
/SECTION:名称
/SUMMARY 如果没有给dumpbin指定任何选项,它将等同于使用了/SUMMARY参数
/SYMBOLS
/TLS
/UNWINDINFO

2.3 选项说明:

参数的使用可以用”-”或者”/”(如-ALL等于/ALL)后面跟选项名。

有些选项可以在选项名后接”:”。使用空格或制表符(Tab)分割命令选项。

选项名,关键字和文件名是不区分大小写的。大多数的参数可以应用于所有的二进制文件,有少部分参数只能用于特定的文件。


三、示例

3.1 查看 exe 信息

查看一个exe引用了哪些动态库

dumpbin /HEADERS E:\main.exe

dumpbin -HEADERS E:\main.exe

3.2 查看 dll 信息

查看动态库包含哪些接口函数

dumpbin /exports E:\main.exe

dumpbin –exports dlltest.dll

Your_Functions_Here 就是接口函数名。

image


四、扩展用法

4.1 过滤函数名

函数名太多时,可以用管道和findstr来过滤

dumpbin /EXPORTS "gdal.lib" | findstr GDALDropCache

4.2 多个参数

多个选项间用空格分开,多个文件名间也用空格分开

dumpbin /ALL/RAWDATA:NONE /OUT:1.txt text.obj

dmpbin /ALL /RAWDATA:NONE test.obj >1.txt

4.3 输出到文件中

dumpbin.exe /ALL D:\xxx.dll > D:\VS_dumpbin_file_info.txt


免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://www.cnblogs.com/cyx-b/p/13488380.html (#### 2.2)
https://blog.51cto.com/u_14523369/6123768 (#### 3.2)
https://blog.csdn.net/jiangnanan/article/details/134893353 (#### 3.2)
https://www.bilibili.com/opus/963232349848338436 (#### 4.1)
https://zhuanlan.zhihu.com/p/646528551 (#### 4.2)



标签:选项,文件,exe,obj,lib,dumpbin,dll,VS
From: https://www.cnblogs.com/wutou/p/18551225

相关文章

  • zlibrary入口网站/最新官网国内可用地址(持续更新)
    Z-Library(简称z-lib,前身为BookFinder)是一个影子图书馆和开放获取文件分享计划,用户可在此网络下载期刊文章以及各种类型的书籍。截止2022年6月12日,该网站共收录了10,456,034本书和84,837,646篇文章。zlibrary电脑客户端/安卓appzlibrary(windows/mac/安卓)客户端:https://pan.qu......
  • 免杀中编译器和exe的处理
    MT/MD对比编译当样本做好了,shellcode处理了,加载器的代码也做了优化,但是被杀软一扫描还是静态报毒,很有可能是因为exe相关的操作需要进行处理,第一个就是编译器/编译参数因为有些杀软宁可错杀1000也不过一个,所以针对一些特定的编译器/编译参数,即使你是输出hello......
  • 复杂型数据类型 指向的是对象Object
    在JavaScript中object类型包含的数据有很多,数组、普通对象、DOM节点、内置对象、函数等等都属于obejct类型常用的数组1.为什么要学习数组?之前学习的数据类型只能存储一个值比如:Number/String等我想存储班级中所有的学生的姓名此刻我该如何存储?2.数组的概念......
  • QObject,QMainWindpw,QWidget,QDialog介绍
    QObjectQObject的角色和特点在Qt框架中,QObject是整个对象模型的核心基类,它为Qt对象树和信号-槽机制提供了基础支持。很多Qt的类(包括QWidget、QDialog、QMainWindow)都直接或间接继承自QObject。QObject的核心功能对象树管理(ObjectTree)QObject提供了父子关......
  • GObject学习笔记(一)类和实例
    前言最近阅读Aravis源码,其中大量运用了GObject,于是打算学习一下。此系列笔记仅主要面向初学者,不会很深入探讨源码的细节,专注于介绍GObject的基本用法。此系列笔记参考GObjectTutorialforbeginners本文可在个人博客中阅读,体验更加套个盾:文中定义的名词只是为了更好地理解GO......
  • zlibrary镜像网页,国内可用官网入口及客户端/app(持续更新)
    Z-Library(也被称为Z-Lib)是一个在线的、开源的、免费的数字图书馆项目,旨在提供各种书籍、文章、科学论文、杂志、漫画等资源的访问。该项目成立于2009年,至今已经收录了超过10,000,000册书籍和80,000,000篇文章。zlibrary电脑客户端/安卓appzlibrary(windows/mac/安卓)安装包下......
  • CF2036G Library of Magic
    Problem给出1~n每个数2个,共2n个,然后拿走3个不相等的数,可以进行最多150次询问,可以得到值为l-r的所有数的异或和,请你最后给出这3个数。其中\(3\len\le10^{18}\)Solve不建议做法:分治,不断给1~n区间分块原因:需要进行的询问在不优化的情况下能达到200左右,需要不断找地方优化,且......
  • UEFI 笔记 002 —— PrintLib.h
    https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Library/PrintLib.h//MdePkg\Include\Library\PrintLib.h//--2024-11-16////Thisfunctionissimilarassnprintf_sdefinedinC11.UnicodeSPrint(OUTCHAR16*,INUINTN,INconstCHAR16*......
  • springboot3整合mybatisplus问题Invalid value type for attribute 'factoryBeanObjec
    版本说明:JDK版本:17springboot版本:3.3.5问题分析:springboot版本与mybatisplus版本不兼容解决办法:将mybatisplus版本替换为以下版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>......
  • 从PE结构到LoadLibrary
    从PE结构到LoadLibraryPE是Windows平台主流可执行文件格式,.exe,.dll,.sys,.com文件都是PE格式32位的PE文件称为PE32,64位的称为PE32+,PE文件格式在winnt.h头中有着详细的定义,PE文件头包含了一个程序在运行时需要的所有信息,包括了如何将文件加载到内存、开辟多大的堆栈......