当前位置: 首页 > news >正文

Firmware Analysis Plus (Fap)固件模拟安装教程(最新)

最近在搞IoT的研究,但是难在设备比较难弄,只有固件,而没有设备,买吧,又太费钱,不划算。好在有很多项目可以在模拟环境中运行固件。但是几乎没有一个平台能够模拟所有硬件设备。IoT产品的架构也不尽相同。

在网上看到了这位大佬的文章,可以模拟出一些设备。并且这位大佬改装了一些项目,非常厉害。所以就借他的文章,来搭建一个固件模拟平台。但是弄了好几天,碰了好多坑才弄出来,特此写下这篇文章,来帮助更多的设备研究爱好者,跳过这些坑。

1、使用ubuntu 18.04 系统桌面版

系统下载地址:https://ftp.ubuntu-tw.org/mirror/ubuntu-releases/18.04/

2、配置git代理(在虚拟机上安装,访问本机代理地址)

git config --global http.proxy '192.168.3.1:7890'

3、设置 python 源,加快 python 模块下载速度

找到~/.pip/pip.conf,如果不存在就创建,这一步是为了加快下载 binwalk 依赖,添加以下内容

​
[global]
timeout = 10
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=mirrors.aliyun.compypi.douban.com​
4、安装python 系统集成了python3,没有Python2 
apt install python
5、安装firmware-analysis-plus
git clone https://github.com/liyansong2018/firmware-analysis-plus.git
cd firmware-analysis-plus
./setup.sh

这个安装一般是没有什么问题的

安装完之后,修改 fat.config 文件中的密码,改为 root 系统用户的密码

6、安装 binwalk
git clone https://github.com/liyansong2018/binwalk.git
cd binwalk
./dep.sh
sudo python3 setup.py install

这样就没什么问题了。

7、打包固件

该程序默认给了一个固件,但是没有打包,因此运行不了,需要打包一下进入到

~/firmware-analysis-plus/testcases运行打包命令,将该目录下的所有文件打包为tar文件

tar -czvf wnap320_V3.7.11.4_firmware.tar *    

8、运行固件
./fap.py -q ./qemu-builds/2.5.0/ ./testcases/wnap320_V3.7.11.4_firmware.tar  
9、访问192.168.0.1 进入路由器界面

密码为空,即可登录成功

参考:

使用 firmware-analysis-plus 一键模拟固件_firmware analysis plus-CSDN博客

http://www.lryc.cn/news/257946.html

相关文章:

  • 使用包、Crate 和模块管理项目(上)
  • 【Kotlin】
  • JavaDay17
  • Python爬取酷我音乐
  • 项目实战第四十七讲:易宝支付对接详解(保姆级教程)
  • python的websocket方法教程
  • Qt处理焦点事件(获得焦点,失去焦点)
  • SiteGround如何设置WordPress网站自动更新
  • http代理和SOCK5代理谁更安全?
  • Kotlin关键字二——constructor和init
  • java的long类型超过9位报错:the literal 987654321000 of type int is out of range
  • 【Java期末复习资料】(4)模拟卷
  • 【计算机网络】UDP报文详解
  • 排序算法——归并排序
  • 2023 年安徽省职业院校技能大赛高职组“软件测试”赛项样题
  • Mysql8和Oracle实际项目中递归查询树形结构
  • docker mysql8 设置不区分大小写
  • Audio Siganl (MATLAB) 代码学习—常见问题3
  • 【PTA题目】7-8 矩阵运算 分数 10
  • Ubuntu20.04创建并挂在zfs池
  • x的平方根算法(leetcode第69题)
  • 打破空间限制,畅享真实生活
  • Python基础期末复习 新手 2
  • Java接入ChatGPT接口简单示例
  • 解决夜神模拟器与Android studio自动断开的问题
  • 利用C语言模拟实现堆的基本操作和调堆算法
  • react hooks之useRef和useImperativeHandle
  • scala方法与函数
  • 前端框架(Front-end Framework)和库(Library)的区别
  • mysql原理--B+树索引的使用