学习资源
Emproof 固件逆向工程研讨会
Emproof 在 ScapyCon Automotive 2025 上举办的固件逆向工程研讨会的幻灯片和 14 个独立练习,由 Tim Blazytko 设计,面向安全经验不多的技术人员。固件与二进制相关练习由浅入深:先用 binutils 读取 ELF 元数据并初步上手 Ghidra 或 Binary Ninja,再用 binwalk 解包两个嵌入式 Linux CTF 镜像,最后进行裸机分析,包括识别一辆模型车固件 ELF 的微控制器、工具链和内存映射,以及依据数据手册定义内存段,为一份原始 STM32F103 闪存转储重设基址。另有练习在 Mirai 样本中静态解密字符串,并把硬编码的 AES 密钥回溯到其所在数据段。
使用条件与局限
- 所审阅的 main 提交日期为 2025-09-25,是自 2025-09-21 起共 14 个提交中的最后一个。仓库包含 slides.pdf 和 14 个练习,每个练习由附带分步问题的 task.md 和一个 samples 文件夹组成;未提供参考答案,两个嵌入式 Linux 练习链接了外部解题文章。
- README 称大多数样本面向 ARMv7(Thumb/ARM32)或 AArch64,其中不少附有 C 源码。基于 Kali Linux 的 Docker 镜像固定为 linux/arm64,在 x86_64 主机上以模拟方式运行,内含 binutils、binwalk、John the Ripper 和 armhf 运行库;首次使用时,docker_run.sh 会通过特权容器在主机上安装 QEMU binfmt 处理程序。Ghidra 和 Binary Ninja Free 需安装在主机上;由于 Binary Ninja Free 不支持 AArch64,许多练习另附 .armv7 构建。
- 裸机练习要求分析者查阅微控制器的数据手册或参考手册;STM32F103 练习给出了重新分析前需定义的闪存、SRAM、外设和系统控制空间地址范围。另有若干练习是针对研讨会自带程序的 crackme 式许可证、注册机和反补丁练习;本条目只介绍固件与二进制分析练习。
- 研讨会材料采用 GPL-2.0,但 README 将三个样本文件夹排除在该许可之外,仅供分析和教学使用,不得再分发:其中两个嵌入式 Linux 镜像据练习说明来自 WORMCON CTF 2021,另一个是 Mirai 僵尸网络程序,其练习说明称其为活跃恶意软件、不得执行,并存放在带密码的压缩包中。
- 材料未提及 AI 或 REA 的使用。本合集阅读了 README、练习文件和容器配置,未打开幻灯片,未构建容器,也未处理任何样本。
关于此条目
- 类型
- 学习资源
- 类别
- 学习资源
- 关联
- 学习资源
- 目标
- 二进制 · 固件
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- tasks/hello_world/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- tasks/embedded_linux_2/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- tasks/car_demo/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- tasks/iot_diag/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- tasks/crypto_detection/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- Dockerfile GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- docker_run.sh GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
- LICENSE GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
同分区更多条目:文档与学习资源
- 安装与客户端配置 · 文档
- CLI 与 Evidence · 文档
- MCP 接口约定与生成目录 · 文档
- 原生二进制调查 · 文档
- 跨层 JavaScript 应用工作流 · 文档
- Android APK 静态分析 · 文档