在Ubuntu环境下配置Proxmark3(PM3)使用环境

Posted wh201906

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu环境下配置Proxmark3(PM3)使用环境相关的知识,希望对你有一定的参考价值。

参考资料:PM3官方Wiki
因为国内网络上大多是在Kali系统上使用PM3的教程(链接1链接2链接3),而这些教程的步骤对于Ubuntu系统并不完全适用。所以写下本文,记录我个人的安装经历。

本教程与官方Wiki相比省略了部分步骤,仅验证过在全程root用户操作时可行,建议按照官方英文教程进行安装
官方Wiki中的刷写固件步骤(Flashing XXX)非必须且风险较大,除非有需求,否则不要轻易刷固件,容易变砖

一、安装必要软件包

在终端中依次执行以下命令

sudo apt update
sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd

对比在Kail系统下执行的命令,可发现Ubuntu环境下需要添加libstdc++-arm-none-eabi-newlib、p7zip等安装包。其中libstdc++-arm-none-eabi-newlib是编译PM3源码时所必需的,用于交叉编译ARM程序的C++库。缺失该安装包会导致后续编译过程中频繁出现找不到头文件的错误。猜测Kali系统中已包含该安装包

二、下载、编译PM3源码

在终端中依次执行以下命令

git clone https://github.com/Proxmark/proxmark3.git
cd proxmark3
make clean && make all

完成之后当前目录下会出现一个叫proxmark3的文件夹,里面包含了编译好的PM3固件,PM3主程序等文件

若要将PM3安装到其它目录下,则执行以下命令

git clone https://github.com/Proxmark/proxmark3.git [指定目录]
cd [指定目录]
make clean && make all

不建议直接下载PM3的zip源码使用,因为很可能出现问题

三、运行PM3

连接PM3硬件,在终端中输入dmesg | grep -i usb,查看PM3所在端口
若终端显示如下内容(出现Product: proxmark3以及USB ACM device)则说明PM3硬件连接成功

[ 1456.372962] usb 6-1: New USB device found, idVendor=9ac4, idProduct=4b8f, bcdDevice= 0.01
[ 1456.372980] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1456.372990] usb 6-1: Product: proxmark3
[ 1456.372999] usb 6-1: Manufacturer: proxmark.org
[ 1456.411452] cdc_acm 6-1:1.0: ttyACM0: USB ACM device

记录下端口号(ttyACM?),依次执行

cd client
./proxmark3 /dev/ttyACM0

其中ttyACM0用刚才的端口号替换

成功运行PM3后的界面如下,其中含有PM3的固件信息、硬件信息,同时最后会等待输入PM3的相关命令

[email protected]:~/proxmark3/client# ./proxmark3 /dev/ttyACM0
Prox/RFID mark3 RFID instrument
bootrom: ……
os: ……
fpga_lf.bit built for……
fpga_hf.bit built for……
SmartCard Slot: not available

uC: AT91SAM7S……
Embedded Processor: ARM7TDMI
Nonvolatile Program Memory Size: ……
Second Nonvolatile Program Memory Size: None
Internal SRAM Size: 64K bytes
Architecture Identifier: AT91SAM7S……
Nonvolatile Program Memory Type: Embedded Flash Memory
proxmark3>

如果在端口号正确的情况下出现ERROR: invalid serial port,则需要拔插数据线重新连接PM3然后再试

2019.06.26

以上是关于在Ubuntu环境下配置Proxmark3(PM3)使用环境的主要内容,如果未能解决你的问题,请参考以下文章

RFID Hacking②:PM3入门指南

acr122跟pm3哪个好

Proxmark3 小白入门 复制 NXP MIFARE CLASSIC 1k 卡

如何在ubuntu14.04下配置安卓开发环境

怎么样在ubuntu环境下配置sdk

如何在ubuntu14.04下配置安卓开发环境