A small patch

Support specifying client working directory
Clean all compile warnings
This commit is contained in:
wh201906
2021-02-17 01:26:14 +08:00
parent 7f96c061dc
commit aa6b93984c
13 changed files with 312 additions and 197 deletions
+111 -94
View File
@@ -377,12 +377,13 @@ It could make the whole sector blocked irreversibly!</source>
<message>
<location filename="../ui/mainwindow.ui" line="473"/>
<location filename="../ui/mainwindow.ui" line="1179"/>
<location filename="../ui/mainwindow.ui" line="1602"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="493"/>
<location filename="../ui/mainwindow.cpp" line="921"/>
<location filename="../ui/mainwindow.cpp" line="932"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
@@ -478,7 +479,7 @@ It could make the whole sector blocked irreversibly!</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="878"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<location filename="../ui/mainwindow.cpp" line="760"/>
<source>About UID Card</source>
<translation type="unfinished"></translation>
</message>
@@ -658,7 +659,7 @@ It could make the whole sector blocked irreversibly!</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1471"/>
<location filename="../ui/mainwindow.cpp" line="193"/>
<location filename="../ui/mainwindow.cpp" line="204"/>
<source>History:</source>
<translation type="unfinished"></translation>
</message>
@@ -701,16 +702,32 @@ then put the path of the script there</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1586"/>
<source>Client working directory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1595"/>
<source>../data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1611"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1629"/>
<source>Start arguments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1593"/>
<location filename="../ui/mainwindow.ui" line="1636"/>
<source>&lt;port&gt; -f</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1600"/>
<location filename="../ui/mainwindow.ui" line="1643"/>
<source>Note:
-f is necessary because the GUI need to handle the output in time
In some cases the arguments should be set to &quot;-p /dev/&lt;port&gt; -f&quot;
@@ -718,75 +735,75 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1647"/>
<location filename="../ui/mainwindow.ui" line="1690"/>
<source>Keep buttons enabled even the client is running or disconnected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1669"/>
<location filename="../ui/mainwindow.ui" line="1712"/>
<source>GUI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1677"/>
<location filename="../ui/mainwindow.ui" line="1720"/>
<source>Language: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1684"/>
<location filename="../ui/mainwindow.ui" line="1727"/>
<source>Choose Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1691"/>
<location filename="../ui/mainwindow.ui" line="1734"/>
<source>(Restart this app to use new language)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="92"/>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="514"/>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.cpp" line="547"/>
<location filename="../ui/mainwindow.cpp" line="566"/>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="602"/>
<location filename="../ui/mainwindow.cpp" line="615"/>
<location filename="../ui/mainwindow.cpp" line="806"/>
<location filename="../ui/mainwindow.cpp" line="825"/>
<location filename="../ui/mainwindow.cpp" line="93"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<location filename="../ui/mainwindow.cpp" line="525"/>
<location filename="../ui/mainwindow.cpp" line="545"/>
<location filename="../ui/mainwindow.cpp" line="558"/>
<location filename="../ui/mainwindow.cpp" line="577"/>
<location filename="../ui/mainwindow.cpp" line="590"/>
<location filename="../ui/mainwindow.cpp" line="613"/>
<location filename="../ui/mainwindow.cpp" line="626"/>
<location filename="../ui/mainwindow.cpp" line="817"/>
<location filename="../ui/mainwindow.cpp" line="836"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="92"/>
<location filename="../ui/mainwindow.cpp" line="93"/>
<source>Plz choose a port first</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="128"/>
<location filename="../ui/mainwindow.cpp" line="139"/>
<source>Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="134"/>
<location filename="../ui/mainwindow.cpp" line="909"/>
<location filename="../ui/mainwindow.cpp" line="145"/>
<location filename="../ui/mainwindow.cpp" line="920"/>
<source>Not Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="560"/>
<location filename="../ui/mainwindow.cpp" line="571"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="566"/>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="806"/>
<location filename="../ui/mainwindow.cpp" line="577"/>
<location filename="../ui/mainwindow.cpp" line="590"/>
<location filename="../ui/mainwindow.cpp" line="817"/>
<source>Failed to open</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<source>Continue?</source>
<translation type="unfinished"></translation>
</message>
@@ -796,222 +813,222 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<source>Some of the data and key will be cleared.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="401"/>
<location filename="../ui/mainwindow.cpp" line="412"/>
<source>Plz select the font of data widget and key widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="514"/>
<location filename="../ui/mainwindow.cpp" line="525"/>
<source>Data must consists of 32 Hex symbols(Whitespace is allowed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.cpp" line="547"/>
<location filename="../ui/mainwindow.cpp" line="545"/>
<location filename="../ui/mainwindow.cpp" line="558"/>
<source>Key must consists of 12 Hex symbols(Whitespace is allowed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="559"/>
<location filename="../ui/mainwindow.cpp" line="570"/>
<source>Plz select the data file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="572"/>
<location filename="../ui/mainwindow.cpp" line="583"/>
<source>Plz select the key file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="573"/>
<location filename="../ui/mainwindow.cpp" line="584"/>
<source>Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="595"/>
<location filename="../ui/mainwindow.cpp" line="606"/>
<source>Plz select the location to save data file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="596"/>
<location filename="../ui/mainwindow.cpp" line="607"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="602"/>
<location filename="../ui/mainwindow.cpp" line="615"/>
<location filename="../ui/mainwindow.cpp" line="825"/>
<location filename="../ui/mainwindow.cpp" line="613"/>
<location filename="../ui/mainwindow.cpp" line="626"/>
<location filename="../ui/mainwindow.cpp" line="836"/>
<source>Failed to save to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="608"/>
<location filename="../ui/mainwindow.cpp" line="619"/>
<source>Plz select the location to save key file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="609"/>
<location filename="../ui/mainwindow.cpp" line="620"/>
<source>Binary Key Files(*.bin *.dump)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="734"/>
<location filename="../ui/mainwindow.cpp" line="745"/>
<source> 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.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="735"/>
<location filename="../ui/mainwindow.cpp" line="746"/>
<source> Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="737"/>
<location filename="../ui/mainwindow.cpp" line="748"/>
<source>There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="738"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<source> Gen1:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="738"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<source> 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.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="739"/>
<location filename="../ui/mainwindow.cpp" line="750"/>
<source> Gen2:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="739"/>
<location filename="../ui/mainwindow.cpp" line="750"/>
<source> doesn&apos;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.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="741"/>
<location filename="../ui/mainwindow.cpp" line="752"/>
<source>There are some types of Chinese Magic Card Gen2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="742"/>
<location filename="../ui/mainwindow.cpp" line="753"/>
<source> CUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="742"/>
<location filename="../ui/mainwindow.cpp" line="753"/>
<source> the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="743"/>
<location filename="../ui/mainwindow.cpp" line="754"/>
<source> (hf mf wrbl 0 A FFFFFFFFFFFF &lt;the data you want to write&gt;)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="744"/>
<location filename="../ui/mainwindow.cpp" line="755"/>
<source> FUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="744"/>
<location filename="../ui/mainwindow.cpp" line="755"/>
<source> you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="745"/>
<location filename="../ui/mainwindow.cpp" line="756"/>
<source> (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="746"/>
<location filename="../ui/mainwindow.cpp" line="757"/>
<source> UFUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="746"/>
<location filename="../ui/mainwindow.cpp" line="757"/>
<source> It behaves like a CUID card(or UID card? I&apos;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).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="748"/>
<location filename="../ui/mainwindow.cpp" line="759"/>
<source> Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="793"/>
<location filename="../ui/mainwindow.cpp" line="804"/>
<source>Plz select the trace file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="794"/>
<location filename="../ui/mainwindow.cpp" line="805"/>
<source>Trace Files(*.trc);;All Files(*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="816"/>
<location filename="../ui/mainwindow.cpp" line="827"/>
<source>Plz select the location to save trace file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="817"/>
<location filename="../ui/mainwindow.cpp" line="828"/>
<source>Trace Files(*.trc)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="910"/>
<location filename="../ui/mainwindow.cpp" line="1079"/>
<location filename="../ui/mainwindow.cpp" line="921"/>
<location filename="../ui/mainwindow.cpp" line="1092"/>
<source>Idle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="912"/>
<location filename="../ui/mainwindow.cpp" line="923"/>
<source>Stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="919"/>
<location filename="../ui/mainwindow.cpp" line="926"/>
<location filename="../ui/mainwindow.cpp" line="930"/>
<location filename="../ui/mainwindow.cpp" line="937"/>
<source>Sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="920"/>
<location filename="../ui/mainwindow.cpp" line="931"/>
<source>Blk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="927"/>
<location filename="../ui/mainwindow.cpp" line="938"/>
<source>KeyA</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="928"/>
<location filename="../ui/mainwindow.cpp" line="939"/>
<source>KeyB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1016"/>
<location filename="../ui/mainwindow.cpp" line="1029"/>
<source>HW Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1018"/>
<location filename="../ui/mainwindow.cpp" line="1031"/>
<source>PM3:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1020"/>
<location filename="../ui/mainwindow.cpp" line="1033"/>
<source>State:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1075"/>
<location filename="../ui/mainwindow.cpp" line="1088"/>
<source>Running</source>
<translation type="unfinished"></translation>
</message>
@@ -1019,56 +1036,56 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
<context>
<name>Mifare</name>
<message>
<location filename="../module/mifare.cpp" line="641"/>
<location filename="../module/mifare.cpp" line="640"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="228"/>
<location filename="../module/mifare.cpp" line="641"/>
<location filename="../module/mifare.cpp" line="645"/>
<location filename="../module/mifare.cpp" line="669"/>
<location filename="../module/mifare.cpp" line="708"/>
<location filename="../module/mifare.cpp" line="721"/>
<location filename="../module/mifare.cpp" line="776"/>
<location filename="../module/mifare.cpp" line="226"/>
<location filename="../module/mifare.cpp" line="640"/>
<location filename="../module/mifare.cpp" line="644"/>
<location filename="../module/mifare.cpp" line="668"/>
<location filename="../module/mifare.cpp" line="707"/>
<location filename="../module/mifare.cpp" line="720"/>
<location filename="../module/mifare.cpp" line="775"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="228"/>
<location filename="../module/mifare.cpp" line="226"/>
<source>Plz provide at least one known key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="492"/>
<location filename="../module/mifare.cpp" line="645"/>
<location filename="../module/mifare.cpp" line="490"/>
<location filename="../module/mifare.cpp" line="644"/>
<source>Failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="670"/>
<location filename="../module/mifare.cpp" line="669"/>
<source>The Access Bits is invalid!
It could make the whole sector blocked irreversibly!
Continue to write?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="708"/>
<location filename="../module/mifare.cpp" line="707"/>
<source>Successful!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="721"/>
<location filename="../module/mifare.cpp" line="720"/>
<source>Failed to write to these blocks:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="725"/>
<location filename="../module/mifare.cpp" line="724"/>
<source>Select them?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="776"/>
<location filename="../module/mifare.cpp" line="775"/>
<source>Failed to read card.</source>
<translation type="unfinished"></translation>
</message>
BIN
View File
Binary file not shown.
+112 -94
View File
@@ -381,12 +381,13 @@ It could make the whole sector blocked irreversibly!</source>
<message>
<location filename="../ui/mainwindow.ui" line="473"/>
<location filename="../ui/mainwindow.ui" line="1179"/>
<location filename="../ui/mainwindow.ui" line="1602"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="493"/>
<location filename="../ui/mainwindow.cpp" line="921"/>
<location filename="../ui/mainwindow.cpp" line="932"/>
<source>Data</source>
<translation></translation>
</message>
@@ -482,7 +483,7 @@ It could make the whole sector blocked irreversibly!</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="878"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<location filename="../ui/mainwindow.cpp" line="760"/>
<source>About UID Card</source>
<translation>UID卡</translation>
</message>
@@ -662,7 +663,7 @@ It could make the whole sector blocked irreversibly!</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1471"/>
<location filename="../ui/mainwindow.cpp" line="193"/>
<location filename="../ui/mainwindow.cpp" line="204"/>
<source>History:</source>
<translation></translation>
</message>
@@ -706,16 +707,33 @@ then put the path of the script there</source>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1586"/>
<source>Client working directory:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1595"/>
<source>../data</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1611"/>
<source>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.</source>
<translation>
Windows系统中GUI程序所在路径不能相同使.dll文件</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1629"/>
<source>Start arguments</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1593"/>
<location filename="../ui/mainwindow.ui" line="1636"/>
<source>&lt;port&gt; -f</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1600"/>
<location filename="../ui/mainwindow.ui" line="1643"/>
<source>Note:
-f is necessary because the GUI need to handle the output in time
In some cases the arguments should be set to &quot;-p /dev/&lt;port&gt; -f&quot;
@@ -726,75 +744,75 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
&quot;-p &lt;port&gt; -f&quot;</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1677"/>
<location filename="../ui/mainwindow.ui" line="1720"/>
<source>Language: </source>
<translation> </translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1684"/>
<location filename="../ui/mainwindow.ui" line="1727"/>
<source>Choose Language</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1691"/>
<location filename="../ui/mainwindow.ui" line="1734"/>
<source>(Restart this app to use new language)</source>
<translation>使</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1647"/>
<location filename="../ui/mainwindow.ui" line="1690"/>
<source>Keep buttons enabled even the client is running or disconnected</source>
<translation>使</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1669"/>
<location filename="../ui/mainwindow.ui" line="1712"/>
<source>GUI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="92"/>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="514"/>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.cpp" line="547"/>
<location filename="../ui/mainwindow.cpp" line="566"/>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="602"/>
<location filename="../ui/mainwindow.cpp" line="615"/>
<location filename="../ui/mainwindow.cpp" line="806"/>
<location filename="../ui/mainwindow.cpp" line="825"/>
<location filename="../ui/mainwindow.cpp" line="93"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<location filename="../ui/mainwindow.cpp" line="525"/>
<location filename="../ui/mainwindow.cpp" line="545"/>
<location filename="../ui/mainwindow.cpp" line="558"/>
<location filename="../ui/mainwindow.cpp" line="577"/>
<location filename="../ui/mainwindow.cpp" line="590"/>
<location filename="../ui/mainwindow.cpp" line="613"/>
<location filename="../ui/mainwindow.cpp" line="626"/>
<location filename="../ui/mainwindow.cpp" line="817"/>
<location filename="../ui/mainwindow.cpp" line="836"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="92"/>
<location filename="../ui/mainwindow.cpp" line="93"/>
<source>Plz choose a port first</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="128"/>
<location filename="../ui/mainwindow.cpp" line="139"/>
<source>Connected</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="134"/>
<location filename="../ui/mainwindow.cpp" line="909"/>
<location filename="../ui/mainwindow.cpp" line="145"/>
<location filename="../ui/mainwindow.cpp" line="920"/>
<source>Not Connected</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="560"/>
<location filename="../ui/mainwindow.cpp" line="571"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source>
<translation>(*.bin *.dump);;(*.txt *.eml);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="566"/>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="806"/>
<location filename="../ui/mainwindow.cpp" line="577"/>
<location filename="../ui/mainwindow.cpp" line="590"/>
<location filename="../ui/mainwindow.cpp" line="817"/>
<source>Failed to open</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<source>Continue?</source>
<translation></translation>
</message>
@@ -804,222 +822,222 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="288"/>
<location filename="../ui/mainwindow.cpp" line="299"/>
<source>Some of the data and key will be cleared.</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="401"/>
<location filename="../ui/mainwindow.cpp" line="412"/>
<source>Plz select the font of data widget and key widget</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="514"/>
<location filename="../ui/mainwindow.cpp" line="525"/>
<source>Data must consists of 32 Hex symbols(Whitespace is allowed)</source>
<translation>32</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.cpp" line="547"/>
<location filename="../ui/mainwindow.cpp" line="545"/>
<location filename="../ui/mainwindow.cpp" line="558"/>
<source>Key must consists of 12 Hex symbols(Whitespace is allowed)</source>
<translation>12</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="559"/>
<location filename="../ui/mainwindow.cpp" line="570"/>
<source>Plz select the data file:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="572"/>
<location filename="../ui/mainwindow.cpp" line="583"/>
<source>Plz select the key file:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="573"/>
<location filename="../ui/mainwindow.cpp" line="584"/>
<source>Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*)</source>
<translation>(*.bin *.dump)(*.bin *.dump);(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="595"/>
<location filename="../ui/mainwindow.cpp" line="606"/>
<source>Plz select the location to save data file:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="596"/>
<location filename="../ui/mainwindow.cpp" line="607"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml)</source>
<translation>(*.bin *.dump);(*.txt *.eml)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="602"/>
<location filename="../ui/mainwindow.cpp" line="615"/>
<location filename="../ui/mainwindow.cpp" line="825"/>
<location filename="../ui/mainwindow.cpp" line="613"/>
<location filename="../ui/mainwindow.cpp" line="626"/>
<location filename="../ui/mainwindow.cpp" line="836"/>
<source>Failed to save to</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="608"/>
<location filename="../ui/mainwindow.cpp" line="619"/>
<source>Plz select the location to save key file:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="609"/>
<location filename="../ui/mainwindow.cpp" line="620"/>
<source>Binary Key Files(*.bin *.dump)</source>
<translation>(*.bin *.dump)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="734"/>
<location filename="../ui/mainwindow.cpp" line="745"/>
<source> 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.</source>
<translation> Mifare卡的块0无法写入</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="735"/>
<location filename="../ui/mainwindow.cpp" line="746"/>
<source> Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it.</source>
<translation> UID卡Chinese Magic Card0</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="737"/>
<location filename="../ui/mainwindow.cpp" line="748"/>
<source>There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.</source>
<translation>UID卡分为Chinese Magic Card Gen1和Gen2</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="738"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<source> Gen1:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="738"/>
<location filename="../ui/mainwindow.cpp" line="749"/>
<source> 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.</source>
<translation> UID卡PM3和此GUI中有特殊命令处理这类卡片</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="739"/>
<location filename="../ui/mainwindow.cpp" line="750"/>
<source> Gen2:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="739"/>
<location filename="../ui/mainwindow.cpp" line="750"/>
<source> doesn&apos;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.</source>
<translation> CUID/FUID/UFUID这类对后门指令不响应的卡</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="741"/>
<location filename="../ui/mainwindow.cpp" line="752"/>
<source>There are some types of Chinese Magic Card Gen2.</source>
<translation>Gen2卡的详细介绍</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="742"/>
<location filename="../ui/mainwindow.cpp" line="753"/>
<source> CUID Card:</source>
<translation> CUID卡</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="742"/>
<location filename="../ui/mainwindow.cpp" line="753"/>
<source> the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command.</source>
<translation> 0</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="743"/>
<location filename="../ui/mainwindow.cpp" line="754"/>
<source> (hf mf wrbl 0 A FFFFFFFFFFFF &lt;the data you want to write&gt;)</source>
<translation> (hf mf wrbl 0 A FFFFFFFFFFFF &lt;&gt;)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="744"/>
<location filename="../ui/mainwindow.cpp" line="755"/>
<source> FUID Card:</source>
<translation> FUID卡</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="744"/>
<location filename="../ui/mainwindow.cpp" line="755"/>
<source> you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to).</source>
<translation> 0</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="745"/>
<location filename="../ui/mainwindow.cpp" line="756"/>
<source> (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.)</source>
<translation> (穿CUID卡的读卡器)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="746"/>
<location filename="../ui/mainwindow.cpp" line="757"/>
<source> UFUID Card:</source>
<translation> UFUID卡</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="746"/>
<location filename="../ui/mainwindow.cpp" line="757"/>
<source> It behaves like a CUID card(or UID card? I&apos;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).</source>
<translation> UID/CUID卡一样可以反复读写块0FUID卡一样了</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="748"/>
<location filename="../ui/mainwindow.cpp" line="759"/>
<source> Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key).</source>
<translation> UID卡都似乎更容易被Nested攻击破解</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="793"/>
<location filename="../ui/mainwindow.cpp" line="804"/>
<source>Plz select the trace file:</source>
<translation>trace文件</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="794"/>
<location filename="../ui/mainwindow.cpp" line="805"/>
<source>Trace Files(*.trc);;All Files(*.*)</source>
<translation>Trace文件(*.trc);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="816"/>
<location filename="../ui/mainwindow.cpp" line="827"/>
<source>Plz select the location to save trace file:</source>
<translation>trace文件保存的位置</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="817"/>
<location filename="../ui/mainwindow.cpp" line="828"/>
<source>Trace Files(*.trc)</source>
<translation>Trace文件(*.trc)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="910"/>
<location filename="../ui/mainwindow.cpp" line="1079"/>
<location filename="../ui/mainwindow.cpp" line="921"/>
<location filename="../ui/mainwindow.cpp" line="1092"/>
<source>Idle</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="912"/>
<location filename="../ui/mainwindow.cpp" line="923"/>
<source>Stop</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="919"/>
<location filename="../ui/mainwindow.cpp" line="926"/>
<location filename="../ui/mainwindow.cpp" line="930"/>
<location filename="../ui/mainwindow.cpp" line="937"/>
<source>Sec</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="920"/>
<location filename="../ui/mainwindow.cpp" line="931"/>
<source>Blk</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="927"/>
<location filename="../ui/mainwindow.cpp" line="938"/>
<source>KeyA</source>
<translation>A</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="928"/>
<location filename="../ui/mainwindow.cpp" line="939"/>
<source>KeyB</source>
<translation>B</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1016"/>
<location filename="../ui/mainwindow.cpp" line="1029"/>
<source>HW Version:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1018"/>
<location filename="../ui/mainwindow.cpp" line="1031"/>
<source>PM3:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1020"/>
<location filename="../ui/mainwindow.cpp" line="1033"/>
<source>State:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="1075"/>
<location filename="../ui/mainwindow.cpp" line="1088"/>
<source>Running</source>
<translation></translation>
</message>
@@ -1027,34 +1045,34 @@ or &quot;-p &lt;port&gt; -f&quot;</source>
<context>
<name>Mifare</name>
<message>
<location filename="../module/mifare.cpp" line="641"/>
<location filename="../module/mifare.cpp" line="640"/>
<source>Success!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="228"/>
<location filename="../module/mifare.cpp" line="641"/>
<location filename="../module/mifare.cpp" line="645"/>
<location filename="../module/mifare.cpp" line="669"/>
<location filename="../module/mifare.cpp" line="708"/>
<location filename="../module/mifare.cpp" line="721"/>
<location filename="../module/mifare.cpp" line="776"/>
<location filename="../module/mifare.cpp" line="226"/>
<location filename="../module/mifare.cpp" line="640"/>
<location filename="../module/mifare.cpp" line="644"/>
<location filename="../module/mifare.cpp" line="668"/>
<location filename="../module/mifare.cpp" line="707"/>
<location filename="../module/mifare.cpp" line="720"/>
<location filename="../module/mifare.cpp" line="775"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="228"/>
<location filename="../module/mifare.cpp" line="226"/>
<source>Plz provide at least one known key</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="492"/>
<location filename="../module/mifare.cpp" line="645"/>
<location filename="../module/mifare.cpp" line="490"/>
<location filename="../module/mifare.cpp" line="644"/>
<source>Failed!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="670"/>
<location filename="../module/mifare.cpp" line="669"/>
<source>The Access Bits is invalid!
It could make the whole sector blocked irreversibly!
Continue to write?</source>
@@ -1063,22 +1081,22 @@ Continue to write?</source>
</translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="708"/>
<location filename="../module/mifare.cpp" line="707"/>
<source>Successful!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="721"/>
<location filename="../module/mifare.cpp" line="720"/>
<source>Failed to write to these blocks:</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="725"/>
<location filename="../module/mifare.cpp" line="724"/>
<source>Select them?</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="776"/>
<location filename="../module/mifare.cpp" line="775"/>
<source>Failed to read card.</source>
<translation></translation>
</message>