diff --git a/Proxmark3GUI.pro b/Proxmark3GUI.pro index 736a328..2f20e59 100644 --- a/Proxmark3GUI.pro +++ b/Proxmark3GUI.pro @@ -56,7 +56,7 @@ qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target -VERSION = 0.2.1 +VERSION = 0.2.2 QMAKE_TARGET_PRODUCT = "Proxmark3GUI" QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI" QMAKE_TARGET_COMPANY = "wh201906" diff --git a/README.md b/README.md index f55c41f..0b526ee 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ A cross-platform GUI for [Proxmark3](https://github.com/Proxmark/proxmark3) clie ## About Iceman fork/repo -The [Iceman fork/repo](https://github.com/RfidResearchGroup/proxmark3) has more powerful functions like offline sniff. These guys even developed a new hardware called Proxmark3 RDV4 with smart card support. But the official repo and the Iceman repo is not fully compatible. -This GUI is compatible with Iceman/RRG repo(tested on v4.9237) +The [Iceman fork/repo](https://github.com/RfidResearchGroup/proxmark3) has more powerful functions. These guys even developed a new hardware called Proxmark3 RDV4 with smart card support. But the official repo and the Iceman repo is not fully compatible. +This GUI is compatible with Iceman/RRG repo(tested on v4.13441) *** @@ -68,10 +68,15 @@ Great thanks to him. ## Update Log: +### V0.2.2 ++ Load command format from external json file ++ Fix bug [#20](https://github.com/wh201906/Proxmark3GUI/issues/20), [#21](https://github.com/wh201906/Proxmark3GUI/issues/21), [#22](https://github.com/wh201906/Proxmark3GUI/issues/22) ++ Support Iceman/RRG repo v4.13441 + ### V0.2.1 -+ Optimize MIFARE Classic reading logic -+ Fix bug #16 -+ Fix bug #15 partially (the path can contain spaces now) ++ Optimize MIFARE Classic reading logic ++ Fix bug [#16](https://github.com/wh201906/Proxmark3GUI/issues/16) ++ Fix bug [#15](https://github.com/wh201906/Proxmark3GUI/issues/15) partially (the path can contain spaces now) ### V0.2 + Use Dock widget for more flexible layout diff --git a/README/doc/README_zh_CN.md b/README/doc/README_zh_CN.md index 95f54df..9e722a3 100644 --- a/README/doc/README_zh_CN.md +++ b/README/doc/README_zh_CN.md @@ -34,7 +34,7 @@ ## 关于冰人版 [冰人版](https://github.com/RfidResearchGroup/proxmark3)(Iceman/RRG)的客户端和固件更新更为激进,相比官方版具有更多的功能 - 此GUI所有功能均兼容冰人版(在v4.9237上测试通过) + 此GUI所有功能均兼容冰人版(在v4.13441上测试通过) *** @@ -50,7 +50,9 @@ release页面中有含客户端的GUI。这个GUI也可以搭配你自己的客 ## 在Linux系统下编译 cd ~ - git clone https://github.com/wh201906/Proxmark3GUI.git + sudo apt-get update + sudo apt-get install qt5-default libqt5serialport5 libqt5serialport5-dev + git clone https://github.com/wh201906/Proxmark3GUI.git --depth=1 cd Proxmark3GUI mkdir build cd build @@ -58,16 +60,22 @@ release页面中有含客户端的GUI。这个GUI也可以搭配你自己的客 make make clean cp -r ../lang ./ + cp -r ../config ./ ./Proxmark3GUI *** ## 更新日志: +### V0.2.2 ++ 从外部文件加载客户端命令格式 ++ 修复 [#20](https://github.com/wh201906/Proxmark3GUI/issues/20), [#21](https://github.com/wh201906/Proxmark3GUI/issues/21), [#22](https://github.com/wh201906/Proxmark3GUI/issues/22) ++ 兼容冰人版客户端 v4.13441 + ### V0.2.1 + 优化MIFARE Classic读卡逻辑 -+ 修复 #16 (配合新版RRG固件时无法读取扇区数据) -+ 修复 #15 (路径中支持空格) ++ 修复 [#16](https://github.com/wh201906/Proxmark3GUI/issues/16) (配合新版RRG固件时无法读取扇区数据) ++ 修复 [#15](https://github.com/wh201906/Proxmark3GUI/issues/15) (路径中支持空格) ### V0.2 + 使用浮动窗口,界面配置更加灵活 diff --git a/lang/en_US.ts b/lang/en_US.ts index 6843248..f16ef0e 100644 --- a/lang/en_US.ts +++ b/lang/en_US.ts @@ -377,7 +377,6 @@ It could make the whole sector blocked irreversibly! - Save @@ -468,40 +467,28 @@ It could make the whole sector blocked irreversibly! - - Note: -You might need a modified LF antenna if the freq is not 125k/134k. -When setting the freq, the "hw setlfdivisor" will also be called. - - - - - Bit per sample: - - - - + Trigger threshold: - + Samples to skip: - + Get Config - + Set Config - + Data: @@ -532,7 +519,7 @@ When setting the freq, the "hw setlfdivisor" will also be called. - + About UID Card @@ -632,7 +619,7 @@ When setting the freq, the "hw setlfdivisor" will also be called. - + Sniff @@ -662,612 +649,638 @@ When setting the freq, the "hw setlfdivisor" will also be called. - + + You might need a modified LF antenna if the freq is not 125k/134k. +When setting the freq, the "hw setlfdivisor" will also be called. + + + + + Bits per sample: + + + + Decimation: - + Averaging: - + Reset - + LF Operation - + Search - + Read and search for valid known tag. - + Read - + Sniff low frequency signal with LF field ON. Use this to get raw data from a tag. - + Tune - + Measure LF antenna tuning. If the antenna voltage has a obvious drop after putting card on the antenna, it is likely that the tag is a LF tag. On Iceman/RRG repo, press the button on PM3 to stop measuring - + Sniff low frequency signal with LF field OFF. Use this to get raw data from a reader or the communication between a tag and a reader. - + T55xx - + Basic Configuration(Page 0 Block 0) - - + + Hex: - - + + Bin: - - + + Get from Data - - + + Set to Data - - + + Locked: - + Master Key: - + Data Bit Rate: - + eXtended Mode: - - + + Modulation: - + PSK Clock Freq: - + Answer on Request: - + One Time Pad: - + Max Block: - + Password: - + Seq. Terminator: - + Seq. Start Marker: - + Fast Downlink: - + Inverse Data: - + Init-Delay: - + Analog Front-End Option(Page 1 Block 3) - + Option Key: - + Soft Modulation: - + Clamp Voltage: - + Modulation Voltage: - + Clock Detection Threshold: - + Gap Detection Threshold: - + Write Dampling: - + Demod Delay: - + Downlink Protocol: - + T55xx Read Config - + Bit Rate: - + Seq. Term. - + Offset: - + Inverted: - + T5577 - + T5555 - + RawCommand - - + + History: - + ClearHistory - + Send - + ClearOutput - + Settings - + Client - - Preload script path: + + Preload script path(Reconnect to apply): - - Note: -If the client requires some enviroment variables, you can make a script file(*.bat on Windows or *.sh on Linux) to configure them, -then put the path of the script there + + If the client requires some enviroment variables, you can make a script file(*.bat on Windows or *.sh on Linux) to configure them, then put the path of the script there. - - Client working directory: + + Client working directory(Reconnect to apply): - - ../data + + On Windows, the client working directory should not be identical to the path of GUI, otherwise the client will use the wrong .dll file. - - Note: -On Windows, the client working directory should not be identical to the path of GUI, otherwise the client will use the wrong .dll file. + + Start arguments(Reconnect to apply): - - Start arguments + + -f is necessary because the GUI need to handle the output in time. In some cases, the arguments should be set to "-p /dev/<port> -f" or "-p <port> -f". - - <port> -f + + Config file path(Reconnect to apply): - - Note: --f is necessary because the GUI need to handle the output in time -In some cases the arguments should be set to "-p /dev/<port> -f" -or "-p <port> -f" + + config.json - - Keep buttons enabled even the client is running or disconnected + + Different clients require different config files. You can change the content of config file if the command format changes. + + + + + Keep the client active even the PM3 hardware is disconnected.(Experimental) - - Keep te client active even the PM3 hardware is disconnected.(Experimental) + + ../data + + + + + <port> -f - + + Keep buttons enabled even the client is running or disconnected + + + + GUI - + Language: - + Choose Language - + (Restart this app to use new language) - - - - - + + + + + - - - - - + + + + + + Info - + Plz choose a port first - + Connected - - + + Not Connected - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*) - - - + + + Failed to open - + Continue? - + Dock all windows - + Ver: - + Check Update - + + Failed to load config file + + + + Some of the data and key will be cleared. - + Plz select the font of data widget and key widget - + Data must consists of 32 Hex symbols(Whitespace is allowed) - - + + Key must consists of 12 Hex symbols(Whitespace is allowed) - + Plz select the data file: - + Plz select the key file: - + Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*) - + Plz select the location to save data file: - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml) - - - + + + Failed to save to - + Plz select the location to save key file: - + Binary Key Files(*.bin *.dump) - + Normally, the Block 0 of a typical Mifare card, which contains the UID, is locked during the manufacture. Users cannot write anything to Block 0 or set a new UID to a normal Mifare card. - + Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it. - + There are two versions of Chinese Magic Cards, the Gen1 and the Gen2. - + Gen1: - + also called UID card in China. It responses to some backdoor commands so you can access any blocks without password. The Proxmark3 has a bunch of related commands(csetblk, cgetblk, ...) to deal with this type of card, and my GUI also support these commands. - + Gen2: - + doesn't response to the backdoor commands, which means that a reader cannot detect whether it is a Chinese Magic Card or not by sending backdoor commands. - + There are some types of Chinese Magic Card Gen2. - + CUID Card: - + the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command. - + (hf mf wrbl 0 A FFFFFFFFFFFF <the data you want to write>) - + FUID Card: - + you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to). - + (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.) - + UFUID Card: - + It behaves like a CUID card(or UID card? I'm not sure) before you send some special command to lock it. Once it is locked, you cannot change its Block 0(just like a typical Mifare card). - + Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key). - + Plz select the trace file: - + Trace Files(*.trc);;All Files(*.*) - + Plz select the location to save trace file: - + Trace Files(*.trc) - - + + Idle - + Stop @@ -1293,27 +1306,27 @@ or "-p <port> -f" - + HW Version: - + PM3: - + State: - + Running - + Actural Freq: @@ -1321,56 +1334,56 @@ or "-p <port> -f" Mifare - + Success! - - - - - - - + + + + + + + Info - + Plz provide at least one known key - - + + Failed! - + The Access Bits is invalid! It could make the whole sector blocked irreversibly! Continue to write? - + Successful! - + Failed to write to these blocks: - + Select them? - + Failed to read card. diff --git a/lang/zh_CN.qm b/lang/zh_CN.qm index c5411ba..91baeac 100644 Binary files a/lang/zh_CN.qm and b/lang/zh_CN.qm differ diff --git a/lang/zh_CN.ts b/lang/zh_CN.ts index dafc6ce..db49a6c 100644 --- a/lang/zh_CN.ts +++ b/lang/zh_CN.ts @@ -381,7 +381,6 @@ It could make the whole sector blocked irreversibly! - Save 保存 @@ -453,7 +452,7 @@ It could make the whole sector blocked irreversibly! - + Data: 数据: @@ -484,7 +483,7 @@ It could make the whole sector blocked irreversibly! - + About UID Card 关于UID卡 @@ -584,7 +583,7 @@ It could make the whole sector blocked irreversibly! - + Sniff 嗅探 @@ -614,54 +613,66 @@ It could make the whole sector blocked irreversibly! - + + You might need a modified LF antenna if the freq is not 125k/134k. +When setting the freq, the "hw setlfdivisor" will also be called. + 如果频率不为125k/134k,则原装天线可能不适用。 +设置频率后GUI会使用"hw setlfdivisor"改变底层分频系数。 + + + + Bits per sample: + 采样精度(Bits per sample): + + + Decimation: 抽取(Decimation): - + Averaging: 平均化(Averaging): - + Reset 重置 - + LF Operation 低频操作 - + Search 搜索 - + Read and search for valid known tag. 读卡并寻找已知类型的卡 - + Read 读取 - + Sniff low frequency signal with LF field ON. Use this to get raw data from a tag. 激活低频电磁场并读取原始信号。 该功能用于获取卡片原始数据。 - + Tune 调谐 - + Measure LF antenna tuning. If the antenna voltage has a obvious drop after putting card on the antenna, it is likely that the tag is a LF tag. On Iceman/RRG repo, press the button on PM3 to stop measuring @@ -670,7 +681,7 @@ On Iceman/RRG repo, press the button on PM3 to stop measuring 在冰人版固件下,如果需要停止测量,请按下PM3侧面的按钮 - + Sniff low frequency signal with LF field OFF. Use this to get raw data from a reader or the communication between a tag and a reader. @@ -679,310 +690,264 @@ or the communication between a tag and a reader. 或者卡片与读卡器的交互过程。 - + T55xx - + Basic Configuration(Page 0 Block 0) 基本配置区(页0 块0) - - + + Hex: 16进制: - - + + Bin: 2进制: - - + + Get from Data 从数据区导入 - - + + Set to Data 导出到数据区 - - + + Locked: 锁定(Locked): - + Master Key: - + Data Bit Rate: 数据比特率(Data Bit Rate): - + eXtended Mode: 扩展模式(eXtended Mode): - - + + Modulation: 调制方式(Modulation): - + PSK Clock Freq: - + Answer on Request: - + One Time Pad: - + Max Block: - + Password: 密码(Password): - + Seq. Terminator: - + Seq. Start Marker: - + Fast Downlink: - + Inverse Data: - + Init-Delay: - + Analog Front-End Option(Page 1 Block 3) 模拟前端选项区(页1 块3) - + Option Key: - + Soft Modulation: - + Clamp Voltage: - + Modulation Voltage: - + Clock Detection Threshold: - + Gap Detection Threshold: - + Write Dampling: - + Demod Delay: - + Downlink Protocol: - + T55xx Read Config T55xx读卡配置区 - + Bit Rate: 比特率(Bit Rate): - + Seq. Term. - + Offset: - + Inverted: - + T5577 - + T5555 - + RawCommand 原始命令 - - + + History: 命令历史: - + ClearHistory 清空历史 - + Send 发送 - + ClearOutput 清空输出 - + Settings 设置 - + Client 客户端 - - Preload script path: - 预加载脚本路径: - - - - Note: -If the client requires some enviroment variables, you can make a script file(*.bat on Windows or *.sh on Linux) to configure them, -then put the path of the script there - 注意: -如果客户端需要配置环境变量才能正常运行,可以将配置环境变量所需的脚本文件(Windows系统内为*.bat,linux系统内为*.sh)路径填入此处 - - - - Client working directory: - 客户端工作路径: - - - + ../data - - Note: -On Windows, the client working directory should not be identical to the path of GUI, otherwise the client will use the wrong .dll file. - 注意: -在Windows系统中,客户端工作路径与GUI程序所在路径不能相同,否则客户端会使用错误的.dll文件。 - - - - Start arguments - 启动参数 - - - + <port> -f - - Note: --f is necessary because the GUI need to handle the output in time -In some cases the arguments should be set to "-p /dev/<port> -f" -or "-p <port> -f" - 注意: --f选项用于使客户端实时返回命令回显,必须添加 -部分情况下启动参数需设置为"-p /dev/<port> -f" -或"-p <port> -f" - - - - Keep te client active even the PM3 hardware is disconnected.(Experimental) - 在PM3断开后保持客户端运行(实验性功能) - - - + Language: 语言: - + Choose Language 选择语言 - + (Restart this app to use new language) (重启此程序以使用新语言) - + Keep buttons enabled even the client is running or disconnected 保持所有按钮可点击,即使未连接客户端或有任务正在运行 @@ -1007,283 +972,325 @@ or "-p <port> -f" 实际频率: 125.000kHz - - Note: -You might need a modified LF antenna if the freq is not 125k/134k. -When setting the freq, the "hw setlfdivisor" will also be called. - 注意: -如果频率不为125k/134k,则原装天线可能不适用。 -设置频率后GUI会使用"hw setlfdivisor"改变底层分频系数。 - - - - Bit per sample: - 采样精度(Bit per sample): - - - + Trigger threshold: 触发阈值(Trigger threshold): - + Samples to skip: 跳过前n个采样(Samples to skip): - + Get Config 获取当前配置 - + Set Config 改变当前配置 - + + Preload script path(Reconnect to apply): + 预加载脚本路径(重连后生效): + + + + If the client requires some enviroment variables, you can make a script file(*.bat on Windows or *.sh on Linux) to configure them, then put the path of the script there. + 如果客户端需要配置环境变量才能正常运行,可以将配置环境变量所需的脚本文件(Windows系统内为*.bat,linux系统内为*.sh)路径填入此处。 + + + + Client working directory(Reconnect to apply): + 客户端工作路径(重连后生效): + + + + On Windows, the client working directory should not be identical to the path of GUI, otherwise the client will use the wrong .dll file. + 在Windows系统中,客户端工作路径与GUI程序所在路径不能相同,否则客户端会使用错误的.dll文件。 + + + + Start arguments(Reconnect to apply): + 启动参数(重连后生效): + + + + -f is necessary because the GUI need to handle the output in time. In some cases, the arguments should be set to "-p /dev/<port> -f" or "-p <port> -f". + -f选项用于使客户端实时返回命令回显,必须添加。部分情况下启动参数需设置为"-p /dev/<port> -f"或"-p <port> -f"。 + + + + Config file path(Reconnect to apply): + 配置文件路径(重连后生效): + + + + config.json + + + + + Different clients require different config files. You can change the content of config file if the command format changes. + 不同客户端需要使用不同的配置文件。若命令格式发生改变,你可以尝试手动修改配置文件以适配。 + + + + Keep the client active even the PM3 hardware is disconnected.(Experimental) + 在PM3断开后保持客户端运行(实验性功能) + + + GUI 图形化界面 - - - - - + + + + + - - - - - + + + + + + Info 信息 - + Plz choose a port first 请先选择端口 - + Connected 已连接 - - + + Not Connected 未连接 - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*) 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml);;所有文件(*.*) - - - + + + Failed to open 无法打开 - + Continue? 确定? - + Dock all windows 吸附所有悬浮窗口 - + Ver: 版本: - + Check Update 检查更新 - + + Failed to load config file + 无法打开配置文件 + + + Some of the data and key will be cleared. 部分数据和密码将被清除 - + Plz select the font of data widget and key widget 请选择数据窗口和密钥窗口的字体 - + Data must consists of 32 Hex symbols(Whitespace is allowed) 数据必须由32个十六进制字符组成(中间可含有空格) - - + + Key must consists of 12 Hex symbols(Whitespace is allowed) 密钥必须由12个十六进制字符组成(中间可含有空格) - + Plz select the data file: 请选择数据文件: - + Plz select the key file: 请选择密钥文件: - + Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*) - 二进制密钥文件(*.bin *.dump);;二进制密钥文件(*.bin *.dump);;所有文件(*.*) + 二进制密钥文件(*.bin *.dump);;二进制密钥文件(*.bin *.dump);;所有文件(*.*) - + Plz select the location to save data file: 请选择数据文件保存的位置: - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml) - 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml) + 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml) - - - + + + Failed to save to 无法保存至 - + Plz select the location to save key file: 请选择密钥文件保存的位置: - + Binary Key Files(*.bin *.dump) 二进制密码文件(*.bin *.dump) - + Normally, the Block 0 of a typical Mifare card, which contains the UID, is locked during the manufacture. Users cannot write anything to Block 0 or set a new UID to a normal Mifare card. 普通Mifare卡的块0无法写入,卡号也不能更改 - + Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it. UID卡(在国外叫Chinese Magic Card)的块0可写,卡号可变。 - + There are two versions of Chinese Magic Cards, the Gen1 and the Gen2. 国外把UID卡分为Chinese Magic Card Gen1和Gen2 - + Gen1: - + also called UID card in China. It responses to some backdoor commands so you can access any blocks without password. The Proxmark3 has a bunch of related commands(csetblk, cgetblk, ...) to deal with this type of card, and my GUI also support these commands. 指通常所说的UID卡,可以通过后门指令直接读写块而无需密码,在PM3和此GUI中有特殊命令处理这类卡片 - + Gen2: - + doesn't response to the backdoor commands, which means that a reader cannot detect whether it is a Chinese Magic Card or not by sending backdoor commands. 这个叫法在国内比较罕见,在国外指CUID/FUID/UFUID这类对后门指令不响应的卡(防火墙卡) - + There are some types of Chinese Magic Card Gen2. 以下是Gen2卡的详细介绍 - + CUID Card: CUID卡: - + the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command. 可通过普通的写块命令来写块0,可重复擦写 - + (hf mf wrbl 0 A FFFFFFFFFFFF <the data you want to write>) (hf mf wrbl 0 A FFFFFFFFFFFF <待写入数据>) - + FUID Card: FUID卡: - + you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to). 块0只能写入一次 - + (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.) (更高级的穿防火墙卡,可以过一些能识别出CUID卡的读卡器) - + UFUID Card: UFUID卡: - + It behaves like a CUID card(or UID card? I'm not sure) before you send some special command to lock it. Once it is locked, you cannot change its Block 0(just like a typical Mifare card). 锁卡前和普通UID/CUID卡一样可以反复读写块0,用特殊命令锁卡后就和FUID卡一样了 - + Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key). 所有UID卡都似乎更容易被Nested攻击破解 - + Plz select the trace file: 请选择trace文件: - + Trace Files(*.trc);;All Files(*.*) Trace文件(*.trc);;所有文件(*.*) - + Plz select the location to save trace file: 请选择trace文件保存的位置: - + Trace Files(*.trc) Trace文件(*.trc) - - + + Idle 空闲 - + Stop 停止 @@ -1309,27 +1316,27 @@ When setting the freq, the "hw setlfdivisor" will also be called.密钥B - + HW Version: 固件版本: - + PM3: 连接状态: - + State: 运行状态: - + Running 正在运行 - + Actural Freq: 实际频率: @@ -1337,34 +1344,34 @@ When setting the freq, the "hw setlfdivisor" will also be called. Mifare - + Success! 成功! - - - - - - - + + + + + + + Info 信息 - + Plz provide at least one known key 请至少提供一个已知密码 - - + + Failed! 失败! - + The Access Bits is invalid! It could make the whole sector blocked irreversibly! Continue to write? @@ -1373,22 +1380,22 @@ Continue to write? 确定要写入吗? - + Successful! 成功! - + Failed to write to these blocks: 写入以下块失败: - + Select them? 选中这些块? - + Failed to read card. 读卡失败。