参考资料: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
git pull
make clean && make all

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

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

git clone https://github.com/Proxmark/proxmark3.git [指定目录]
cd [指定目录]
git pull
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的相关命令

root@orangepizeroplus:~/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)使用环境的更多相关文章

  1. Linux环境下配置JDK,java环境

    1.查看Linux自带的JDK是否已安装 # java -version 2. 查看JDK信息 # rpm -qa | grep java 显示: java-x.x.x-gcj-compat-x.x. ...

  2. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

  3. Ubuntu 12.04环境下配置Postgresql和phppgadmin

    Ubuntu 12.04环境下配置Postgresql 9.1 和phppgadmin 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianb ...

  4. Ubuntu环境下配置GCC

    Ubuntu网络环境下安装GCC及其头文件步骤: 1.Ubuntu环境下配置GCC 刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装 ...

  5. 在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools

    在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools 网站有提示: The install script won't work, but you can copy ...

  6. Ubuntu环境下配置Android Studio【转】

    本文转载自:https://www.jianshu.com/p/1f6295f9c955 之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手 ...

  7. wsl环境下配置ubuntu16.04

    wsl环境下配置ubuntu16.04 在公司同事的安利下,终于给自己用了8年的老笔记本(戴尔XPS L502X)换上了固态硬盘(WD500G,SATA3接口) 当然,系统重装了一遍,所有的软件也都没 ...

  8. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  9. 【经验之谈】Windows环境下配置WordPress

    前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...

随机推荐

  1. wpf 模拟抖音很火的罗盘时钟,附源码,下载就能跑

    wpf 模拟抖音很火的罗盘时钟,附源码 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~  错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了就用wpf, ...

  2. autojump 之 git本地安装

      1.克隆autojump的repo,Terminal下执行:      git clone git://github.com/joelthelion/autojump.git      然后进入c ...

  3. delphi使用Foxit Quick PDF Library读写pdf文本和图片

    简介: Debenu Quick PDF Library(PDF编程开发工具)提供一套全方位的 PDF API 函数,帮助您快速简便地处理 PDF 文件.从文档属性的基本操作到创建您自己的 PDF 查 ...

  4. JavaScript 标准内置对象Promise使用学习总结

    Javascript标准内置对象Promise使用学习总结   by:授客 QQ:1033553122 1.   基础用法 var condition = true; let p = new Prom ...

  5. CODING 2.0:为什么我们需要 DevOps

    CODING 在前两天的 Kubecon 2019 大会上发布了 CODING 2.0.这背后是 CODING 对研发管理和研发团队组建的思考.从 CODING 成立以来,我们一直在探索"让 ...

  6. ORA-14061: 不能更改索引分区列的数据类型或长度

    修改分区表主键时报错: 在行: 2 上开始执行命令时出错 -alter table KC23 modify AAZ210 VARCHAR2(50)错误报告 -SQL 错误: ORA-14061: 不能 ...

  7. Oracle 分页 ROWNUM 两种分页方法和ROWID用法

    一 原因一 oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列 测试表 CREATE TABLE A ( AID NUMBER() primary key, ANAME ...

  8. MYSQL5.7 INDEXES之如何使用索引(一)

    Most MySQL indexes (PRIMARY KEY, UNIQUE, INDEX, and FULLTEXT) are stored in B-trees. Exceptions: Ind ...

  9. November 10th, Week 45th, Sunday, 2019

    Perfection has no place in love. 爱从不完美. Perfection has no place in love, and we should always try to ...

  10. spanish-1.1

    1.1. ¿Cómo te llamas?Ana : ¿Cómo te llamas?Paco: Buenos dias. Yo soy Paco. Y tú, ¿cómo te llemas?Ana ...