基于ubuntu的proxmark3编译使用

官方的指南:
https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux

我的系统是 ubuntu 18.04 x64

1)安装工具,编译器等
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

2)获取源代码
git clone https://github.com/proxmark/proxmark3.git
cd proxmark3
git pull

3)安装linux的usb规则
sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules
sudo udevadm control --reload-rules

4)把用户加入到 dialout 组,并且注销重新进入确保成功
sudo adduser $USER dialout

5)编译
make clean && make all

6)插入 proxmark3 
dmesg | grep -i usb

[95101.025870] usb 3-4: new full-speed USB device number 2 using xhci_hcd
[95101.845904] usb 3-4: device descriptor read/64, error -71
[95112.550785] usb 3-4: New USB device found, idVendor=2d2d, idProduct=504d, bcdDevice= 0.01
[95112.550788] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[95112.550790] usb 3-4: Product: PM3
[95112.550792] usb 3-4: Manufacturer: proxmark.org
[95112.646926] cdc_acm 3-4:1.0: ttyACM0: USB ACM device

这是新版的 cdc 驱动,也就是模拟串口,对应的设备是 /dev/ttyACM0

7)烧录镜像(可选)

最开始使用的 libusb 的 HID 驱动,后来改了 CDC 虚拟串口驱动,但已经有好几年时间了。
所以这里不介绍老的HID驱动,可以自己去官方wifi看。
这里介绍 CDC 驱动


如果中途退出了,别怕,只要bootrom还在,就可以重新烧录
按着板上的按键不放,重新插拔usb,则强制进入升级模式,不要松开按键,一直按着
执行升级命令,直到升级完成才松手。
升级很快,10秒就完成,如果失败了,可以按照这个步骤重新做。


1,烧录 bootrom,!!!!!! 没有必要,不要随便烧bootrom,可能变砖 !!!!!!!!!!
变砖了只能用jtag来重新烧录了,不过好在有JTAG接口,也不是难事。
首先需要强制进入升级模式,方法是:按着板上的按键不放,重新插拔usb,按键不要送收,运行命令

$ client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf

Loading ELF file 'bootrom/obj/bootrom.elf'...
Loading usable ELF segments:
0: V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
1: V 0x00200000 P 0x00100200 (0x00000cd4->0x00000cd4) [R X] @0x298

Waiting for Proxmark to appear on /dev/ttyACM0 ......
 Found.

Flashing...
Writing segments for file: bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 1 blocks]. OK
 0x00100200..0x00100ed3 [0xcd4 / 7 blocks]....... OK

Resetting hardware...
All done.

Have a nice day!

2,烧录单片机和FPGA固件

$ client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf

Loading ELF file 'armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x00030250->0x00030250) [R X] @0x94
1: V 0x00200000 P 0x00132250 (0x00001238->0x00001238) [RW ] @0x302e4
Note: Extending previous segment from 0x30250 to 0x31488 bytes

Waiting for Proxmark to appear on /dev/ttyACM0 ...............
 Found.

Flashing...
Writing segments for file: armsrc/obj/fullimage.elf
 0x00102000..0x00133487 [0x31488 / 395 blocks]........................................................................................................................................................................................................................................................................................................................................................................................................... OK

Resetting hardware...
All done.

Have a nice day!


8)使用
运行客户端软件:运行硬件的一些信息

$ client/proxmark3 /dev/ttyACM0

Prox/RFID mark3 RFID instrument          
bootrom: master/v3.1.0-197-gebf1404-suspect 2020-06-29 02:15:00
os: master/v3.1.0-197-gebf1404-suspect 2020-06-29 02:15:01
fpga_lf.bit built for 2s30vq100 on 2019/11/21 at 09:02:37
fpga_hf.bit built for 2s30vq100 on 2020/03/05 at 19:09:39
SmartCard Slot: not available
          
uC: AT91SAM7S256 Rev D          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 256K bytes. Used: 210055 bytes (80%). Free: 52089 bytes (20%).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory    


简单的使用 :

运行客户端,连接上的话显示版本信息,CPU信息等

$ client/proxmark3 /dev/ttyACM0

Prox/RFID mark3 RFID instrument          
bootrom: master/v3.1.0-197-gebf1404-suspect 2020-06-29 02:15:00
os: master/v3.1.0-197-gebf1404-suspect 2020-06-29 02:15:01
fpga_lf.bit built for 2s30vq100 on 2019/11/21 at 09:02:37
fpga_hf.bit built for 2s30vq100 on 2020/03/05 at 19:09:39
SmartCard Slot: not available
          
uC: AT91SAM7S256 Rev D          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 256K bytes. Used: 210055 bytes (80%). Free: 52089 bytes (20%).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory     
     
proxmark3> 

例如一些命令
1)系统命令,获取状态,版本等
proxmark3>hw status
proxmark3>hw version
proxmark3>hw tune
proxmark3>quit

2)读取iso14443a 卡的信息,这里是 m1卡
proxmark3> hf 14a info
#db# ISO14443A Timeout set to 1060 (10ms)          
#db# ISO14443A Timeout set to 10 (0ms)          
#db# ISO14443A Timeout set to 1060 (10ms)          
 UID : 6f 91 aa e9          
