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

【Linux】ELF、BIN、PBP、MAP文件查看

【Linux】ELF、BIN、PBP、MAP文件查看

  • 1. 查看ELF文件内容
    • ① 查看ELF头部信息
    • ② 查看段(Sections)和节(Segments)
    • ③ 反汇编代码段
    • ④ 查看符号表
  • 2. 查看BIN文件内容
    • ① 十六进制查看
    • ② 反汇编(需指定架构和基地址)
  • 3. 查看PBP文件内容
    • ① 解包PBP文件
    • ② 查看嵌入的ELF
  • 4. 查看MAP文件内容
    • ① 直接查看
    • ② 关键信息提取
  • 5. 其他工具补充
  • 总结表

在Linux中,不同编译生成的文件(如ELF、BIN、PBP、MAP)需要使用不同的工具查看其内容。以下是具体方法和工具:

1. 查看ELF文件内容

ELF文件包含可执行代码、符号表、调试信息等,可通过以下工具分析:

① 查看ELF头部信息

readelf -h <filename.elf>  # 显示ELF文件头(架构、入口地址等)

输出示例

ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Entry point address:               0x8048300
  ...

② 查看段(Sections)和节(Segments)

readelf -S <filename.elf>  # 列出所有节(如.text, .data)
readelf -l <filename.elf>  # 查看程序头(加载到内存的段)

③ 反汇编代码段

objdump -d <filename.elf>  # 反汇编.text段
objdump -s -j .rodata <filename.elf>  # 查看只读数据段

④ 查看符号表

nm <filename.elf>          # 显示符号(函数/变量地址)
readelf -s <filename.elf>  # 更详细的符号表

2. 查看BIN文件内容

BIN文件是纯二进制数据,需用工具解析为十六进制或反汇编:

① 十六进制查看

hexdump -C <filename.bin>  # 经典十六进制+ASCII显示
xxd <filename.bin>         # 类似hexdump的可视化

② 反汇编(需指定架构和基地址)

objdump -b binary -m arm -D <filename.bin> --adjust-vma=0x8000

-m arm:指定目标架构(如x86、ARM)。
--adjust-vma=0x8000:设置加载地址(需根据实际硬件确定)。


3. 查看PBP文件内容

PBP是PSP的自定义格式,需解包后分析:

① 解包PBP文件

psp-unpack <filename.pbp>  # 解包后得到PARAM.SFO、ICON0.PNG、DATA.PSP等

② 查看嵌入的ELF

解包后的DATA.PSP通常是ELF文件,用readelfobjdump分析:

readelf -h DATA.PSP
objdump -d DATA.PSP

4. 查看MAP文件内容

MAP文件是文本文件,直接使用文本工具查看:

① 直接查看

cat <filename.map>         # 显示全部内容
less <filename.map>        # 分页查看(支持搜索)

② 关键信息提取

内存布局:搜索Memory ConfigurationLinker script and memory map
符号地址:搜索函数/变量名(如main)。
段大小:查找.text.data等段的大小。

示例输出

.text           0x8000     0x2000
main            0x8000       0x100
.data           0xA000      0x500

5. 其他工具补充

GDB调试ELF:动态分析程序行为。

gdb <filename.elf>

strings提取字符串:从任意文件中提取可读字符串。

strings <filename.elf> | grep "keyword"

总结表

文件类型查看工具常用命令示例
ELFreadelf, objdump, nmreadelf -h file.elf
BINhexdump, objdumphexdump -C file.bin
PBPpsp-unpack, readelfpsp-unpack file.pbp
MAPcat, less, grepless file.map

在Linux中,可以使用输出重定向>>>)将命令的结果保存到 test.txt 文件。以下是针对不同文件类型的示例:

文件类型命令示例(输出到 test.txt
ELFreadelf -h file.elf > test.txt
BINhexdump -C file.bin > test.txt
PBPpsp-unpack file.pbp > test.txt
MAPcat file.map > test.txt

相关文章:

  • 基于SpringBoot的失物招领平台(源码+数据库)
  • 基于python大数据的商品数据可视化分析系统
  • 网红酒店|基于java+vue的网红酒店预定系统(源码+数据库+文档)
  • SpringCloud-Nacos
  • 【Sa-Token】学习笔记 01 - SaToken介绍快速上手
  • C语言水仙花续集2
  • 打车APP订单系统逻辑梳理与实现
  • Spring IOC实战:解密Bean的九种诞生方式
  • 消息队列篇--通信协议篇--理解HTTP、TLS和TCP如何协同工作
  • HarmonyOSNext_API16_媒体查询
  • [Python] 贪心算法简单版
  • MySQL-5.7.37安装配置(Windows)
  • 从Web到桌面:深入解析Electron的技术架构与应用实践
  • Node.js 路由 - 初识 Express 中的路由
  • Java面试黄金宝典21
  • 关于ESP系列MCU的UART download原理
  • C# 中 WebSocket 的详细讲解与实现
  • spring 常用注解区别及使用场景
  • vscode通过root远程连接wsl
  • MPU6050模块详解:从原理到STM32驱动指南(上) | 零基础入门STM32第八十九步
  • 中国十大咨询机构/seo站
  • 做网站打广告图片素材/营销的四种方式
  • 西宁网站建设平台公司/爱站网能不能挖掘关键词
  • 佛山微网站建设/百度统计流量研究院
  • 手机网站导航栏特效/锦州网站seo
  • 在局网站 作风建设/企业网站建设