From bac6207634c88c5e4d42113227ee9f825ada5093 Mon Sep 17 00:00:00 2001 From: wh201906 Date: Tue, 16 Mar 2021 11:23:01 +0800 Subject: [PATCH] V0.2.1 --- Proxmark3GUI.pro | 2 +- README.md | 5 + README/doc/README_zh_CN.md | 5 + lang/en_US.ts | 594 ++++++++++++++++++++++++------------- lang/zh_CN.qm | Bin 20249 -> 21337 bytes lang/zh_CN.ts | 570 +++++++++++++++++++++++------------ ui/mainwindow.cpp | 5 +- 7 files changed, 787 insertions(+), 394 deletions(-) diff --git a/Proxmark3GUI.pro b/Proxmark3GUI.pro index fd00f45..736a328 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.0 +VERSION = 0.2.1 QMAKE_TARGET_PRODUCT = "Proxmark3GUI" QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI" QMAKE_TARGET_COMPANY = "wh201906" diff --git a/README.md b/README.md index 4c562f9..e7311e3 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,11 @@ Great thanks to him. ## Update Log: +### V0.2.1 ++ Optimize MIFARE Classic reading logic ++ Fix bug #16 ++ Fix bug #15 partially (the path can contain spaces now) + ### V0.2 + Use Dock widget for more flexible layout + Support basic LF commands diff --git a/README/doc/README_zh_CN.md b/README/doc/README_zh_CN.md index 6c2d0b4..95f54df 100644 --- a/README/doc/README_zh_CN.md +++ b/README/doc/README_zh_CN.md @@ -64,6 +64,11 @@ release页面中有含客户端的GUI。这个GUI也可以搭配你自己的客 ## 更新日志: +### V0.2.1 ++ 优化MIFARE Classic读卡逻辑 ++ 修复 #16 (配合新版RRG固件时无法读取扇区数据) ++ 修复 #15 (路径中支持空格) + ### V0.2 + 使用浮动窗口,界面配置更加灵活 + 支持部分低频命令 diff --git a/lang/en_US.ts b/lang/en_US.ts index cf98a07..6843248 100644 --- a/lang/en_US.ts +++ b/lang/en_US.ts @@ -330,230 +330,231 @@ It could make the whole sector blocked irreversibly! - + Select Trailer - + Card Type - + MINI 320 - + 1K 1024 - + 2K 2048 - + 4K 4096 - + File - - + + Load - - - + + + Save - - + + Data - + Key - + Attack - + Card Info - + Check Default - + Nested - + Hardnested - + Darkside - + Read/Write - + Block: - + Key: - + Key Type: - + List Data - + LF - + other - + Divisor: - + Actural Freq: 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. - + Bit per sample: - + Trigger threshold: - + Samples to skip: - + Get Config - + Set Config - + + Data: - + Normal(Require Password) - + Dump - + Restore - + Chinese Magic Card(Without Password) - + Lock UFUID Card - - + + About UID Card - + Set Parameter - + Wipe - - + + Simulate - - + + Clear @@ -573,234 +574,425 @@ When setting the freq, the "hw setlfdivisor" will also be called. - + Select All - + KeyBlocks->Key - + KeyBlocks<-Key - + Fill Keys - + Trailer Decoder - + Set Fonts - - + + Read One - - + + Write One - - - + + + Read Selected - - - + + + Write Selected - - - + + + Sniff - + Sniff(14a) - + LF Config - + Frequency - + 125k - + 134k - + 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 - - RawCommand + + Basic Configuration(Page 0 Block 0) - - - History: + + + Hex: - - ClearHistory + + + Bin: - - Send + + + Get from Data - - ClearOutput - - - - - Settings - - - - - Client + + + 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: - + 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 - + 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. - + 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" @@ -808,47 +1000,47 @@ or "-p <port> -f" - + Keep buttons enabled even the client is running or disconnected - + Keep te client active even the PM3 hardware is disconnected.(Experimental) - + GUI - + Language: - + Choose Language - + (Restart this app to use new language) - - - - - - - - - - + + + + + + + + + + Info @@ -858,30 +1050,30 @@ or "-p <port> -f" - + Connected - - + + Not Connected - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*) - - - + + + Failed to open - + Continue? @@ -901,227 +1093,227 @@ or "-p <port> -f" - + 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 - - + + Sec - + Blk - + KeyA - + KeyB - + HW Version: - + PM3: - + State: - + Running - + Actural Freq: @@ -1129,18 +1321,18 @@ or "-p <port> -f" Mifare - + Success! - - - - - - + + + + + + Info @@ -1150,35 +1342,35 @@ or "-p <port> -f" - - + + 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 cbb3dad614927109c7b0060f36c7cd5cae96ce46..e3fed7dbf10fbfa70d29e04814406e277cf78c28 100644 GIT binary patch delta 2365 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 undb+z^QH${wfUW(F2=kjYo3~PKc8$? Mifare(IC)卡 - + Select Trailer 选中密码块 - + Card Type 卡片类型 - + MINI 320 - + 1K 1024 - + 2K 2048 - + 4K 4096 - + File 文件 - - + + Load 加载 - - - + + + Save 保存 - - + + Data 数据 - + Key 密钥 - + Attack 破解 - + Card Info 读卡信息 - + Check Default 验证默认密码 - + Nested Nested攻击 - + Hardnested Hardested攻击 - + Darkside Darkside攻击 - + Read/Write 读/写 - + Block: 块: - + Key: 密钥: - + Key Type: 密钥类型: - + List Data 列出嗅探数据 - + + Data: 数据: - + Normal(Require Password) 普通卡(需要密码) - + Dump Dump命令 - + Restore Restore命令 - + Chinese Magic Card(Without Password) UID卡(不需要密码) - + Lock UFUID Card 锁定UFUID卡 - - + + About UID Card 关于UID卡 - + Set Parameter 设置卡参数 - + Wipe 擦除 - - + + Simulate 模拟 - - + + Clear 清空 @@ -525,142 +526,142 @@ It could make the whole sector blocked irreversibly! 刷新端口 - + Select All 全选 - + KeyBlocks->Key 密码区->密码 - + KeyBlocks<-Key 密码区<-密码 - + Fill Keys 填充密码 - + Trailer Decoder Trailer解码 - + Set Fonts 设置字体 - - + + Read One 读取单个块 - - + + Write One 写入单个块 - - - + + + Read Selected 读取选中块 - - - + + + Write Selected 写入选中块 - - - + + + Sniff 嗅探 - + Sniff(14a) 嗅探(14a) - + LF Config 低频配置 - + Frequency 频率 - + 125k - + 134k - + 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 @@ -669,7 +670,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. @@ -678,53 +679,244 @@ 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 @@ -732,34 +924,34 @@ 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" @@ -770,52 +962,52 @@ or "-p <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 保持所有按钮可点击,即使未连接客户端或有任务正在运行 - + LF 低频 - + other 其它 - + Divisor: 分频系数(Divisor): - + Actural Freq: 125.000kHz 实际频率: 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. @@ -824,47 +1016,47 @@ When setting the freq, the "hw setlfdivisor" will also be called. - + Bit per sample: 采样精度(Bit per sample): - + Trigger threshold: 触发阈值(Trigger threshold): - + Samples to skip: 跳过前n个采样(Samples to skip): - + Get Config 获取当前配置 - + Set Config 改变当前配置 - + GUI 图形化界面 - - - - - - - - - - + + + + + + + + + + Info 信息 @@ -874,30 +1066,30 @@ When setting the freq, the "hw setlfdivisor" will also be called.请先选择端口 - + Connected 已连接 - - + + Not Connected 未连接 - + Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*) 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml);;所有文件(*.*) - - - + + + Failed to open 无法打开 - + Continue? 确定? @@ -917,227 +1109,227 @@ When setting the freq, the "hw setlfdivisor" will also be called.检查更新 - + 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);所有文件(*.*) - + Plz select the location to save data file: 请选择数据文件保存的位置: - + Binary Data Files(*.bin *.dump);;Text Data Files(*.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 停止 - - + + Sec 扇区 - + Blk - + KeyA 密钥A - + KeyB 密钥B - + HW Version: 固件版本: - + PM3: 连接状态: - + State: 运行状态: - + Running 正在运行 - + Actural Freq: 实际频率: @@ -1145,18 +1337,18 @@ When setting the freq, the "hw setlfdivisor" will also be called. Mifare - + Success! 成功! - - - - - - + + + + + + Info 信息 @@ -1166,13 +1358,13 @@ When setting the freq, the "hw setlfdivisor" will also be called.请至少提供一个已知密码 - - + + Failed! 失败! - + The Access Bits is invalid! It could make the whole sector blocked irreversibly! Continue to write? @@ -1181,22 +1373,22 @@ Continue to write? 确定要写入吗? - + Successful! 成功! - + Failed to write to these blocks: 写入以下块失败: - + Select them? 选中这些块? - + Failed to read card. 读卡失败。 diff --git a/ui/mainwindow.cpp b/ui/mainwindow.cpp index 6023266..b2a928a 100644 --- a/ui/mainwindow.cpp +++ b/ui/mainwindow.cpp @@ -137,15 +137,14 @@ void MainWindow::on_PM3_connectButton_clicked() envSetProcess.start("sh -c \' . \"" + envScriptPath.absoluteFilePath() + "\">>/dev/null && env"); #endif envSetProcess.waitForReadyRead(10000); - QString test = QString(envSetProcess.readAll()); - clientEnv = test.split(QRegExp("[\r\n]{1,2}"), QString::SkipEmptyParts); + QString envSetResult = QString(envSetProcess.readAll()); + clientEnv = envSetResult.split(QRegExp("[\r\n]{1,2}"), QString::SkipEmptyParts); if(clientEnv.size() > 2) // the first element is "set" and the last element is the current path { clientEnv.removeFirst(); clientEnv.removeLast(); emit setProcEnv(&clientEnv); } - qDebug() << clientEnv; // qDebug() << "Get Env List" << clientEnv; } else