ATQA : 00 04          
 SAK : 08 [2]          
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1          
proprietary non iso14443-4 card found, RATS not supported          
#db# ISO14443A Timeout set to 1060 (10ms)          
No chinese magic backdoor command detected          
#db# ISO14443A Timeout set to 1060 (10ms)          
#db# ISO14443A Timeout set to 10 (0ms)          
#db# ISO14443A Timeout set to 1060 (10ms)          
Prng detection: WEAK          
proxmark3> 


3)模拟作为一张M1卡,uid=12345678 ,可以放到读卡器上面读取。
proxmark3> hf mf sim u 12345678
mf sim cardsize: 1K, uid: 12 34 56 78, numreads:0, flags:2 (0x02)           
#db# 4B UID: 12345678          
#db# SAK:    08          
#db# ATQA:   00 04          
#db# ISO14443A Timeout set to 1060 (10ms)          
proxmark3> 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Proxmark3是一种硬件设备,通常用于无线通信的安全测试和研究。冰人固件是一种可用于Proxmark3的固件,它的目的是提供更多功能和改进性能。 刷冰人固件是指将Proxmark3的原始固件升级为冰人固件。刷固件过程需要特定的工具和步骤,首先,我们需要下载冰人固件的最新版本,并确保Proxmark3的固件版本与之兼容。 接下来,我们需要连接Proxmark3设备到计算机上,并通过使用适当的命令行工具或图形界面工具来刷写冰人固件。这个过程通常需要使用命令行工具,比如GitHub上提供的提供的官方固件刷写工具。 在刷写冰人固件之前,我们需要备份Proxmark3的原始固件,以防万一出现问题。然后,我们可以将冰人固件文件加载到刷写工具中,并按照说明进行固件刷写。 刷写过程完成后,我们可以重新启动Proxmark3设备,并验证冰人固件是否成功刷入。我们可以通过测试一些特定功能或使用特定命令来确认新固件的可用性。 总的来说,刷冰人固件是为了增加Proxmark3设备的功能和性能,可以提供更多的安全测试和研究选项。但刷写固件需要谨慎操作,并确保使用兼容的固件和正确的刷写方法。 ### 回答2: Proxmark3刷冰人固件是指将Proxmark3设备的系统固件替换为名为"冰人"的固件。冰人固件是由全球开放式无线电刺激社区(OpenPCD)开发的开源无线电刺激工具的固件。 首先,要刷冰人固件,需要一个支持刷写固件的Proxmark3设备,并确保设备已连接到计算机上。 第一步是下载最新版本的冰人固件。可以在OpenPCD的官方网站上找到最新的固件版本,并确保下载正确的版本。 接下来,将Proxmark3设备连接到计算机上,并使用一个支持开发板固件烧录的软件,如DFU-util或OpenOCD。使用这些软件,可以将冰人固件刷写到Proxmark3设备中。 在烧录固件之前,确保在刷写之前备份Proxmark3设备中的原始固件。这是为了防止刷写失败或出现其他问题时可以恢复到原始状态。 一旦备份完成,可以使用烧录工具将冰人固件刷写到Proxmark3设备中。根据所使用的烧录工具,可能需要在命令行中输入相应的命令来执行刷写过程。 刷写完成后,重新连接Proxmark3设备到计算机上,并通过命令行或相应的Proxmark3软件来测试设备是否成功刷写为冰人固件。 总之,Proxmark3刷冰人固件需要下载正确的固件版本,并使用相应的烧录工具将固件刷写到设备中。确保备份原始固件,并在刷写完成后进行测试确认。刷写完成后,Proxmark3设备就可以使用冰人固件进行更多的无线电刺激实验和应用。 ### 回答3: 要使用Proxmark3刷写冰人固件,首先需要将Proxmark3设备连接到电脑上。接下来,我们需要下载并安装Proxmark3的固件刷写工具,例如官方的Git仓库或其他可靠来源。 一旦Proxmark3设备和固件刷写工具准备就绪,我们可以按照以下步骤来刷写冰人固件: 1. 在电脑上打开终端或命令提示符,进入Proxmark3固件刷写工具所在的目录。 2. 将Proxmark3设备连接到电脑上的USB接口。 3. 运行固件刷写工具,并使用命令行指令进入刷写模式。 4. 在刷写模式下,我们需要下载冰人固件的二进制文件(通常以`.bin`或`.img`为扩展名)。可以在Proxmark3论坛、Github等地方找到可用的冰人固件版本。 5. 将冰人固件文件复制到Proxmark3固件刷写工具所在的目录。 6. 运行刷写命令,将冰人固件刷写到Proxmark3设备上。刷写命令通常为`hf mf`或类似的指令,具体命令根据不同的工具和固件版本可能会有所不同。 7. 等待刷写过程完成,这可能需要一些时间。在刷写过程中,不要断开Proxmark3设备与电脑的连接。 8. 刷写完成后,可以根据需要进行一些额外的设置和配置。 9. 最后,断开Proxmark3与电脑的连接,固件刷写过程就完成了。 需要注意的是,操作Proxmark3设备和刷写固件是一项技术性较强的任务,需要一定的专业知识和经验。同时,在刷写固件时要小心操作,以免损坏设备或导致其他问题。建议在进行这些操作之前,先仔细阅读并理解相关的文档和指导,或是寻求专业人员的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值