FirmAE安装指北

FirmAE安装指北


本文来源于个人FirmAE安装经历。写出来也是为了帮助在固件模拟上浪费生命的大家…
以下为安装中需要用到的链接
FiremAE
routersploit
binwalk

download

首先是download问题。先说一句直接跑脚本大概率是要寄的…
download脚本全是从git上面下东西,裸连基本不可能完整下载好。
目前有两个解决方法:

1.挂代理,用proxychains跑脚本。
这个大家懂的都懂,有条件的可以考虑。没有条件的看下一个办法

2.手工下载
先说明一下这个办法我没有测试过,但基本上应该可行,应该适用于无代理情况
这里先贴一下download脚本

#!/bin/sh

set -e

download(){
 wget -N --continue -P./binaries/ $*
}

echo "Downloading binaries..."

echo "Downloading kernel 2.6 (MIPS)..."
download https://github.com/pr0v3rbs/FirmAE_kernel-v2.6/releases/download/v1.0/vmlinux.mipsel.2
download https://github.com/pr0v3rbs/FirmAE_kernel-v2.6/releases/download/v1.0/vmlinux.mipseb.2

echo "Downloading kernel 4.1 (MIPS)..."
download https://github.com/pr0v3rbs/FirmAE_kernel-v4.1/releases/download/v1.0/vmlinux.mipsel.4
download https://github.com/pr0v3rbs/FirmAE_kernel-v4.1/releases/download/v1.0/vmlinux.mipseb.4

echo "Downloading kernel 4.1 (ARM)..."
download https://github.com/pr0v3rbs/FirmAE_kernel-v4.1/releases/download/v1.0/zImage.armel
download https://github.com/pr0v3rbs/FirmAE_kernel-v4.1/releases/download/v1.0/vmlinux.armel

echo "Downloading busybox..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/busybox.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/busybox.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/busybox.mipsel

echo "Downloading console..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/console.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/console.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/console.mipsel

echo "Downloading libnvram..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram.so.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram.so.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram.so.mipsel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram_ioctl.so.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram_ioctl.so.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/libnvram_ioctl.so.mipsel

echo "Downloading gdb..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdb.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdb.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdb.mipsel

echo "Downloading gdbserver..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdbserver.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdbserver.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/gdbserver.mipsel

echo "Downloading strace..."
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/strace.armel
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/strace.mipseb
download https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/strace.mipsel

echo "Done!"

懒得看的我直接说结论了:
这个破烂脚本说白了就是把上面那一堆url里的东西下载完了往repo目录下的binary目录里一丢…
所以你需要做的就是手动下载这些玩意然后丢进去就行了…(先进的智能下载技术)

install

跑之前先给大家几个建议

1.确保自己的qemu环境正常
贴一下install.sh里面涉及qemu的部分

# for qemu
sudo apt-get install -y qemu-system-arm qemu-system-mips qemu-system-x86 qemu-utils

如果你自己手动编译安装了qemu建议注释掉这个,否则会弄乱qemu环境。
像我之前瞎折腾搞到qemu环境不正常的,建议把qemu相关包全删了(如果编译安装的话连/bin里面都要删),保证环境干净之后直接跑这个脚本
2.检查一下postgresql
没什么原因,这玩意安firmadyne会自己装个postgresql,加一点配置,不要让它给你弄乱就好
3.网络问题
老生常谈,它会clone一堆项目,所以最好走代理(当然不行我也会给出解决办法)

下面这个是经典问题
在这里插入图片描述
问题在哪呢?这时候你如果去看看analyses目录下面的routersploit目录,会发现它是个空的,空的…
这个repo在自己的目录里面引入了routersploit的源项目,但不知道为什么,clone下来直接是个空项目。解决方法自然简单粗暴:直接停掉脚本,去官方repo下载压缩包,解压完顶替掉这个空文件夹,再接着跑install.sh就行了。注意文件夹名字要保持一致(routersploit)

一般来说这里问题解决差不多了,一路跑脚本就可以解决了。


经@t1anx1n提醒,是git clone的问题,官方的readme里面提到了要这么clone:

$ git clone --recursive https://github.com/pr0v3rbs/FirmAE

实际上就是循环克隆子项目


成品展示

在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
STM32F407模拟U盘固件升级是通过将STM32F407单片机作为一个虚拟的U盘设备,在电脑上进行固件升级操作的过程。 首先,我们需要连接STM32F407开发板和电脑,通过USB接口将STM32F407连接到电脑上。 然后,在STM32F407的固件中,需要实现USB设备功能,并设置为虚拟U盘设备。这需要使用STM32CubeMX软件进行配置,选择USB Device模块,并配置为Mass Storage设备模式。 接着,需要在固件中编写相应的应用程序,实现固件升级的功能。这包括接收来自电脑的固件升级文件,将文件数据保存在STM32F407的存储器中。 在固件中,还需要实现固件校验的功能,确保升级文件的完整性和正确性。可以通过计算文件的CRC校验码,并将其与预先计算好的校验码进行比较。 在固件升级的过程中,首先用户需要将电脑上的固件升级工具运行起来,并选择固件升级的选项。然后,电脑会识别STM32F407模拟的U盘设备,并将升级文件传输到STM32F407上。 在固件传输完成后,STM32F407会进行固件校验,确认升级文件的完整性和正确性。如果校验通过,STM32F407会将升级文件写入Flash存储器中,完成固件升级。 最后,在固件升级完成后,STM32F407会重新启动,加载新的固件程序,并开始运行。 总的来说,STM32F407模拟U盘固件升级是通过将STM32F407作为虚拟U盘设备,在电脑上进行固件升级的过程,需要实现USB设备功能和固件校验功能,确保升级文件的完整性和正确性。这种方案可以方便快捷地进行固件升级,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值