diff --git a/lang/en_US.ts b/lang/en_US.ts
index f16ef0e..363baba 100644
--- a/lang/en_US.ts
+++ b/lang/en_US.ts
@@ -519,7 +519,7 @@ It could make the whole sector blocked irreversibly!
-
+
@@ -922,7 +922,7 @@ or the communication between a tag and a reader.
-
+
@@ -932,123 +932,123 @@ or the communication between a tag and a reader.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -1058,30 +1058,25 @@ or the communication between a tag and a reader.
-
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
-
+
@@ -1106,181 +1101,189 @@ or the communication between a tag and a reader.
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
+
+
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
+
-
-
+
+
-
+
@@ -1306,27 +1309,27 @@ or the communication between a tag and a reader.
-
+
-
+
-
+
-
+
-
+
diff --git a/lang/zh_CN.qm b/lang/zh_CN.qm
index 91baeac..38b9a62 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 db49a6c..072af7f 100644
--- a/lang/zh_CN.ts
+++ b/lang/zh_CN.ts
@@ -483,7 +483,7 @@ It could make the whole sector blocked irreversibly!
-
+
关于UID卡
@@ -892,7 +892,7 @@ or the communication between a tag and a reader.
-
+
命令历史:
@@ -902,52 +902,52 @@ or the communication between a tag and a reader.
清空历史
-
+
发送
-
+
清空输出
-
+
设置
-
+
客户端
-
+
-
+
-
+
语言:
-
+
选择语言
-
+
(重启此程序以使用新语言)
-
+
保持所有按钮可点击,即使未连接客户端或有任务正在运行
@@ -992,73 +992,73 @@ or the communication between a tag and a reader.
改变当前配置
-
+
预加载脚本路径(重连后生效):
-
+
如果客户端需要配置环境变量才能正常运行,可以将配置环境变量所需的脚本文件(Windows系统内为*.bat,linux系统内为*.sh)路径填入此处。
-
+
客户端工作路径(重连后生效):
-
+
在Windows系统中,客户端工作路径与GUI程序所在路径不能相同,否则客户端会使用错误的.dll文件。
-
+
启动参数(重连后生效):
-
+
-f选项用于使客户端实时返回命令回显,必须添加。部分情况下启动参数需设置为"-p /dev/<port> -f"或"-p <port> -f"。
-
+
配置文件路径(重连后生效):
-
+
-
+
不同客户端需要使用不同的配置文件。若命令格式发生改变,你可以尝试手动修改配置文件以适配。
-
+
在PM3断开后保持客户端运行(实验性功能)
-
+
图形化界面
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
信息
@@ -1068,30 +1068,25 @@ or the communication between a tag and a reader.
请先选择端口
-
+
已连接
-
-
+
+
未连接
-
-
- 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml);;所有文件(*.*)
-
-
-
-
-
+
+
+
无法打开
-
+
确定?
@@ -1116,181 +1111,193 @@ or the communication between a tag and a reader.
无法打开配置文件
-
+
部分数据和密码将被清除
-
+
请选择数据窗口和密钥窗口的字体
-
+
数据必须由32个十六进制字符组成(中间可含有空格)
-
-
+
+
密钥必须由12个十六进制字符组成(中间可含有空格)
-
+
请选择数据文件:
-
-
- 请选择密钥文件:
+
+
+
+
+ 二进制数据文件(*.bin *.dump)
-
-
- 二进制密钥文件(*.bin *.dump);;二进制密钥文件(*.bin *.dump);;所有文件(*.*)
+
+
+
+
+ 所有文件(*.*)
-
-
- 请选择数据文件保存的位置:
+
+
+ 请选择密钥文件:
-
-
- 二进制数据文件(*.bin *.dump);;文本数据文件(*.txt *.eml)
+
+
+ 请选择数据文件保存的位置:
-
-
-
+
+
+
无法保存至
-
+
请选择密钥文件保存的位置:
-
+
+
+
二进制密码文件(*.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文件(*.trc);;所有文件(*.*)
-
-
-
+
请选择trace文件保存的位置:
-
+
+
Trace文件(*.trc)
-
-
+
+
空闲
-
+
停止
@@ -1316,27 +1323,27 @@ or the communication between a tag and a reader.
密钥B
-
+
固件版本:
-
+
连接状态:
-
+
运行状态:
-
+
正在运行
-
+
实际频率:
diff --git a/ui/mainwindow.cpp b/ui/mainwindow.cpp
index c186ad6..3321520 100644
--- a/ui/mainwindow.cpp
+++ b/ui/mainwindow.cpp
@@ -639,7 +639,7 @@ void MainWindow::on_MF_File_loadButton_clicked()
if(ui->MF_File_dataBox->isChecked())
{
title = tr("Plz select the data file:");
- filename = QFileDialog::getOpenFileName(this, title, "./", tr("Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)"));
+ filename = QFileDialog::getOpenFileName(this, title, "./", tr("Binary Data Files(*.bin *.dump)") + ";;" + tr("Text Data Files(*.txt *.eml)") + ";;" + tr("All Files(*.*)"));
qDebug() << filename;
if(filename != "")
{
@@ -652,7 +652,7 @@ void MainWindow::on_MF_File_loadButton_clicked()
else if(ui->MF_File_keyBox->isChecked())
{
title = tr("Plz select the key file:");
- filename = QFileDialog::getOpenFileName(this, title, "./", tr("Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*)"));
+ filename = QFileDialog::getOpenFileName(this, title, "./", tr("Binary Key Files(*.bin *.dump)") + ";;" + tr("All Files(*.*)"));
qDebug() << filename;
if(filename != "")
{
@@ -679,11 +679,11 @@ void MainWindow::on_MF_File_saveButton_clicked()
if(ui->MF_File_dataBox->isChecked())
{
title = tr("Plz select the location to save data file:");
- filename = QFileDialog::getSaveFileName(this, title, "./data_" + defaultName, tr("Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml)"), &selectedType);
+ filename = QFileDialog::getSaveFileName(this, title, "./data_" + defaultName, tr("Binary Data Files(*.bin *.dump)") + ";;" + tr("Text Data Files(*.txt *.eml)"), &selectedType);
qDebug() << filename;
if(filename != "")
{
- if(!mifare->data_saveDataFile(filename, selectedType == "Binary Data Files(*.bin *.dump)"))
+ if(!mifare->data_saveDataFile(filename, selectedType == tr("Binary Data Files(*.bin *.dump)")))
{
QMessageBox::information(this, tr("Info"), tr("Failed to save to") + "\n" + filename);
}
@@ -696,7 +696,7 @@ void MainWindow::on_MF_File_saveButton_clicked()
qDebug() << filename;
if(filename != "")
{
- if(!mifare->data_saveKeyFile(filename, selectedType == "Binary Key Files(*.bin *.dump)"))
+ if(!mifare->data_saveKeyFile(filename, selectedType == tr("Binary Key Files(*.bin *.dump)")))
{
QMessageBox::information(this, tr("Info"), tr("Failed to save to") + "\n" + filename);
}
@@ -877,7 +877,7 @@ void MainWindow::on_MF_Sniff_loadButton_clicked() // use a tmp file to support c
QString filename = "";
title = tr("Plz select the trace file:");
- filename = QFileDialog::getOpenFileName(this, title, clientWorkingDir->absolutePath(), tr("Trace Files(*.trc);;All Files(*.*)"));
+ filename = QFileDialog::getOpenFileName(this, title, clientWorkingDir->absolutePath(), tr("Trace Files(*.trc)") + ";;" + tr("All Files(*.*)"));
qDebug() << filename;
if(filename != "")
{
diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui
index a74db1e..241b18f 100644
--- a/ui/mainwindow.ui
+++ b/ui/mainwindow.ui
@@ -2613,7 +2613,11 @@ or the communication between a tag and a reader.
QLayout::SetMaximumSize
-
-
+
+
+ true
+
+
-