学习资源

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、练习文件和容器配置,未打开幻灯片,未构建容器,也未处理任何样本。

关于此条目

类型
学习资源
类别
学习资源
关联
学习资源
目标
二进制 · 固件

来源复核于

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

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

一手来源

  1. README.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  2. tasks/hello_world/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  3. tasks/embedded_linux_2/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  4. tasks/car_demo/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  5. tasks/iot_diag/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  6. tasks/crypto_detection/task.md GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  7. Dockerfile GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  8. docker_run.sh GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a
  9. LICENSE GitHub · emproof-com/workshop_firmware_reverse_engineering · 修订 10dc72a

同分区更多条目:文档与学习资源

文档与学习资源分区全部 44 项资源