在固件安全分析领域,FirmAE 是一个非常好用的全自动化固件模拟工具。但很多人在 Windows 环境下搭建它时会遇到各种坑——网络配置、依赖缺失、权限问题……
本文基于 Win 11 WSL 2 环境,手把手带你从零搭建 Ubuntu 20.04 + FirmAE,并以 D-Link DIR-868L 固件为例完成模拟。
一、安装 Ubuntu 20.04
打开 PowerShell(管理员模式),直接跑一行命令:
系统会自动下载 Ubuntu 20.04(约 200MB),完成后自动弹出配置窗口,设置你的用户名和密码即可。
💡 注意:Linux 下密码输入时不显示任何字符,直接敲完回车即可,这不是键盘坏了 😄
二、更新系统 & 安装依赖
进入 WSL 后,先更新包索引,然后安装 FirmAE 所需的依赖:
wyj@DESKTOP:~$ sudo apt install -y \
binwalk mtd-utils u-boot-tools \
build-essential zlib1g-dev liblzma-dev \
liblzo2-dev device-tree-compiler \
qemu-system-arm qemu-system-mips \
qemu-utils git python3-pip docker.io
这些包加起来大概 1.2GB 左右,取决于你的网络速度,等它装完就好。
三、克隆 & 安装 FirmAE
从 GitHub 克隆 FirmAE 仓库:
https://github.com/pr0v3rbs/FirmAE
wyj@DESKTOP:~$ cd FirmAE
依次执行三个脚本完成安装:
wyj@DESKTOP:~/FirmAE$ sudo ./install.sh
wyj@DESKTOP:~/FirmAE$ sudo ./init.sh
🔍 说明:
• download.sh — 下载预编译的二进制文件及数据库
• install.sh — 安装 FirmAE 核心依赖
• init.sh — 初始化网络配置(创建虚拟网桥等)
四、下载固件并运行模拟
以 D-Link DIR-868L(固件版本 revB 2.05b02)为例:
wyj@DESKTOP:~/FirmAE$ # 把 DIR-868L 固件放到 firmwares/dlink/ 下
wyj@DESKTOP:~/FirmAE$ sudo ./run.sh -c dlink \
firmwares/dlink/DIR-868L_fw_revB_2-05b02.zip
🐛 踩坑记录:binwalk 缺失
第一次运行可能会遇到这个错误:
这是 FirmAE 目录下自带的 binwalk 子模块没装上。手动安装即可:
wyj@DESKTOP:~/FirmAE/binwalk-2.3.4$ sudo python3 setup.py install
✅ 成功运行
再次运行 FirmAE,就能看到成功的输出:
✅ 网络可达 192.168.0.1 — 模拟完成!
✅ Web 服务 192.168.0.1 — 可以直接访问路由器管理页面
五、在 WSL 中使用图形界面
WSL 2 原生支持 GUI(WSLg),你甚至可以直接在 WSL 里启动 Firefox:
wyj@DESKTOP:~$ firefox
Firefox 会自动在 Windows 桌面打开,输入 192.168.0.1 就能直接访问模拟出来的路由器管理界面了。
⚠️ 如果看到 Failed to create DBus proxy 的警告,不要慌——这是 WSLg 环境下缺少 a11y 服务,不影响 Firefox 正常运行。
总结
至此,你已经在 Windows 11 WSL 2 环境下成功搭建了 Ubuntu 20.04 + FirmAE,并完成了 DIR-868L 固件的全自动化模拟。这套流程同样适用于其他支持 FirmAE 的固件(DIR 系列、Tenda、TP-Link 等)。
📌 快速回顾:
① wsl --install -d Ubuntu-20.04
② 安装依赖 → ③ 克隆 FirmAE → ./download.sh && ./install.sh && ./init.sh
④ ./run.sh -c brand firmware.zip
📋 如需粘贴到微信公众号后台,请复制以下纯内联 HTML:
打开下方链接,查看 FirmAE-WSL-安装指南_wechat.html,全选复制后粘贴到公众号编辑器即可。图片需手动上传到微信 CDN 后替换 src 地址。