固件逆向挖掘 · 知识体系
📘 30章完整目录
01
固件逆向概述
固件定义
逆向目的
应用场景
挑战与边界
02
嵌入式系统基础
ARM/MIPS/RISC-V
内存映射
UART/SPI/I2C
启动流程
03
固件获取与提取
固件来源
JTAG/编程器
串口转储
更新包解析
04
固件文件系统分析
Squashfs/JFFS2
UBIFS/Cramfs
binwalk
解包与修复
05
固件二进制分析基础
ELF/PE/BIN
字节序
字符串提取
熵分析
06
静态逆向分析 (上)
objdump/readelf
IDA Pro
Ghidra
交叉引用
07
静态逆向分析 (下)
数据结构恢复
虚函数表
C++逆向
混淆处理
08
动态逆向分析 (上)
QEMU模拟
GDB调试
断点/单步
内存/寄存器
09
动态逆向分析 (下)
Frida基础
Hook技术
动态插桩
脚本编写
10
固件漏洞挖掘 (上)
缓冲区溢出
栈/堆溢出
格式化字符串
ROP/Shellcode
11
固件漏洞挖掘 (下)
命令注入
硬编码后门
认证绕过
AFL/LibFuzzer
12
固件加密与解密
AES/RSA/MD5
加密识别
密钥提取
解密脚本
13
固件压缩与解压缩
LZMA/Gzip/Bzip2
自定义算法
解压脚本
实战案例
14
固件签名与验证
数字签名原理
签名绕过
Bootloader验证
安全启动链
15
Bootloader逆向分析
U-Boot/RedBoot
命令注入
环境变量攻击
漏洞利用
16
内核逆向分析
Linux启动流程
内核模块
驱动逆向
权限提升
17
Web接口与固件安全
Lighttpd/Boa
CGI分析
XSS/CSRF
认证绕过
18
网络协议逆向分析
HTTP/FTP/Telnet
自定义协议
模糊测试
Wireshark/Scapy
19
移动端固件逆向
Android Bootloader
iOS固件结构
固件提取
安全机制
20
IoT设备固件逆向
设备架构
MQTT/CoAP
Zigbee
安全评估
21
路由器固件逆向
固件结构
Web管理分析
命令注入
后门分析
22
摄像头固件逆向
固件结构
RTSP/ONVIF
认证绕过
后门分析
23
打印机固件逆向
固件结构
IPP/PJL
缓冲区溢出
固件修改
24
工控设备固件逆向
PLC/RTU/DCS
Modbus/Profinet
漏洞评估
固件修改
25
汽车电子固件逆向
ECU/CAN总线
CAN协议
固件提取
漏洞与修改
26
固件逆向自动化
Firmwalker
Firmadyne
EMBA/FACT
自动化报告
27
实战项目(一) 智能插座
固件提取
漏洞发现
完整流程
实战演练
28
实战项目(二) 路由器
固件提取
漏洞利用
完整流程
实战案例
29
实战项目(三) 摄像头
固件提取
后门发现
完整流程
实战演练
30
总结与进阶
知识体系总结
学习路径
工具链推荐
未来趋势