固件模拟运行与调试环境搭建
📚 30章 · 完整目录
v1.0
01
固件模拟概述
什么是固件模拟 · 应用场景:漏洞挖掘、开发调试、安全分析
02
QEMU系统模式基础
QEMU架构 · 系统/用户模式区别 · ARM/MIPS/RISC-V
03
QEMU安装与编译
源码编译 · --target-list · 常见安装问题解决
04
QEMU用户模式模拟
Linux用户模式原理 · 静态/动态链接 · 运行ARM ELF
05
QEMU系统模式模拟
创建虚拟硬件平台 · 加载固件镜像 · 启动流程分析
06
固件提取与识别
binwalk · 固件格式(TRX/Squashfs/Cramfs) · 手动拆解
07
文件系统挂载
Squashfs/JFFS2/UBIFS挂载 · 只读与可写挂载技巧
08
固件重打包技术
修改文件系统后重新打包 · 修复校验和 · 踩坑记录
09
Firmadyne框架入门
Firmadyne架构 · 依赖安装 · 自动化模拟流程
10
Firmadyne实战
模拟D-Link路由器 · 网络接口配置
11
FirmAE框架
FirmAE与Firmadyne区别 · 增强功能 · 安装与使用
12
FirmAE高级调试
内核调试 · 用户态调试 · GDB远程调试固件
13
ARM架构基础
ARM寄存器 · 指令集 · Thumb模式 · ARM/Thumb切换
14
MIPS架构基础
MIPS寄存器 · 延迟槽 · 大端/小端 · 特有指令
15
RISC-V架构基础
RISC-V寄存器 · RV32I/RV64I · 特权级架构
16
GDB调试固件
GDB常用命令 · 远程调试配置 · 断点与内存查看
17
IDA Pro与Ghidra固件分析
加载固件到IDA · 基址修正 · 函数识别
18
固件模拟中的网络配置
桥接网络 · NAT · TAP设备 · 模拟Web服务
19
外设模拟基础
UART模拟 · GPIO模拟 · 中断控制器模拟
20
Fake硬件设备模拟
模拟Flash · 模拟RAM · 模拟NVRAM
21
固件模拟中的文件系统问题
只读文件系统处理 · 临时文件系统 · OverlayFS
22
固件模拟性能优化
QEMU加速器(KVM/HVF) · 多核模拟 · 内存优化
23
固件模拟中的日志与监控
QEMU日志 · GDB日志 · 系统调用跟踪(strace)
24
常见固件模拟失败原因分析
内核崩溃 · 文件系统不兼容 · 缺少驱动 · 内存不足
25
固件模拟中的漏洞复现
模拟环境漏洞触发 · PoC编写 · 漏洞验证
26
固件模糊测试基础
AFL+QEMU · 模糊测试流程 · 覆盖率收集
27
固件模拟与动态分析
Taint分析 · 符号执行 · Angr框架在固件分析中的应用
28
固件模拟自动化流水线
CI/CD集成 · 批量固件模拟 · 结果自动分析
29
固件模拟安全最佳实践
隔离环境 · 网络隔离 · 资源限制 · 日志审计
30
综合实战
从零模拟真实IoT固件(路由器/摄像头) · 完整流程演示