Git Product home page Git Product logo

proxmark3gui's Introduction

Proxmark3GUI

downloads
downloads

A cross-platform GUI for Proxmark3/Proxmark3 Iceman fork client

(The orignal Proxmark3 repo has been unmaintained for a long time. I personally suggest using the Proxmark3 Iceman fork)

中文介绍


Features

  • Easy to find available Serial Port
  • Support raw commands of Proxmark3 client(Official/Iceman)
  • Have a friendly UI to test Mifare cards
    • Support different card size(MINI, 1K, 2K, 4K)
    • Easy to edit Mifare block data
    • Easy to read all/selected blocks with well-designed read logic
    • Easy to write all/selected blocks
    • Support binary(.bin .dump) files and text(.eml) files
    • Analyze Access Bits
    • Support Chinese Magic Card
  • Have basic support for LF commands
  • Customize UI
  • ...

Preview

preview

more previews


About Compiled Windows clients

A cool guy Gator96100 creates ProxSpace and makes it possible to compile both the firmware and the client on Windows.
Also, he makes the pre-compiled Windows client so you can download it and run your PM3 client on Windows instantly.
I included his compiled client in my releases so you can use the GUI on the fly, and you can also use the GUI with your prefered client.
Great thanks to him.


Download binaries for Windows

You can download pre-built Windows binaries in release page
Vx.x.x-win64.7z only contains the GUI
Vx.x.x-win64-xxxxxxx.7z contains the GUI and corresponding client. You just need to open Vx.x.x-win64-xxxxxxx\GUI\Proxmark3GUI.exe

You can also download them in SourceForge
Download Proxmark3GUI

Build on Linux

cd ~
sudo apt-get update
sudo apt-get install git build-essential
sudo apt-get install qt5-default libqt5serialport5-dev
git clone https://github.com/wh201906/Proxmark3GUI.git --depth=1
cd Proxmark3GUI
mkdir build && cd build
qmake ../src
make -j4 && make clean
./Proxmark3GUI

Build on macOS

cd ~
brew update
brew install qt@5
brew link qt5 --force
git clone https://github.com/wh201906/Proxmark3GUI.git --depth=1
cd Proxmark3GUI
mkdir build && cd build
qmake ../src
make -j4 && make clean
open Proxmark3GUI.app

In order for the GUI to connect to the device in macOS, you'd need to tweak the settings a little bit

macOS_settings


Tutorial

1.Quickstart
2.Work with ProxSpace
3.Edit Mifare Classic data(Proxmark3 hardware is not necessary)


Change Log

Change Log

proxmark3gui's People

Contributors

ruling avatar rzhq avatar wh201906 avatar zxkmm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proxmark3gui's Issues

Failed to connect to the hardware

Hi, I need some help if possible. I am faced with a problem that I cannot overcome.
In terminal mode, I connect safely with "pm3". while with Proxmark3GUI, I get a "Failed to connect to the hardware" error.
I double checked the path and serial port ttyACM0 and both are correct.
What could this error be caused by?
My proxmark3 is the 256kb version, compiled without LF, STANDALONE and FELICA.

Errore_Proxmark3GUI

Not compatible with new Iceman/RRG repo | 新iceman客户端不再适用

新版本iceman客户端似乎改了不少命令

[usb|script] pm3 --> hf mf rdbl 0 A FFFFFFFFFFFF
hf mf rdbl: unexpected argument "0"
hf mf rdbl: unexpected argument "A"
hf mf rdbl: unexpected argument "FFFFFFFFFFFF"
[!] Try 'hf mf rdbl --help' for more information.


[usb|script] pm3 --> hf mf rdbl

Read MIFARE Classic block

usage:
    hf mf rdbl [-habv] --blk <dec> [-k <hex>]

options:
    -h, --help                     This help
    --blk <dec>                    block number
    -a                             input key type is key A (def)
    -b                             input key type is key B
    -k, --key <hex>                key, 6 hex bytes
    -v, --verbose                  verbose output


examples/notes:
    hf mf rdbl --blk 0 -k FFFFFFFFFFFF
    hf mf rdbl -b 3 -v             -> get block 3, decode sector trailer
                                  



[usb|script] pm3 --> hf mf rdbl --blk 1 -a -k FFFFFFFFFFFF


[=]   # | sector 00 / 0x00                                | ascii
[=] ----+-------------------------------------------------+-----------------
[=]   1 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 

Connection on ubuntu 22.04 to device not working

