Linux 二进制文件怎么查看?常见工具对比

发布时间 - 2025-12-04 00:00:00    点击率:
Linux查看二进制文件应按需选用工具:快速识别用file和size;十六进制浏览用xxd、hexdump -C或od -tx1 -tc;深度分析用readelf、nm、strings和ldd。

Linux 下查看二进制文件,核心是“不强行当文本读”,而是用专门工具解析字节结构或提取有意义的信息。直接用 catvim 打开通常会乱码甚至卡死,所以得选对工具——按用途分三类:快速识别、十六进制浏览、深度分析。

快速识别文件类型和基础属性

适合刚拿到一个文件,想马上知道它是不是可执行、是否被裁剪、用什么架构编译的。

  • file:最轻量。只看文件头和元信息,不加载内容。比如 file /bin/ls 输出 ELF 64-bit LSB executable, x86-64...,一眼定位格式和平台。
  • size:专注 ELF 文件的段大小。运行 size program 能看到 .text(代码)、.data(已初始化数据)、.bss(未初始化数据)各占多少字节,对内存布局有初步概念。

十六进制与 ASCII 混合查看(字节级浏览)

需要 inspect 具体字节内容时,这类工具把二进制转|成人|类可读的十六进制+字符对照表,支持跳转、截取、不同进制显示。

  • xxd:输出清晰、默认带地址偏移和 ASCII 列,支持反向转换(xxd -r),常用命令如 xxd -c 16 -l 256 file.bin 查前 256 字节。
  • hexdump -C:功能类似 xxd,-C 是最常用选项,格式统一,很多脚本依赖它的输出结构。
  • od -tx1 -tc:老牌工具,-tx1 按单字节十六进制显示,-tc 补上字符列;适合写在管道里做简单解析。
  • 注意:hd 通常是 hexdump 的软链接,行为一致,不用额外学。

深度分析 ELF 结构与符号信息

面向开发调试场景,比如查为什么程序启动失败、找函数入口、确认是否静态链接、看有没有敏感字符串。

  • readelf:专啃 ELF 标准结构。查段表(-S)、动态段(-d)、程序头(-l)、符号表(-s)都很精准,不执行也不依赖环境。
  • nm:列出符号(函数名、全局变量等)。加 -D 只看动态符号,加 -C 自动 demangle C++ 名字,对逆向或链接问题排查很实用。
  • strings:提取所有长度 ≥4 的可打印字符序列。常配合 grep 快速定位硬编码密码、URL、错误提示,例如 strings binary | grep http
  • ldd:只对动态可执行文件有效,显示运行时依赖哪些 .so。注意它可能触发部分加载逻辑,生产环境建议用 readelf -d binary | grep NEEDED 替代更安全。

基本上就这些。选工具的关键不是“哪个最强”,而是“我要解决什么问题”:认文件用 file,看字节用 xxdhexdump,挖细节用 readelfnm。组合起来,二进制文件就不再黑盒。


# linux  # 编码  # 字节  # 工具  # c++  # 为什么  # 架构  # 全局变量  # 字符串  # ASCII  # vim  # http  # 只看  # 加载  # 我要  # 也不  # 它是  # 这类  # 都很  # 跳转  # 有意义  # 写在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何处理文件下载请求?(Response示例)  iOS UIView常见属性方法小结  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel如何生成API文档?(Swagger/OpenAPI教程)  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  简单实现Android验证码  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何在IIS中新建站点并解决端口绑定冲突?  Bootstrap整体框架之CSS12栅格系统  如何在 React 中条件性地遍历数组并渲染元素  高性能网站服务器配置指南:安全稳定与高效建站核心方案  制作公司内部网站有哪些,内网如何建网站?  如何在阿里云ECS服务器部署织梦CMS网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何获取PHP WAP自助建站系统源码?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  油猴 教程,油猴搜脚本为什么会网页无法显示?  网站优化排名时,需要考虑哪些问题呢?  Laravel如何为API生成Swagger或OpenAPI文档  LinuxShell函数封装方法_脚本复用设计思路【教程】  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  高防服务器租用指南:配置选择与快速部署攻略  佛山网站制作系统,佛山企业变更地址网上办理步骤?  个人摄影网站制作流程,摄影爱好者都去什么网站?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何安全更换建站之星模板并保留数据?  网页设计与网站制作内容,怎样注册网站?  在centOS 7安装mysql 5.7的详细教程  青岛网站建设如何选择本地服务器?  微信h5制作网站有哪些,免费微信H5页面制作工具?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  个人网站制作流程图片大全,个人网站如何注销?  浅析上传头像示例及其注意事项  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel怎么在Blade中安全地输出原始HTML内容  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  Linux安全能力提升路径_长期防护思维说明【指导】  如何快速搭建自助建站会员专属系统?  高端智能建站公司优选:品牌定制与SEO优化一站式服务