在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
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)使用环境的更多相关文章
- Linux环境下配置JDK,java环境
1.查看Linux自带的JDK是否已安装 # java -version 2. 查看JDK信息 # rpm -qa | grep java 显示: java-x.x.x-gcj-compat-x.x. ...
- Ubuntu下配置C/C++开发环境
在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...
- Ubuntu 12.04环境下配置Postgresql和phppgadmin
Ubuntu 12.04环境下配置Postgresql 9.1 和phppgadmin 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianb ...
- Ubuntu环境下配置GCC
Ubuntu网络环境下安装GCC及其头文件步骤: 1.Ubuntu环境下配置GCC 刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装 ...
- 在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools
在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools 网站有提示: The install script won't work, but you can copy ...
- Ubuntu环境下配置Android Studio【转】
本文转载自:https://www.jianshu.com/p/1f6295f9c955 之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手 ...
- wsl环境下配置ubuntu16.04
wsl环境下配置ubuntu16.04 在公司同事的安利下,终于给自己用了8年的老笔记本(戴尔XPS L502X)换上了固态硬盘(WD500G,SATA3接口) 当然,系统重装了一遍,所有的软件也都没 ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- 【经验之谈】Windows环境下配置WordPress
前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...
随机推荐
- Laravel Validator
Controller use Validator; public function Validators(){ $rules = [ 'title' => 'required|max:255', ...
- AoE 搭档 TensorFlow Lite ,让终端侧 AI 开发变得更加简单。
AoE( AI on Edge , https://github.com/didi/AoE ) 是滴滴近期开源的终端侧 AI 集成运行时环境 ( IRE ). 随着人工智能技术快速发展,近几年涌现出了 ...
- GitLab基本设置-新增用户
场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...
- vue中使用element组件时事件想要传递其他参数的问题
在使用element的上传组件时在一下几个钩子中传递其他参数 图中是文件上传时的几个钩子,参数为文件或文件列表或者其他参数,但是现在我想在原有参数上传递其他参数.比如我想在on-success的钩子中 ...
- Tesseract.js 一个几乎能识别出图片中所有语言的JS库
Tesseract.js 一个几乎能识别出图片中所有语言的JS库. 官网:http://tesseract.projectnaptha.com/ git:https://github.com/napt ...
- ES6-promise对象的使用
Promise 的含义(摘自阮一峰ES6ru) Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一 ...
- MySQL数据库:数据完整性及约束的应用
数据完整性 1.域完整性:---------匹配完整性:非空.缺省 字段/列 2.实体完整性:-------匹配完整性:主键.唯一键 记录/行 3.引用完整性:-------匹配完整性:外键 表与表之 ...
- gunicorn Python部署应用
对于flask应用 启动命令为 python app.py 使用gunicorn启动 pip install gunicorn python gunicorn --workers=7 switch_a ...
- Java之DateFormat类
DateFormat类概述 java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进 ...
- 剑指Offer-43.左旋转字符串(C++/Java)
题目: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abcX ...