diff --git a/i18n/en_US.ts b/i18n/en_US.ts
index f8b79a6..4bd1306 100644
--- a/i18n/en_US.ts
+++ b/i18n/en_US.ts
@@ -44,86 +44,41 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -134,11 +89,6 @@
-
-
-
-
-
@@ -152,21 +102,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MF_trailerDecoderDialog
@@ -180,16 +115,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -352,213 +263,213 @@ It could make the whole sector blocked irreversibly!
-
+
-
+
320
-
+
1024
-
+
2048
-
+
4096
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -603,459 +514,492 @@ It could make the whole sector blocked irreversibly!
-
-
+
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
@@ -1065,15 +1009,15 @@ or the communication between a tag and a reader.
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -1089,14 +1033,14 @@ or the communication between a tag and a reader.
-
+
-
-
-
+
+
+
@@ -1131,66 +1075,61 @@ or the communication between a tag and a reader.
-
-
-
-
-
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
@@ -1205,131 +1144,146 @@ or the communication between a tag and a reader.
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
@@ -1339,37 +1293,37 @@ or the communication between a tag and a reader.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1377,56 +1331,52 @@ or the communication between a tag and a reader.
Mifare
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
-
+
-
+
-
+
@@ -1443,21 +1393,6 @@ Continue to write?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/i18n/zh_CN.qm b/i18n/zh_CN.qm
index 05dc7be..864746b 100644
Binary files a/i18n/zh_CN.qm and b/i18n/zh_CN.qm differ
diff --git a/i18n/zh_CN.ts b/i18n/zh_CN.ts
index 7c3f628..5d1c5e5 100644
--- a/i18n/zh_CN.ts
+++ b/i18n/zh_CN.ts
@@ -44,101 +44,51 @@
模拟
-
-
-
-
-
4或7字节的UID,如果不指定,则使用模拟器内存中的4字节UID
-
-
-
-
-
指定ATQA(2个字节)
-
-
-
-
-
指定SAK(1个字节)
-
-
-
-
-
在读卡器读取<n>个块后自动退出模拟,n为0或不指定时永远不退出
-
-
-
-
-
交互模式,勾选后PM3客户端将在模拟完成或者模拟中断后才可继续使用
-
-
-
-
-
破解,对读卡器进行攻击,通过nr/ar攻击来钓出密码(无卡嗅探)
-
-
-
-
-
在获得密码后自动将密码写入模拟器内存(自动勾选x(--crack)和i)
-
-
-
-
-
更多输出内容
-
-
-
-
-
从<filename.txt>当中获取用于破解读卡器的UID(批量模拟)(自动勾选x和i)
-
-
-
-
-
@@ -152,21 +102,6 @@
设置卡参数
-
-
-
- 卡号:
-
-
-
-
-
-
-
-
-
-
-
MF_trailerDecoderDialog
@@ -180,16 +115,6 @@
块大小
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
数据块访问权限:
-
+
块0
-
+
块1
-
+
块2
-
-
+
+
读
-
-
+
+
写
-
+
增加
-
+
减少/从缓冲区写入/读入至缓冲区
-
+
Trailer访问权限:
-
-
+
+
密钥A
-
+
控制位
-
-
+
+
密钥B
-
+
@@ -296,34 +201,40 @@ MF1S70YYX_V1 Product data sheet
Rev. 3.2 — 23 November 2017
-
+
注意:Access Bits一般包含4个字节(8个16进制字符),但只有前3个字节决定访问情况,最后一个字节可任意设置。
-
+
无效!
可能导致整个扇区被不可逆转地锁定!
-
+
+
有效
-
-
-
-
-
-
+
+
+ 密钥B无法用于认证
+
+
+
+
+
+
+
+
块
-
+
密钥A+B
@@ -356,173 +267,173 @@ It could make the whole sector blocked irreversibly!
选中密码块
-
+
卡片类型
-
+
320
-
+
1024
-
+
2048
-
+
4096
-
+
文件
-
-
+
+
加载
-
-
+
+
保存
-
+
数据
-
+
密钥
-
+
破解
-
+
读卡信息
-
+
验证默认密码
-
+
Nested攻击
-
+
Hardested攻击
-
+
Darkside攻击
-
+
读/写
-
+
块:
-
+
密钥:
-
+
密钥类型:
-
+
列出嗅探数据
-
-
+
+
数据:
-
+
普通卡(需要密码)
-
+
Dump命令
-
+
Restore命令
-
+
UID卡(不需要密码)
-
+
锁定UFUID卡
-
-
+
+
关于UID卡
-
+
设置卡参数
-
+
擦除
-
-
+
+
模拟
-
-
+
+
清空
@@ -567,129 +478,114 @@ It could make the whole sector blocked irreversibly!
Trailer解码
-
-
- 设置字体
-
-
-
-
+
+
读取单个块
-
-
+
+
写入单个块
-
-
-
+
+
+
读取选中块
-
-
-
+
+
+
写入选中块
-
-
-
+
+
+
嗅探
-
+
嗅探(14a)
-
+
低频配置
-
+
频率
-
-
-
-
-
-
-
-
-
-
-
+
如果频率不为125k/134k,则原装天线可能不适用。
设置频率后GUI会使用"hw setlfdivisor"改变底层分频系数。
-
+
采样精度(Bits per sample):
-
+
抽取(Decimation):
-
+
平均化(Averaging):
-
+
重置
-
+
低频操作
-
+
搜索
-
+
读卡并寻找已知类型的卡
-
+
读取
-
+
激活低频电磁场并读取原始信号。
该功能用于获取卡片原始数据。
-
+
调谐
-
+
@@ -698,7 +594,7 @@ On Iceman/RRG repo, press the button on PM3 to stop measuring
在冰人版固件下,如果需要停止测量,请按下PM3侧面的按钮
-
+
@@ -707,387 +603,431 @@ or the communication between a tag and a reader.
或者卡片与读卡器的交互过程。
-
+
-
+
基本配置区(页0 块0)
-
-
+
+
16进制:
-
-
+
+
2进制:
-
-
+
+
从数据区导入
-
-
+
+
导出到数据区
-
-
+
+
锁定(Locked):
-
+
-
+
数据比特率(Data Bit Rate):
-
+
扩展模式(eXtended Mode):
-
-
+
+
调制方式(Modulation):
-
+
-
+
-
+
-
+
-
+
密码(Password):
-
+
-
+
-
+
-
+
-
+
-
+
模拟前端选项区(页1 块3)
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
T55xx读卡配置区
-
+
比特率(Bit Rate):
-
+
-
+
-
+
-
+
-
+
-
+
原始命令
-
+
命令历史:
-
+
清空历史
-
+
发送
-
+
清空输出
-
+
设置
-
+
客户端
-
+
GUI工作路径:
-
+
-
+
-
+
配置文件(重连后生效):
-
+
+
+ 界面
+
+
+
语言:
-
+
选择语言
-
+
(重启此程序以使用新语言)
-
+
+
+ 透明度:
+
+
+
+
+ 主题:
+
+
+
+
+
+
+
+ 设置
+
+
+
+
+ (重启此程序以使用新主题)
+
+
+
+
+ 全局字体:
+
+
+
+
+ 数据字体:
+
+
+
+
+ 命令字体:
+
+
+
+
+ 检查更新:
+
+
+
+
+ 反馈问题:
+
+
+
保持所有按钮可点击,即使未连接客户端或有任务正在运行
-
+
低频
-
+
其它
-
+
分频系数(Divisor):
-
+
实际频率: 125.000kHz
-
+
触发阈值(Trigger threshold):
-
+
跳过前n个采样(Samples to skip):
-
+
获取当前配置
-
+
改变当前配置
-
+
预加载脚本路径(重连后生效):
-
+
如果客户端需要配置环境变量才能正常运行,可以将配置环境变量所需的脚本文件(Windows系统内为*.bat,linux系统内为*.sh)路径填入此处。
-
+
客户端工作路径(重连后生效):
-
+
在Windows系统中,客户端工作路径与GUI程序所在路径不能相同,否则客户端会使用错误的.dll文件。
-
+
启动参数(重连后生效):
-
+
-f选项用于使客户端实时返回命令回显,必须添加。部分情况下启动参数需设置为"-p /dev/<port> -f"或"-p <port> -f"。
-
- 配置文件路径(重连后生效):
-
-
-
+
-
+
不同客户端需要使用不同的配置文件。若命令格式发生改变,你可以尝试手动修改配置文件以适配。
-
+
在PM3断开后保持客户端运行(实验性功能)
-
-
-
- 图形化界面
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
信息
@@ -1103,14 +1043,14 @@ or the communication between a tag and a reader.
-
+
未连接
-
-
-
+
+
+
无法打开
@@ -1155,199 +1095,205 @@ or the communication between a tag and a reader.
部分数据和密码将被清除
-
-
- 请选择数据窗口和密钥窗口的字体
-
-
-
+
数据必须由32个十六进制字符组成(中间可含有空格)
-
-
+
+
密钥必须由12个十六进制字符组成(中间可含有空格)
-
+
请选择数据文件:
-
-
-
+
+
+
二进制数据文件(*.bin *.dump)
-
-
-
+
+
+
所有文件(*.*)
-
+
请选择密钥文件:
-
+
请选择数据文件保存的位置:
-
-
-
+
+
+
无法保存至
-
+
请选择密钥文件保存的位置:
-
-
-
+
+
+
二进制密码文件(*.bin *.dump)
-
-
+
+
文本数据文件(*.txt *.eml)
-
- 文本密码文件(*.txt *.eml)
-
-
-
+
普通Mifare卡的块0无法写入,卡号也不能更改
-
+
UID卡(在国外叫Chinese Magic Card)的块0可写,卡号可变。
-
+
国外把UID卡分为Chinese Magic Card Gen1和Gen2
-
+
-
+
指通常所说的UID卡,可以通过后门指令直接读写块而无需密码,在PM3和此GUI中有特殊命令处理这类卡片
-
+
-
+
这个叫法在国内比较罕见,在国外指CUID/FUID/UFUID这类对后门指令不响应的卡(防火墙卡)
-
+
以下是Gen2卡的详细介绍
-
+
CUID卡:
-
+
可通过普通的写块命令来写块0,可重复擦写
-
+
(hf mf wrbl 0 A FFFFFFFFFFFF <待写入数据>)
-
+
FUID卡:
-
+
块0只能写入一次
-
+
(更高级的穿防火墙卡,可以过一些能识别出CUID卡的读卡器)
-
+
UFUID卡:
-
+
锁卡前和普通UID/CUID卡一样可以反复读写块0,用特殊命令锁卡后就和FUID卡一样了
-
+
所有UID卡都似乎更容易被Nested攻击破解
-
+
请选择trace文件:
-
+
请选择trace文件保存的位置:
+
+
+
+ (无)
+
+
+
+
+ 暗黑
+
+
+
+
+ 明亮
+
外部文件
-
-
+
+
Trace文件(*.trc)
-
-
+
+
空闲
-
+
停止
-
+
扇区
@@ -1357,37 +1303,37 @@ or the communication between a tag and a reader.
块
-
+
密钥A
-
+
密钥B
-
+
固件版本:
-
+
连接状态:
-
+
运行状态:
-
+
正在运行
-
+
实际频率:
@@ -1395,34 +1341,35 @@ or the communication between a tag and a reader.
Mifare
-
+
+
成功!
-
-
-
-
-
-
-
+
+
+
+
+
+
+
信息
-
+
请至少提供一个已知密码
-
-
+
+
失败!
-
+
@@ -1431,22 +1378,17 @@ Continue to write?
确定要写入吗?
-
-
- 成功!
-
-
-
+
写入以下块失败:
-
+
选中这些块?
-
+
读卡失败。
@@ -1463,21 +1405,6 @@ Continue to write?
目标卡片类型:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/common/util.cpp b/src/common/util.cpp
index 0130a42..24b5ab4 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -128,7 +128,7 @@ bool Util::chooseLanguage(QSettings* guiSettings, QMainWindow* window)
return false;
if(langMap[selectedText] == "(ext)")
{
- QString extPath = QFileDialog::getOpenFileName(nullptr, tr("Select the translation file:"));
+ QString extPath = QFileDialog::getOpenFileName(window, tr("Select the translation file:"));
if(extPath.isEmpty())
return false;
diff --git a/src/common/util.h b/src/common/util.h
index bda759b..bc43d07 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -59,7 +59,7 @@ public:
static ClientType getClientType();
static int rawTabIndex;
static QDockWidget* rawDockPtr;
- static bool chooseLanguage(QSettings *guiSettings, QMainWindow *window);
+ static bool chooseLanguage(QSettings *guiSettings, QMainWindow *window = nullptr);
public slots:
void processOutput(const QString& output);
static void setClientType(Util::ClientType clientType);
diff --git a/src/main.cpp b/src/main.cpp
index 05ab4ef..5e45f45 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -23,7 +23,6 @@ int main(int argc, char *argv[])
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QApplication a(argc, argv);
- MainWindow w;
QSettings* settings = new QSettings("GUIsettings.ini", QSettings::IniFormat);
settings->setIniCodec("UTF-8");
@@ -36,7 +35,7 @@ int main(int argc, char *argv[])
settings->endGroup();
if(languageName == "")
{
- if(Util::chooseLanguage(settings, &w))
+ if(Util::chooseLanguage(settings))
{
settings->beginGroup("language");
languageName = settings->value("name").toString();
@@ -53,11 +52,13 @@ int main(int argc, char *argv[])
}
else
languageFile = ":/i18n/" + languageName + ".qm";
- QTranslator* translator = new QTranslator(&w);
+
+ // Note that the translator must be created before the application's widgets.
+ QTranslator* translator = new QTranslator();
if(translator->load(languageFile))
a.installTranslator(translator);
else
- QMessageBox::information(&w, "Error", "Can't load " + languageFile + " as translation file.");
+ QMessageBox::information(nullptr, "Error", "Can't load " + languageFile + " as translation file.");
QFile* themeFile = new QFile();
QTextStream* themeStream = new QTextStream();
@@ -87,6 +88,7 @@ int main(int argc, char *argv[])
delete settings;
settings = nullptr;
+ MainWindow w;
w.initUI();
w.show();
return a.exec();
diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui
index ca2a943..0b0122d 100644
--- a/src/ui/mainwindow.ui
+++ b/src/ui/mainwindow.ui
@@ -1286,7 +1286,7 @@
- 125k
+ 125k
true
@@ -1302,7 +1302,7 @@
- 134k
+ 134k
@@ -3192,7 +3192,7 @@ or the communication between a tag and a reader.
- <html><head/><body><p><a href="https://github.com/wh201906/Proxmark3GUI/releases/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/wh201906/Proxmark3GUI/releases/</span></a></p></body></html>
+ <html><head/><body><p><a href="https://github.com/wh201906/Proxmark3GUI/releases/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/wh201906/Proxmark3GUI/releases/</span></a></p></body></html>
true
@@ -3222,7 +3222,7 @@ or the communication between a tag and a reader.
- <html><head/><body><p><a href="https://github.com/wh201906/Proxmark3GUI/issues/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/wh201906/Proxmark3GUI/issues/</span></a></p></body></html>
+ <html><head/><body><p><a href="https://github.com/wh201906/Proxmark3GUI/issues/"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/wh201906/Proxmark3GUI/issues/</span></a></p></body></html>
true
diff --git a/src/ui/mf_sim_simdialog.ui b/src/ui/mf_sim_simdialog.ui
index 2fcbf31..4b82bb2 100644
--- a/src/ui/mf_sim_simdialog.ui
+++ b/src/ui/mf_sim_simdialog.ui
@@ -35,7 +35,7 @@
-
- u
+ u
@@ -102,7 +102,7 @@
-
- --atqa
+ --atqa
@@ -169,7 +169,7 @@
-
- --sak
+ --sak
@@ -236,7 +236,7 @@
-
- n
+ n
@@ -303,7 +303,7 @@
-
- i
+ i
@@ -354,7 +354,7 @@
-
- x
+ x
@@ -405,7 +405,7 @@
-
- e
+ e
@@ -456,7 +456,7 @@
-
- f
+ f
@@ -523,7 +523,7 @@
-
- r
+ r
@@ -574,7 +574,7 @@
-
- -v
+ -v
diff --git a/src/ui/mf_trailerdecoderdialog.ui b/src/ui/mf_trailerdecoderdialog.ui
index 3d3aa63..f79015c 100644
--- a/src/ui/mf_trailerdecoderdialog.ui
+++ b/src/ui/mf_trailerdecoderdialog.ui
@@ -25,7 +25,7 @@
-
- 4
+ 4
true
@@ -35,7 +35,7 @@
-
- 16
+ 16
@@ -131,7 +131,7 @@
-
- Cx0
+ Cx0
@@ -152,7 +152,7 @@
-
- Cx1
+ Cx1
@@ -173,7 +173,7 @@
-
- Cx2
+ Cx2
@@ -194,7 +194,7 @@
-
- Cx3
+ Cx3
@@ -214,84 +214,84 @@
-
- C10
+ C10
-
- C11
+ C11
-
- C12
+ C12
-
- C13
+ C13
-
- C20
+ C20
-
- C21
+ C21
-
- C22
+ C22
-
- C23
+ C23
-
- C30
+ C30
-
- C31
+ C31
-
- C32
+ C32
-
- C33
+ C33
diff --git a/src/ui/mf_uid_parameterdialog.ui b/src/ui/mf_uid_parameterdialog.ui
index 15d5129..3b45dab 100644
--- a/src/ui/mf_uid_parameterdialog.ui
+++ b/src/ui/mf_uid_parameterdialog.ui
@@ -19,7 +19,7 @@
-
- UID:
+ UID:
@@ -29,7 +29,7 @@
-
- ATQA:
+ ATQA:
@@ -39,7 +39,7 @@
-
- SAK:
+ SAK:
diff --git a/src/ui/t55xxtab.ui b/src/ui/t55xxtab.ui
index 7ead35a..e25a815 100644
--- a/src/ui/t55xxtab.ui
+++ b/src/ui/t55xxtab.ui
@@ -29,14 +29,14 @@
-
- T5555
+ T5555
-
- T55x7
+ T55x7
true
@@ -61,7 +61,7 @@
-
- EM410x
+ EM410x
-