参考资料: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. SolrCloud 高可用集群搭建

    1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...

  2. python实现fibonacci数列的三种方法

    第一种:递归法 def fibo(n): if n < 3: return 1 return fibo(n-1) + fibo(n-2) print(fibo(6)) 第二种:循环 def fi ...

  3. 08. Go 语言包(package)

    Go 语言包(package) Go 语言的源码复用建立在包(package)基础之上.Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,必须同 ...

  4. Hive参数调优

    调优 Hive提供三种可以改变环境变量的方法,分别是: (1)修改${HIVE_HOME}/conf/hive-site.xml配置文件: 所有的默认配置都在${HIVE_HOME}/conf/hiv ...

  5. [译]Vulkan教程(02)概况

    [译]Vulkan教程(02)概况 这是我翻译(https://vulkan-tutorial.com)上的Vulkan教程的第2篇. This chapter will start off with ...

  6. 用 Python 图像识别打造一个小狗分类器

    ​ 项目介绍 小狗分类器可以做什么? 通过这个分类器,你只需要上传照片,就可以得到小狗的品种,以及更多的信息. 这就是所谓的「机器学习」,让机器自己去“学习”.我们今天要做的这个分类任务,是一个“监督 ...

  7. Vue小练习 02

    用table标签渲染下面的数据, 最后一列为总分, 第一列为排名 scores = [ {name: 'Bob', math: 97, chinese: 89, english: 67}, {name ...

  8. sublime插件开发教程3

    今天就看下api的使用方法 中文的api文档 https://mux.alimama.com/posts/549.html#sublime.View sublime模块 方法 返回值 描述 set_t ...

  9. 解决“var/log/sysstat/sa21: 没有那个文件或目录 请检查是否允许数据收集”

    想使用sar查看一些系统的一些活动信息,发现报错.记录一下 使用apt install sysstat后第一次 报错 /var/log/sysstat/sa21: 没有那个文件或目录 请检查是否允许数 ...

  10. go语言之if语句和switch语句和循环语句

    1.if语句 package main import ( "fmt" "io/ioutil" ) func main() { //流程控制 //使用常量定义一个 ...