# FirmLoader 微控制器固件内存布局 IDA 插件

> 为原始微控制器固件镜像套用芯片内存布局的 IDA 插件：分析者选定 MCU 型号后，它会创建 RAM 等内存段，添加带有寄存器命名的外设段，并在描述文件包含中断向量表时标注各表项，把它们指向的处理程序创建为函数。README 称其类似 IDA 内置的 SVD 加载器，但采用更简单的 JSON 描述格式，可依据公开的数据手册手工编写。所审阅提交附带 813 个描述文件，涵盖 Microchip/Atmel、ST、NXP、TI、Silicon Labs 等厂商的 MCU。

- 类型：工具
- 目标：固件
- 类别：固件工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/Accenture/FirmLoader>
- 一手来源：<https://github.com/Accenture/FirmLoader/blob/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/firmloader/>
- 记录 JSON：<https://awesomerea.org/resources/firmloader/record.json>
- 英文版：[English](https://awesomerea.org/resources/firmloader/index.md)

## 使用条件与局限

- 唯一的发布版本是标签 1.0，标题为“IDA 8.X”，发布于 2024-12-05，指向 2024 年 2 月的一次提交。所审阅的 main 分支提交 5c9c1a1 是 2024-12-05 的最后一次改动，比该标签多四个提交：一个外部贡献的拉取请求加入了 IDA 9.0 支持，另一个为 STM32L4x1 增加了 SRAM2 内存段。
- 安装方法是把 firmloader.py 和 firmloader_data 文件夹复制到 IDA 的 plugins 目录；需要带 IDAPython 的 IDA，插件代码使用 Python 3.8+ 语法。分析者需按处理器文档给出的基址加载镜像，把主代码段重命名为 ROM，再在 Edit > FirmLoader 菜单中选择型号；应用后插件会将 ROM 段交给 IDA 自动分析。
- 输入是分析者已从微控制器中读出的固件镜像；仓库不含任何固件，只有插件本身、MCU 描述 JSON 文件、data_template.json 和两张 README 配图。813 个描述文件中有 812 个为 32 位；16 位的 ATmega328 描述文件未列出外设，另有四个 SPC5 和 AURIX TC27x 芯片的描述文件没有中断向量表；README 说明，若同一系列有多种内存容量，所有型号都按最大 RAM 生成。其他 MCU 需要手工编写描述文件。
- 采用 Apache-2.0 许可。README 指出 SPC560B64x 是完全手工编写的描述文件，其余文件则只称作 SVD 数据的补充，未说明其生成方式。

## 一手来源

1. <https://github.com/Accenture/FirmLoader/blob/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/README.md>
2. <https://github.com/Accenture/FirmLoader/blob/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/firmloader.py>
3. <https://github.com/Accenture/FirmLoader/blob/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/data_template.json>
4. <https://github.com/Accenture/FirmLoader/tree/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/firmloader_data>
5. <https://github.com/Accenture/FirmLoader/blob/5c9c1a149b2b638d1e2b65d39723b6a45379fdb1/LICENSE>
6. <https://github.com/Accenture/FirmLoader/pull/5>
7. <https://github.com/Accenture/FirmLoader/releases/tag/1.0>

## 同分区更多条目：固件与硬件

- [IFDA IoT 固件深度分析工具](https://awesomerea.org/zh/resources/ifda-iot-firmware-deep-analysis/index.md) · 工具
- [basefind2 快速固件基址扫描器](https://awesomerea.org/zh/resources/basefind2/index.md) · 工具
- [JTAGulator 片上调试接口识别工具](https://awesomerea.org/zh/resources/jtagulator/index.md) · 工具
- [BIOSUtilities 厂商 BIOS/UEFI 更新包提取工具集](https://awesomerea.org/zh/resources/biosutilities/index.md) · 工具
- [allyourbase 固件基址估算脚本](https://awesomerea.org/zh/resources/allyourbase/index.md) · 工具
- [ghidra_kernelcache Apple 内核缓存分析框架](https://awesomerea.org/zh/resources/ghidra-kernelcache/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
