我们知道,冰人的固件一直是proxmark3固件里面最强的
今天介绍一下如何安装冰人的固件到proxmark3~
安装所需的依赖项
在Debian / Ubuntu / Kali / ParrotOS / Raspbian上
首先,我们要做的是获取系统更新。如果需要升级,请在安装前执行此操作。在遵循这些说明之前,先进行了升级。
更新软件包列表
sudo apt-get update
接下来安装依赖
sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbluetooth-dev
在ArchLinux上
sudo pacman -Sy git base-devel readline arm-none-eabi-gcc arm-none-eabi-newlib qt5-base bluez –needed
如果您不需要客户端中的本地蓝牙支持,则可以跳过的安装bluez
。
如果不需要Proxmark3客户端的图形组件(如hw tune
),则可以跳过的安装qt5-base
。
克隆Iceman的代码仓库
git clone https://github.com/RfidResearchGroup/proxmark3.git
检查ModemManager
由于Linux系统中可能存在ModemManager,从而干扰系统和proxmark3的通信。
因此,如果出现错误我们需要关闭ModemManager。具体方法参见这篇文章https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/ModemManager-Must-Be-Discarded.md
如果后续步骤没有出现错误,可以跳过这一步。
检查连接
安装完依赖软件包后,我们需要查看一下电脑是否正常连接到了proxmark3.
输入
sudo dmesg | grep -i USB
它应显示为CDC设备,内容类似下面这样:
usb 2-1.2: Product: PM3
usb 2-1.2: Manufacturer: proxmark.org
cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
编译和使用项目
客户端和Proxmark3固件应始终保持同步。但是,可以根据Proxmark3平台和选件来调整固件。
实际上,RRG / Iceman分支也可以在其他Proxmark3硬件平台上使用。
通过一些定义,可以调整给定平台的固件,还可以添加功能(例如支持Blue Shark附加组件)
首先 进入proxmark3所在文件夹,并拉取最新更新
cd proxmark3
git pull
清空以前的编译缓存并编译所有内容
make clean && make all
注意⚠️
这一步如果没有出错,代表编译成功。
但是需要注意的是,默认的配置编译的固件并不适合256kb内存的中国版proxmark3.
如果直接刷固件会提示出错。
我们需要执行下面这条命令
echo "PLATFORM=PM3OTHER" > Makefile.platform
这个十分重要,我有一次固件刷不进去就是这个原因。
刷新BOOTROM和FULLIMAGE
在大多数情况下,可以在多个操作系统上运行以下脚本来尝试自动检测要使用的端口:
./pm3-flash-all
正常情况下就可以刷写成功,输入pm3命令,即可进入命令行界面
pm3