Issue:
Trying to connect to a device on Ubuntu 22.04 failes with the error message:

unexpected output: "Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\n"

Steps to reproduce:

  • Execute the GUI
  • Push the Connect button

Preliminary analysis of the issue:
Using wayland promts in an additional message from the client. This is not expected from the GUI and breaks the connection. The issue is in the function PM3Process::connectPM3. Setting a breakpoint in the function is a work around, because then reading the output from the command line is delayed and the string os: is available in the result variable.

Proposed fix:
If the error message is in the result variable wait long until the expected string is available in the result variable.

no member named 'textChanged' in 'QSpinBox'

win qt5.12.8
Proxmark3GUI-master\ui\mf_trailerdecoderdialog.cpp:18: error: no member named 'textChanged' in 'QSpinBox'

Proxmark3GUI-master\ui\mf_trailerdecoderdialog.cpp:18: error: 'textChanged' is not a member of 'QSpinBox'
connect(ui->C0Box, &QSpinBox::textChanged, this, &MF_trailerDecoderDialog::on_boxChanged);
^~~~~~~~~~~

关于hardnested算nonces.bin

计算nonces.bin在有些电脑上会显示
Couldn't read benchmark data. Assuming brute force rate of 120000000 states per second
请问这种情况一般是哪方面的问题。
12700h和7700h,12900h都试过,系统都是win11 22h2

Help

This is the message I get after copy and pasting the build code. Is there something I need downloaded before doing this? I already set up my Prox and its working fine with the Iceman build. I just wanted to try this out.

Message:
Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'qt5-default' has no installation candidate
Cloning into 'Proxmark3GUI'...
remote: Enumerating objects: 517, done.
remote: Counting objects: 100% (517/517), done.
remote: Compressing objects: 100% (498/498), done.
remote: Total 517 (delta 22), reused 468 (delta 13), pack-reused 0
Receiving objects: 100% (517/517), 3.59 MiB | 1.45 MiB/s, done.
Resolving deltas: 100% (22/22), done.
Info: creating stash file /home/kali/Proxmark3GUI/build/.qmake.stash
Project ERROR: Unknown module(s) in QT: serialport
make: *** No targets specified and no makefile found. Stop.
zsh: no such file or directory: ./Proxmark3GUI

Debian Make error | Debian 编译时报错

/module/lf.cpp line 87 QT::SkipEmptyParts

Make Error : SkipEmptyParts is not a member of QT

Change to QString::SkipEmptyParts

Make success

May QT5 not support QT::SkipEmptyParts

Ubuntu 22.04 and Iceman Fork does not work

Issue:

