工具

esp32_image_parser ESP32 固件镜像解析工具

Tenable 发布的 Python 命令行工具,其仓库简介称之为辅助逆向 ESP32 固件的工具包:它读取 ESP32 闪存转储中的分区表,并将 factory、ota_0 等应用分区重建为 Xtensa ELF 文件。其他操作可列出分区、导出某个分区的原始字节,并将 NVS 分区的键值条目解析为文本或 JSON;create_elf 借助 esptool 载入应用镜像,把其中的闪存、DRAM 和 IRAM 段映射为 ELF 节区,并加入仓库自带 ROM 符号表中的符号。

目标
固件
类别
固件工具
关联
基础工具
来源复核于

使用条件与局限

  • 自 2020-02-29 起没有新提交,也没有发布版本或标签。安装方式为 pip install -r requirements.txt,其中列出 makeelf、esptool 和 hexdump,均未指定版本;脚本直接导入 esptool 的模块命名空间,并针对初代 esp32 芯片类型调用其 LoadFirmwareImage,因此未核实它与当前 esptool 版本及更新的 ESP32 系列芯片是否兼容。
  • 输入为分析者自有设备的完整闪存转储。解析器从默认偏移 0x8000 读取分区表;create_elf 只接受应用类型分区,并需指定输出文件名;RTC IRAM 等无法映射的段只会给出提示,不会被转换。
  • 仓库不含任何固件镜像:除 Python 脚本外,只有 symbols_dump.txt,这是一份约 890 个符号的 readelf 格式符号表,大多位于 ESP32 ROM 地址,create_elf 会从当前工作目录读取它并写入每个 ELF。采用 MIT 许可(LICENSE.md)。本次未解析任何闪存转储。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  2. esp32_image_parser.py GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  3. esp32_firmware_reader.py GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  4. read_nvs.py GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  5. requirements.txt GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  6. symbols_dump.txt GitHub · tenable/esp32_image_parser · 修订 0c9ff48
  7. LICENSE.md GitHub · tenable/esp32_image_parser · 修订 0c9ff48

同分区更多条目:固件与硬件

固件与硬件分区全部 65 项资源