🔧 固件逆向工程

从二进制到源码还原 · 30章完整目录
📘 友好色系 🧩 30个章节 30 ⚡ 点击卡片跳转
版本 2.4
01 固件逆向工程导论
固件定义 法律与道德 知识图谱
02 嵌入式系统基础
MCU/SoC UART/I2C/SPI 存储器映射
03 固件获取与提取
Flash读取 OTA提取 调试接口
04 二进制文件分析基础
file/binwalk strings/hexdump 熵分析
05 固件解包与文件系统
Binwalk自动 SquashFS/JFFS2 unsquashfs
06 CPU架构与指令集
ARM/MIPS/RISC-V 大小端 Thumb-2
07 反汇编工具链
Ghidra IDA Pro radare2/Cutter
08 Ghidra深度使用
反编译引擎 类型重建 脚本编写
09 IDA Pro高级技巧
FLIRT签名 F5反编译 插件生态
10 radare2与Cutter
命令行/可视化 ESIL模拟 r2pipe
11 固件入口点分析
Reset Vector Startup.S 链接脚本
12 函数识别与恢复
编译器优化 序言/尾声 调用约定
13 数据类型重建
结构体/联合 枚举/位域 指针与数组
14 字符串与全局变量
交叉引用 .rodata BSS初始化
15 控制流分析
基本块/CFG 循环/分支 switch跳转表
16 数据流与污点追踪
定义-使用链 切片技术 密钥追踪
17 固件加密与解密
AES/RSA/CRC 白盒密码 签名绕过
18 固件压缩与混淆
LZMA/LZO Deflate 混淆对抗
19 RTOS逆向
FreeRTOS/uCOS 任务切换 IPC机制
20 Linux内核固件逆向
内核解压 设备树DTB 驱动模块.ko
21 Bootloader逆向
U-Boot/Coreboot Little Kernel 安全机制
22 网络协议逆向
HTTP/MQTT CoAP 自定义协议
23 漏洞挖掘基础
缓冲区溢出 格式化字符串 整数/堆溢出
24 模糊测试Fuzzing
AFL/LibFuzzer QEMU模拟 Firmadyne
25 动态调试与模拟
QEMU用户态 Unicorn引擎 Avatar²
26 JTAG/SWD调试
硬件调试 OpenOCD GDB/内存转储
27 补丁对比与版本追踪
BinDiff Diaphora CVE关联
28 自动化逆向流水线
FirmAE EMBA扫描 自定义脚本
29 实战案例
路由器后门 IoT摄像头 工控PLC
30 课程总结与进阶
工具链整合 CTF挑战 职业建议