Using the iceman proxmark3 fork (https://github.com/RfidResearchGroup/proxmark3) results in the following error.

[=] Session log /home/setime/.proxmark3/logs/log_20231029063100.txt
[+] loaded from JSON file `/home/setime/.proxmark3/preferences.json`
[=] Using UART port /dev/ttyACM0
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Logfile:

[+] loaded from JSON file `/home/setime/.proxmark3/preferences.json`
[=] Using UART port /dev/ttyACM0
[=] Communicating with PM3 over USB-CDC
[!!] STDIN unexpected end, exit...

Working the Iceman installation via the terminal works without any issues. Termial logs:

> /home/setime/repos/proxmark3_iceman/pm3 -p /dev/ttyACM0
[=] Session log /home/setime/.proxmark3/logs/log_20231029061950.txt
[+] loaded from JSON file `/home/setime/.proxmark3/preferences.json`
[=] Using UART port /dev/ttyACM0
[=] Communicating with PM3 over USB-CDC


  8888888b.  888b     d888  .d8888b.   
  888   Y88b 8888b   d8888 d88P  Y88b  
  888    888 88888b.d88888      .d88P  
  888   d88P 888Y88888P888     8888"  
  8888888P"  888 Y888P 888      "Y8b.  
  888        888  Y8P  888 888    888  
  888        888   "   888 Y88b  d88P 
  888        888       888  "Y8888P"    [ ☕ ]


Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
  [ Proxmark3 RFID instrument ]

    MCU....... AT91SAM7S512 Rev A
    Memory.... 512 KB ( 61% used )

    Client.... Iceman/master/v4.17140-208-g9fd539723 2023-10-28 21:24:05
    Bootrom... Iceman/master/v4.17140-208-g9fd539723-suspect 2023-10-28 21:23:45 
    OS........ Iceman/master/v4.17140-208-g9fd539723-suspect 2023-10-28 21:24:01 
    Target.... PM3 GENERIC


[usb] pm3 -> 

The output from the GUI does seem to stop after the wayland error.

Analysis:
I was unable to find the issue. It seems that the QProcess input somhow screws things up.

一个问题

为什么连上了,进行Darkside攻击后密码区没有显示密码,输入命令获得全部密码后密码区域仍然没有显示密码呀?

Not sure if this is the correct place..

Hi,

I'm trying to write a gen3 card, and specifically blk0 when i do

pm3 --> hf mf gen3blk -d 0465809AEC7181884400C820

the result i'm getting is
[+] Current block... 0465809AEC7181084400C82000000000

tried this with multiple fobs, keep getting the same result. so the 8 becomes a 0 after C7181 anyone know why or how this is possible... is it due to a bug or?

"Failed to Load config" on linux with the head of iceman proxmark3

First I had to work around the incorrect CLI syntax for the client:
-p /dev/<port> -f

It looks like it starts but then I don't see the reason for the failure in the captured log:


[=] Session log /home/gbin/.proxmark3/logs/log_20220513.txt
[=] Output will be flushed after every print.


[+] loaded from JSON file /home/gbin/.proxmark3/preferences.json

[=] Using UART port /dev/ttyACM0

[=] Communicating with PM3 over USB-CDC

[usb|script] pm3 --> hw version


 [ Proxmark3 RFID instrument ]

 [ CLIENT ]

  Iceman/master/v4.14831-597-gdb2157661 2022-05-13 08:27:57 fcb68954e

  compiled with............. GCC 12.1.0

  platform.................. Linux / x86_64

  Readline support.......... present

  QT GUI support............ present

  native BT support......... present

  Python script support..... present

  Lua SWIG support.......... present

  Python SWIG support....... present


 [ PROXMARK3 ]

  firmware.................. PM3 GENERIC


 [ ARM ]
  bootrom: Iceman/master/v4.14831-597-gdb2157661 2022-05-13 08:27:55 fcb68954e
       os: Iceman/master/v4.14831-597-gdb2157661 2022-05-13 08:28:00 fcb68954e
  compiled with GCC 12.1.0

 [ FPGA ] 
  LF image 2s30vq100 2022-03-23 17:21:05
  HF image 2s30vq100 2022-03-23 17:21:16
  HF FeliCa image 2s30vq100 2022-03-23 17:21:27
  HF 15 image 2s30vq100 2022-03-23 17:21:38


 [ Hardware ]
  --= uC: AT91SAM7S512 Rev A
  --= Embedded Processor: ARM7TDMI
  --= Internal SRAM size: 64K bytes
  --= Architecture identifier: AT91SAM7Sxx Series
  --= Embedded flash memory 512K bytes ( 58% used )

无法连接到PM3硬件

image

pm3.bat --list
[=] Session log D:\V0.2.8-win64-rrg_other-v4.16717\client/.proxmark3/logs/log_20240129.txt
[=] Using UART port COM3
unknown command:: 0x61334d50[!!] ERROR: cannot communicate with the Proxmark

PM3 Error: QProcess::Crashed "Process crashed"

ProxMark3 Easy 512k AT91SAM7S512 Rev A
Client.... Iceman/master/v4.15864-144-ge049a7c5a
Bootrom... Iceman/master/v4.15864-144-ge049a7c5a
OS........ Iceman/master/v4.15864-144-ge049a7c5a
Target.... PM3 GENERIC

I can get a quick connection to the client with the GUI, but then this occurs

PM3 Error: QProcess::Crashed "Process crashed"

Is it possible I'm not passing the proper config_json? Is there an issue using the internal drop downs vs trying to pass a path myself?

PM3 Error: QProcess::FailedtoStart

Latest Iceman repo compiled on Ubuntu 22.04. No issues running ./pm on it's own, also no issues building your GUI.

However, with or without sudo when trying to connect to the client this occurs in the terminal.

PM3 Error: QProcess::FailedToStart "execvp: Permission denied"
QThread(0x55b12efc17b0)

I can see the ttyACM0, but currently unable to create a connection.

request

Hello, could you add AutoPwn attack, that would be awesome :)

关于 GUIsettings.ini 存放位置建议

一般来说 Linux 下软件用户的配置文件存放

~/.config/proxmark3gui/GUIsettings.ini

现在是 proxmark3gui 运行时生成的配置文件是存放在运行时的位置。
如:

❯ proxmark3gui                            
QMetaObject::connectSlotsByName: No matching signal for on_Raw_keyPressed(QObject*,QEvent&)
QMetaObject::connectSlotsByName: No matching signal for on_MF_keyWidget_resized(QObject*,QEvent&)
QMetaObject::connectSlotsByName: No matching signal for on_portSearchTimer_timeout()
QMetaObject::connectSlotsByName: No matching signal for on_GroupBox_clicked(bool)
QMetaObject::connectSlotsByName: No matching signal for on_stopButton_clicked()
Using old client path storage
dock count 5
dock name "Mifare(IC)卡"
dock name "低频"
dock name "T55xx"
dock name "原始命令"
dock name "设置"
Failed to compute left/right minimum bearings for "mtx"
[1]    647241 segmentation fault (core dumped)  proxmark3gui

taotieren in 🌐 archlinux in proxmark3gui-git on  master [?] 
❯ ls
GUIsettings.ini  pkg  PKGBUILD  proxmark3gui-git  proxmark3gui-git-0.2.8.r0.ge2fb189-1-x86_64.pkg.tar.zst  src

taotieren in 🌐 archlinux in proxmark3gui-git on  master [?] 
❯ cat GUIsettings.ini                        
[Client_Env]
configFile=:/config/config_official.json
scriptPath=

[Client_Path]
path=proxmark3

[Client_keepClientActive]
state=true

[UI]
CMDFont_Name=Hack
CMDFont_Size=9
DataFont_Name=Hack
DataFont_Size=12
Font_Name=Alibaba PuHuiTi 2.0
Font_Size=9

[language]
name=zh_CN

Raspberry Pi linux Debian 连接不上pm3 | Cannot connect to pm3 hardware on Raspberry Pi

rrg/iceman 4.13441 点击连接10次,命令中会显示1次版本hw version,GUI界面一直显示未连接,无反应,按钮灰色

Pm3 log 显示 STDIN unexpected end, exit....

换成老版本rrg/iceman 4.9237,点击连接2次,命令中会显示hw version一次, GUI界面一直未连接,按钮一直灰色,无反应,问题依然存在

Pm3 log 显示 STDIN unexpected end, exit....

Could not recognize the device (请求 USB 设备描述符失败)

根据之前请教的结果,更换了更大的存储,从256KB换到了512KB。
目前win10计算机无法识别设备,如下图。
image
PM3设备上所有灯常亮,Button没有反应。
尝试安装驱动,失败,截图如下。
image
现在没有太好的思路调试。一个想看看电路图,如果换了内存芯片,电阻有改变,需不需要更换某个电阻。另一个怀疑还是驱动的问题。请求指导和建议

Does the iCopy XS need to be flashed with firmware to connect? | iCopy XS 是不是要刷了固件才能连上?

I use the GUI with the command line client that comes with the iCopy XS to connect, and I get the following error.

我用 GUI 再搭配 iCopy XS 自带的命令行客户端去连接,会出现下面的错误。

[+] loaded from JSON file D:/CLIENT_X86/.proxmark3/preferences.json
[=] Using UART port COM13

[=] Communicating with PM3 over USB-CDC

qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: windows.

Client connects to PM3 for a second then disconnects

Hi, I managed to correctly build the client and link the port and the actual CLI client that I use to connect to my Proxmark 3 X (https://shop.mtoolstec.com/product/proxmark3-x), but after I hit "Connect" with the correct port selected it initializes the connection but then instantly disconnects.
Here is what happens on the terminal:
$ ./Proxmark3GUI QMetaObject::connectSlotsByName: No matching signal for on_Raw_keyPressed(QObject*,QEvent&) QMetaObject::connectSlotsByName: No matching signal for on_MF_keyWidget_resized(QObject*,QEvent&) QMetaObject::connectSlotsByName: No matching signal for on_portSearchTimer_timeout() QMetaObject::connectSlotsByName: No matching signal for on_GroupBox_clicked(bool) QMetaObject::connectSlotsByName: No matching signal for on_stopButton_clicked() dock count 5 dock name "Mifare" dock name "LF" dock name "T55xx" dock name "RawCommand" dock name "Settings" Main: QThread(0x55aa5db463c0) "/home/daniel/Proxmark3GUI/build" "/home/daniel/Proxmark3GUI/build" "/home/daniel/Proxmark3GUI/build" config file: ":/config/config_official.json" QThread(0x55aa5df0d530) PM3 Error: QProcess::Crashed "Process crashed"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.