Update translation

pull/2/head
wh201906 5 years ago
parent 526bd89873
commit 0f2cca9a98

@ -46,7 +46,7 @@ qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target !isEmpty(target.path): INSTALLS += target
VERSION = 0.0.1 VERSION = 0.1
QMAKE_TARGET_PRODUCT = "Proxmark3GUI" QMAKE_TARGET_PRODUCT = "Proxmark3GUI"
QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI" QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI"
QMAKE_TARGET_COMPANY = "wh201906" QMAKE_TARGET_COMPANY = "wh201906"

@ -41,7 +41,7 @@
<name>MF_UID_parameterDialog</name> <name>MF_UID_parameterDialog</name>
<message> <message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/> <location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<source>Dialog</source> <source>Set Parameter</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@ -59,410 +59,550 @@
<source>SAK:</source> <source>SAK:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="54"/>
<source>The parameter will not change if you leave it empty.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>MainWindow</name> <name>MainWindow</name>
<message> <message>
<location filename="../ui/mainwindow.ui" line="20"/> <location filename="../ui/mainwindow.ui" line="23"/>
<source>Proxmark3GUI</source> <source>Proxmark3GUI</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="38"/> <location filename="../ui/mainwindow.ui" line="56"/>
<source>Path:</source> <source>Path:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="62"/> <location filename="../ui/mainwindow.ui" line="80"/>
<source>Refresh</source> <source>Refresh</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="69"/> <location filename="../ui/mainwindow.ui" line="87"/>
<source>Connect</source> <source>Connect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="76"/> <location filename="../ui/mainwindow.ui" line="94"/>
<source>Disconnect</source> <source>Disconnect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="95"/> <location filename="../ui/mainwindow.ui" line="113"/>
<source>Mifare</source> <source>Mifare</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="166"/> <location filename="../ui/mainwindow.ui" line="206"/>
<source>&gt;&gt;</source> <source>&gt;&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="191"/> <location filename="../ui/mainwindow.ui" line="231"/>
<source>&lt;&lt;</source> <source>&lt;&lt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="241"/> <location filename="../ui/mainwindow.ui" line="263"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="320"/>
<source>Card Type</source> <source>Card Type</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="256"/> <location filename="../ui/mainwindow.ui" line="335"/>
<source>MINI</source> <source>MINI</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="263"/> <location filename="../ui/mainwindow.ui" line="342"/>
<source>1K</source> <source>1K</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="273"/> <location filename="../ui/mainwindow.ui" line="352"/>
<source>2K</source> <source>2K</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="280"/> <location filename="../ui/mainwindow.ui" line="359"/>
<source>4K</source> <source>4K</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="290"/> <location filename="../ui/mainwindow.ui" line="369"/>
<source>File</source> <source>File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="308"/> <location filename="../ui/mainwindow.ui" line="387"/>
<location filename="../ui/mainwindow.ui" line="852"/> <location filename="../ui/mainwindow.ui" line="944"/>
<source>Load</source> <source>Load</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="321"/> <location filename="../ui/mainwindow.ui" line="400"/>
<location filename="../ui/mainwindow.ui" line="865"/> <location filename="../ui/mainwindow.ui" line="957"/>
<source>Save</source> <source>Save</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="328"/> <location filename="../ui/mainwindow.ui" line="420"/>
<location filename="../ui/mainwindow.cpp" line="352"/> <location filename="../ui/mainwindow.cpp" line="534"/>
<source>Data</source> <source>Data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="338"/> <location filename="../ui/mainwindow.ui" line="430"/>
<source>Key</source> <source>Key</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="348"/> <location filename="../ui/mainwindow.ui" line="440"/>
<source>Attack</source> <source>Attack</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="373"/> <location filename="../ui/mainwindow.ui" line="465"/>
<source>Card Info</source> <source>Card Info</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="386"/> <location filename="../ui/mainwindow.ui" line="478"/>
<source>Check Default</source> <source>Check Default</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="399"/> <location filename="../ui/mainwindow.ui" line="491"/>
<source>Nested</source> <source>Nested</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="406"/> <location filename="../ui/mainwindow.ui" line="498"/>
<source>Hardnested</source> <source>Hardnested</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="431"/> <location filename="../ui/mainwindow.ui" line="523"/>
<source>Read/Write</source> <source>Read/Write</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="441"/> <location filename="../ui/mainwindow.ui" line="533"/>
<source>Block:</source> <source>Block:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="473"/> <location filename="../ui/mainwindow.ui" line="565"/>
<source>Key:</source> <source>Key:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="492"/> <location filename="../ui/mainwindow.ui" line="584"/>
<source>Key Type:</source> <source>Key Type:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="512"/> <location filename="../ui/mainwindow.ui" line="604"/>
<source>A</source> <source>A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="517"/> <location filename="../ui/mainwindow.ui" line="609"/>
<source>B</source> <source>B</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="540"/> <location filename="../ui/mainwindow.ui" line="632"/>
<source>Normal(Require Password)</source> <source>Normal(Require Password)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="555"/> <location filename="../ui/mainwindow.ui" line="647"/>
<location filename="../ui/mainwindow.ui" line="644"/> <location filename="../ui/mainwindow.ui" line="736"/>
<source>Read Block</source> <source>Read Block</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="562"/> <location filename="../ui/mainwindow.ui" line="654"/>
<location filename="../ui/mainwindow.ui" line="651"/> <location filename="../ui/mainwindow.ui" line="743"/>
<source>Write Block</source> <source>Write Block</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="569"/> <location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="658"/> <location filename="../ui/mainwindow.ui" line="750"/>
<location filename="../ui/mainwindow.ui" line="758"/> <location filename="../ui/mainwindow.ui" line="850"/>
<source>Read All</source> <source>Read All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="576"/> <location filename="../ui/mainwindow.ui" line="668"/>
<location filename="../ui/mainwindow.ui" line="665"/> <location filename="../ui/mainwindow.ui" line="757"/>
<source>Write All</source> <source>Write All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="595"/> <location filename="../ui/mainwindow.ui" line="687"/>
<source>Dump</source> <source>Dump</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="608"/> <location filename="../ui/mainwindow.ui" line="700"/>
<source>Restore</source> <source>Restore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="618"/> <location filename="../ui/mainwindow.ui" line="710"/>
<source>Chinese Magic Card(Without Password)</source> <source>Chinese Magic Card(Without Password)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="630"/> <location filename="../ui/mainwindow.ui" line="722"/>
<source>Lock UFUID Card</source> <source>Lock UFUID Card</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="637"/> <location filename="../ui/mainwindow.ui" line="729"/>
<location filename="../ui/mainwindow.cpp" line="461"/>
<source>About UID Card</source> <source>About UID Card</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="678"/> <location filename="../ui/mainwindow.ui" line="770"/>
<source>Set Parameter</source> <source>Set Parameter</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="697"/> <location filename="../ui/mainwindow.ui" line="789"/>
<source>Wipe</source> <source>Wipe</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="723"/> <location filename="../ui/mainwindow.ui" line="815"/>
<location filename="../ui/mainwindow.ui" line="778"/> <location filename="../ui/mainwindow.ui" line="870"/>
<source>Simulate</source> <source>Simulate</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="751"/> <location filename="../ui/mainwindow.ui" line="843"/>
<source>Load from data above</source> <source>Load from data above</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="771"/> <location filename="../ui/mainwindow.ui" line="413"/>
<location filename="../ui/mainwindow.ui" line="863"/>
<source>Clear</source> <source>Clear</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="801"/> <location filename="../ui/mainwindow.ui" line="893"/>
<location filename="../ui/mainwindow.ui" line="832"/> <location filename="../ui/mainwindow.ui" line="924"/>
<source>Sniff</source> <source>Sniff</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="839"/> <location filename="../ui/mainwindow.ui" line="931"/>
<source>List Sniff Data</source> <source>List Sniff Data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="891"/> <location filename="../ui/mainwindow.ui" line="983"/>
<source>RawCommand</source> <source>RawCommand</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="923"/> <location filename="../ui/mainwindow.ui" line="1030"/>
<location filename="../ui/mainwindow.cpp" line="133"/> <location filename="../ui/mainwindow.cpp" line="143"/>
<source>History:</source> <source>History:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="952"/> <location filename="../ui/mainwindow.ui" line="1062"/>
<source>ClearHistory</source> <source>ClearHistory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="971"/> <location filename="../ui/mainwindow.ui" line="1081"/>
<source>Send</source> <source>Send</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="978"/> <location filename="../ui/mainwindow.ui" line="1088"/>
<source>ClearOutput</source> <source>ClearOutput</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="69"/> <location filename="../ui/mainwindow.cpp" line="77"/>
<location filename="../ui/mainwindow.cpp" line="169"/> <location filename="../ui/mainwindow.cpp" line="179"/>
<location filename="../ui/mainwindow.cpp" line="198"/> <location filename="../ui/mainwindow.cpp" line="229"/>
<location filename="../ui/mainwindow.cpp" line="211"/> <location filename="../ui/mainwindow.cpp" line="246"/>
<location filename="../ui/mainwindow.cpp" line="259"/>
<location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>Info</source> <source>Info</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="69"/> <location filename="../ui/mainwindow.cpp" line="77"/>
<source>Plz choose a port first</source> <source>Plz choose a port first</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="82"/> <location filename="../ui/mainwindow.cpp" line="91"/>
<source>Connected</source> <source>Connected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="86"/>
<location filename="../ui/mainwindow.cpp" line="95"/> <location filename="../ui/mainwindow.cpp" line="95"/>
<location filename="../ui/mainwindow.cpp" line="342"/> <location filename="../ui/mainwindow.cpp" line="105"/>
<location filename="../ui/mainwindow.cpp" line="524"/>
<source>Not Connected</source> <source>Not Connected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="169"/> <location filename="../ui/mainwindow.cpp" line="272"/>
<source>When Changeing card type, the data and keys in this app will be cleard. <source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source>
Continue?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="191"/> <location filename="../ui/mainwindow.cpp" line="278"/>
<source>Plz choose the data file:</source> <location filename="../ui/mainwindow.cpp" line="291"/>
<source>Failed to open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="192"/> <location filename="../ui/mainwindow.cpp" line="179"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source> <source>When Changeing card type, the data and keys in this app will be cleard.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="198"/> <location filename="../ui/mainwindow.cpp" line="179"/>
<location filename="../ui/mainwindow.cpp" line="211"/> <source>Continue?</source>
<source>Failed to open</source> <translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="208"/>
<source>Plz select the font of data widget and key widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="229"/>
<source>Data must consists of 32 Hex symbols(Whitespace is allowed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="246"/>
<location filename="../ui/mainwindow.cpp" line="259"/>
<source>Key must consists of 12 Hex symbols(Whitespace is allowed)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="271"/>
<source>Plz select the data file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="284"/>
<source>Plz select the key file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="285"/>
<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="307"/>
<source>Plz select the location to save data file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="308"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>Failed to save to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="320"/>
<source>Plz select the location to save key file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="321"/>
<source>Binary Key Files(*.bin *.dump)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="204"/> <location filename="../ui/mainwindow.cpp" line="446"/>
<source>Plz choose the key file:</source> <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> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="205"/> <location filename="../ui/mainwindow.cpp" line="447"/>
<source>Binary Key Files(*.bin *.dump);;All Files(*.*)</source> <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> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="220"/> <location filename="../ui/mainwindow.cpp" line="449"/>
<source>Save data to</source> <source>There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="222"/> <location filename="../ui/mainwindow.cpp" line="450"/>
<source>Bin Files(*.bin *.dump);;Text Files(*.txt *.eml)</source> <source> Gen1:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="343"/> <location filename="../ui/mainwindow.cpp" line="450"/>
<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="451"/>
<source> Gen2:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="451"/>
<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="453"/>
<source>There are some types of Chinese Magic Card Gen2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="454"/>
<source> CUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="454"/>
<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="455"/>
<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="456"/>
<source> FUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="456"/>
<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="457"/>
<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="458"/>
<source> UFUID Card:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="458"/>
<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="460"/>
<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="525"/>
<location filename="../ui/mainwindow.cpp" line="642"/>
<source>Idle</source> <source>Idle</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="350"/> <location filename="../ui/mainwindow.cpp" line="532"/>
<location filename="../ui/mainwindow.cpp" line="359"/> <location filename="../ui/mainwindow.cpp" line="541"/>
<source>Sec</source> <source>Sec</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="351"/> <location filename="../ui/mainwindow.cpp" line="533"/>
<source>Blk</source> <source>Blk</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="360"/> <location filename="../ui/mainwindow.cpp" line="542"/>
<source>KeyA</source> <source>KeyA</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="361"/> <location filename="../ui/mainwindow.cpp" line="543"/>
<source>KeyB</source> <source>KeyB</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="394"/> <location filename="../ui/mainwindow.cpp" line="579"/>
<source>HW Version:</source> <source>HW Version:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="396"/> <location filename="../ui/mainwindow.cpp" line="581"/>
<source>PM3:</source> <source>PM3:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="398"/> <location filename="../ui/mainwindow.cpp" line="583"/>
<source>State:</source> <source>State:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../ui/mainwindow.cpp" line="638"/>
<source>Running</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Mifare</name> <name>Mifare</name>
<message> <message>
<location filename="../module/mifare.cpp" line="268"/> <location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="365"/> <location filename="../module/mifare.cpp" line="386"/>
<source>Success!</source> <source>Success!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../module/mifare.cpp" line="268"/> <location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="272"/> <location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="365"/> <location filename="../module/mifare.cpp" line="386"/>
<location filename="../module/mifare.cpp" line="369"/> <location filename="../module/mifare.cpp" line="390"/>
<location filename="../module/mifare.cpp" line="425"/>
<source>Info</source> <source>Info</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../module/mifare.cpp" line="272"/> <location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="369"/> <location filename="../module/mifare.cpp" line="390"/>
<source>Failed!</source> <source>Failed!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../module/mifare.cpp" line="425"/>
<source>Failed to read card.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
</TS> </TS>

@ -40,13 +40,21 @@
<source>Target Block:</source> <source>Target Block:</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Target Block: </source>
<translation type="vanished"></translation>
</message>
</context> </context>
<context> <context>
<name>MF_UID_parameterDialog</name> <name>MF_UID_parameterDialog</name>
<message> <message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation></translation> <translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<source>Set Parameter</source>
<translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="22"/> <location filename="../ui/mf_uid_parameterdialog.ui" line="22"/>
@ -64,387 +72,546 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="54"/>
<source>The parameter will not change if you leave it empty.</source> <source>The parameter will not change if you leave it empty.</source>
<translation></translation> <translation type="vanished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>MainWindow</name> <name>MainWindow</name>
<message> <message>
<location filename="../ui/mainwindow.ui" line="20"/> <location filename="../ui/mainwindow.ui" line="23"/>
<source>Proxmark3GUI</source> <source>Proxmark3GUI</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="38"/> <location filename="../ui/mainwindow.ui" line="56"/>
<source>Path:</source> <source>Path:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="62"/> <location filename="../ui/mainwindow.ui" line="80"/>
<source>Refresh</source> <source>Refresh</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="69"/> <location filename="../ui/mainwindow.ui" line="87"/>
<source>Connect</source> <source>Connect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="76"/> <location filename="../ui/mainwindow.ui" line="94"/>
<source>Disconnect</source> <source>Disconnect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="95"/> <location filename="../ui/mainwindow.ui" line="113"/>
<source>Mifare</source> <source>Mifare</source>
<translation>Mifare</translation> <translation>Mifare(IC)</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="166"/> <location filename="../ui/mainwindow.ui" line="206"/>
<source>&gt;&gt;</source> <source>&gt;&gt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="191"/> <location filename="../ui/mainwindow.ui" line="231"/>
<source>&lt;&lt;</source> <source>&lt;&lt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="241"/> <location filename="../ui/mainwindow.ui" line="263"/>
<source>F</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="320"/>
<source>Card Type</source> <source>Card Type</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="256"/> <location filename="../ui/mainwindow.ui" line="335"/>
<source>MINI</source> <source>MINI</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="263"/> <location filename="../ui/mainwindow.ui" line="342"/>
<source>1K</source> <source>1K</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="273"/> <location filename="../ui/mainwindow.ui" line="352"/>
<source>2K</source> <source>2K</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="280"/> <location filename="../ui/mainwindow.ui" line="359"/>
<source>4K</source> <source>4K</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="290"/> <location filename="../ui/mainwindow.ui" line="369"/>
<source>File</source> <source>File</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="308"/> <location filename="../ui/mainwindow.ui" line="387"/>
<location filename="../ui/mainwindow.ui" line="852"/> <location filename="../ui/mainwindow.ui" line="944"/>
<source>Load</source> <source>Load</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="321"/> <location filename="../ui/mainwindow.ui" line="400"/>
<location filename="../ui/mainwindow.ui" line="865"/> <location filename="../ui/mainwindow.ui" line="957"/>
<source>Save</source> <source>Save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="328"/> <location filename="../ui/mainwindow.ui" line="420"/>
<location filename="../ui/mainwindow.cpp" line="352"/> <location filename="../ui/mainwindow.cpp" line="534"/>
<source>Data</source> <source>Data</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="338"/> <location filename="../ui/mainwindow.ui" line="430"/>
<source>Key</source> <source>Key</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="348"/> <location filename="../ui/mainwindow.ui" line="440"/>
<source>Attack</source> <source>Attack</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="373"/> <location filename="../ui/mainwindow.ui" line="465"/>
<source>Card Info</source> <source>Card Info</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="386"/> <location filename="../ui/mainwindow.ui" line="478"/>
<source>Check Default</source> <source>Check Default</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="399"/> <location filename="../ui/mainwindow.ui" line="491"/>
<source>Nested</source> <source>Nested</source>
<translation>Nested</translation> <translation>Nested</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="406"/> <location filename="../ui/mainwindow.ui" line="498"/>
<source>Hardnested</source> <source>Hardnested</source>
<translation>Hardested</translation> <translation>Hardested</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="431"/> <location filename="../ui/mainwindow.ui" line="523"/>
<source>Read/Write</source> <source>Read/Write</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="441"/> <location filename="../ui/mainwindow.ui" line="533"/>
<source>Block:</source> <source>Block:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="473"/> <location filename="../ui/mainwindow.ui" line="565"/>
<source>Key:</source> <source>Key:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="492"/> <location filename="../ui/mainwindow.ui" line="584"/>
<source>Key Type:</source> <source>Key Type:</source>
<translation>Key</translation> <translation>Key</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="512"/> <location filename="../ui/mainwindow.ui" line="604"/>
<source>A</source> <source>A</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="517"/> <location filename="../ui/mainwindow.ui" line="609"/>
<source>B</source> <source>B</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="540"/> <location filename="../ui/mainwindow.ui" line="632"/>
<source>Normal(Require Password)</source> <source>Normal(Require Password)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="555"/> <location filename="../ui/mainwindow.ui" line="647"/>
<location filename="../ui/mainwindow.ui" line="644"/> <location filename="../ui/mainwindow.ui" line="736"/>
<source>Read Block</source> <source>Read Block</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="562"/> <location filename="../ui/mainwindow.ui" line="654"/>
<location filename="../ui/mainwindow.ui" line="651"/> <location filename="../ui/mainwindow.ui" line="743"/>
<source>Write Block</source> <source>Write Block</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="569"/> <location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="658"/> <location filename="../ui/mainwindow.ui" line="750"/>
<location filename="../ui/mainwindow.ui" line="758"/> <location filename="../ui/mainwindow.ui" line="850"/>
<source>Read All</source> <source>Read All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="576"/> <location filename="../ui/mainwindow.ui" line="668"/>
<location filename="../ui/mainwindow.ui" line="665"/> <location filename="../ui/mainwindow.ui" line="757"/>
<source>Write All</source> <source>Write All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="595"/> <location filename="../ui/mainwindow.ui" line="687"/>
<source>Dump</source> <source>Dump</source>
<translation>Dump</translation> <translation>Dump</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="608"/> <location filename="../ui/mainwindow.ui" line="700"/>
<source>Restore</source> <source>Restore</source>
<translation>Restore</translation> <translation>Restore</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="618"/> <location filename="../ui/mainwindow.ui" line="710"/>
<source>Chinese Magic Card(Without Password)</source> <source>Chinese Magic Card(Without Password)</source>
<translation>UID</translation> <translation>UID</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="630"/> <location filename="../ui/mainwindow.ui" line="722"/>
<source>Lock UFUID Card</source> <source>Lock UFUID Card</source>
<translation>UFUID</translation> <translation>UFUID</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="637"/> <location filename="../ui/mainwindow.ui" line="729"/>
<location filename="../ui/mainwindow.cpp" line="461"/>
<source>About UID Card</source> <source>About UID Card</source>
<translation>UID</translation> <translation>UID</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="678"/> <location filename="../ui/mainwindow.ui" line="770"/>
<source>Set Parameter</source> <source>Set Parameter</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="697"/> <location filename="../ui/mainwindow.ui" line="789"/>
<source>Wipe</source> <source>Wipe</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="723"/> <location filename="../ui/mainwindow.ui" line="815"/>
<location filename="../ui/mainwindow.ui" line="778"/> <location filename="../ui/mainwindow.ui" line="870"/>
<source>Simulate</source> <source>Simulate</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="751"/> <location filename="../ui/mainwindow.ui" line="843"/>
<source>Load from data above</source> <source>Load from data above</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="771"/> <location filename="../ui/mainwindow.ui" line="413"/>
<location filename="../ui/mainwindow.ui" line="863"/>
<source>Clear</source> <source>Clear</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="801"/> <location filename="../ui/mainwindow.ui" line="893"/>
<location filename="../ui/mainwindow.ui" line="832"/> <location filename="../ui/mainwindow.ui" line="924"/>
<source>Sniff</source> <source>Sniff</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="839"/> <location filename="../ui/mainwindow.ui" line="931"/>
<source>List Sniff Data</source> <source>List Sniff Data</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="891"/> <location filename="../ui/mainwindow.ui" line="983"/>
<source>RawCommand</source> <source>RawCommand</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="923"/> <location filename="../ui/mainwindow.ui" line="1030"/>
<location filename="../ui/mainwindow.cpp" line="133"/> <location filename="../ui/mainwindow.cpp" line="143"/>
<source>History:</source> <source>History:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="952"/> <location filename="../ui/mainwindow.ui" line="1062"/>
<source>ClearHistory</source> <source>ClearHistory</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="971"/> <location filename="../ui/mainwindow.ui" line="1081"/>
<source>Send</source> <source>Send</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.ui" line="978"/> <location filename="../ui/mainwindow.ui" line="1088"/>
<source>ClearOutput</source> <source>ClearOutput</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="69"/> <location filename="../ui/mainwindow.cpp" line="77"/>
<location filename="../ui/mainwindow.cpp" line="169"/> <location filename="../ui/mainwindow.cpp" line="179"/>
<location filename="../ui/mainwindow.cpp" line="198"/> <location filename="../ui/mainwindow.cpp" line="229"/>
<location filename="../ui/mainwindow.cpp" line="211"/> <location filename="../ui/mainwindow.cpp" line="246"/>
<location filename="../ui/mainwindow.cpp" line="259"/>
<location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>Info</source> <source>Info</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="69"/> <location filename="../ui/mainwindow.cpp" line="77"/>
<source>Plz choose a port first</source> <source>Plz choose a port first</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="82"/> <location filename="../ui/mainwindow.cpp" line="91"/>
<source>Connected</source> <source>Connected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="86"/>
<location filename="../ui/mainwindow.cpp" line="95"/> <location filename="../ui/mainwindow.cpp" line="95"/>
<location filename="../ui/mainwindow.cpp" line="342"/> <location filename="../ui/mainwindow.cpp" line="105"/>
<location filename="../ui/mainwindow.cpp" line="524"/>
<source>Not Connected</source> <source>Not Connected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="169"/>
<source>When Changeing card type, the data and keys in this app will be cleard. <source>When Changeing card type, the data and keys in this app will be cleard.
Continue?</source> Continue?</source>
<translation>datakey\n</translation> <translation type="vanished">datakey\n</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="191"/>
<source>Plz choose the data file:</source> <source>Plz choose the data file:</source>
<translation>data</translation> <translation type="vanished">data</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="192"/> <location filename="../ui/mainwindow.cpp" line="272"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source> <source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml);;All Files(*.*)</source>
<translation>Data(*.bin *.dump);;Data(*.txt *.eml);;(*.*)</translation> <translation>Data(*.bin *.dump);;Data(*.txt *.eml);;(*.*)</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="198"/> <location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="211"/> <location filename="../ui/mainwindow.cpp" line="291"/>
<source>Failed to open</source> <source>Failed to open</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="204"/>
<source>Plz choose the key file:</source> <source>Plz choose the key file:</source>
<translation>key</translation> <translation type="vanished">key</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="205"/>
<source>Binary Key Files(*.bin *.dump);;All Files(*.*)</source> <source>Binary Key Files(*.bin *.dump);;All Files(*.*)</source>
<translation>Key(*.bin *.dump);;(*.*)</translation> <translation type="vanished">Key(*.bin *.dump);;(*.*)</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="220"/>
<source>Save data to</source> <source>Save data to</source>
<translation></translation> <translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="179"/>
<source>When Changeing card type, the data and keys in this app will be cleard.</source>
<translation>DataKey</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="179"/>
<source>Continue?</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="208"/>
<source>Plz select the font of data widget and key widget</source>
<translation>DataKey</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="229"/>
<source>Data must consists of 32 Hex symbols(Whitespace is allowed)</source>
<translation>Data32</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="246"/>
<location filename="../ui/mainwindow.cpp" line="259"/>
<source>Key must consists of 12 Hex symbols(Whitespace is allowed)</source>
<translation>Key12</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="271"/>
<source>Plz select the data file:</source>
<translation>data</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="284"/>
<source>Plz select the key file:</source>
<translation>key</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="285"/>
<source>Binary Key Files(*.bin *.dump);;Binary Data Files(*.bin *.dump);;All Files(*.*)</source>
<translation>Key(*.bin *.dump)Data(*.bin *.dump);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="307"/>
<source>Plz select the location to save data file:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="308"/>
<source>Binary Data Files(*.bin *.dump);;Text Data Files(*.txt *.eml)</source>
<translation>Data(*.bin *.dump);;Data(*.txt *.eml)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>Failed to save to</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="320"/>
<source>Plz select the location to save key file:</source>
<translation>key</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="321"/>
<source>Binary Key Files(*.bin *.dump)</source>
<translation>Key(*.bin *.dump)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="446"/>
<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> MifareBlock0UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="447"/>
<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> UIDChinese Magic CardBlock0UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="449"/>
<source>There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.</source>
<translation>UIDChinese Magic Card Gen1Gen2</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="450"/>
<source> Gen1:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="450"/>
<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> UIDPM3GUI</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="451"/>
<source> Gen2:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="451"/>
<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="453"/>
<source>There are some types of Chinese Magic Card Gen2.</source>
<translation>Gen2</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="222"/> <location filename="../ui/mainwindow.cpp" line="454"/>
<source>Bin Files(*.bin *.dump);;Text Files(*.txt *.eml)</source> <source> CUID Card:</source>
<translation type="unfinished"></translation> <translation> CUID</translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="343"/> <location filename="../ui/mainwindow.cpp" line="454"/>
<source> the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command.</source>
<translation> Block0</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="455"/>
<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="456"/>
<source> FUID Card:</source>
<translation> FUID</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="456"/>
<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> Block0</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="457"/>
<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="458"/>
<source> UFUID Card:</source>
<translation> UFUID</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="458"/>
<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/CUIDBlock0FUID</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="460"/>
<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> UIDNested</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="525"/>
<location filename="../ui/mainwindow.cpp" line="642"/>
<source>Idle</source> <source>Idle</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="350"/> <location filename="../ui/mainwindow.cpp" line="532"/>
<location filename="../ui/mainwindow.cpp" line="359"/> <location filename="../ui/mainwindow.cpp" line="541"/>
<source>Sec</source> <source>Sec</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="351"/> <location filename="../ui/mainwindow.cpp" line="533"/>
<source>Blk</source> <source>Blk</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="360"/> <location filename="../ui/mainwindow.cpp" line="542"/>
<source>KeyA</source> <source>KeyA</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="361"/> <location filename="../ui/mainwindow.cpp" line="543"/>
<source>KeyB</source> <source>KeyB</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="394"/> <location filename="../ui/mainwindow.cpp" line="579"/>
<source>HW Version:</source> <source>HW Version:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="396"/> <location filename="../ui/mainwindow.cpp" line="581"/>
<source>PM3:</source> <source>PM3:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/mainwindow.cpp" line="398"/> <location filename="../ui/mainwindow.cpp" line="583"/>
<source>State:</source> <source>State:</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../ui/mainwindow.cpp" line="638"/>
<source>Running</source>
<translation></translation>
</message>
</context> </context>
<context> <context>
<name>Mifare</name> <name>Mifare</name>
@ -453,24 +620,30 @@ Continue?</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../module/mifare.cpp" line="268"/> <location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="365"/> <location filename="../module/mifare.cpp" line="386"/>
<source>Success!</source> <source>Success!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../module/mifare.cpp" line="268"/> <location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="272"/> <location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="365"/> <location filename="../module/mifare.cpp" line="386"/>
<location filename="../module/mifare.cpp" line="369"/> <location filename="../module/mifare.cpp" line="390"/>
<location filename="../module/mifare.cpp" line="425"/>
<source>Info</source> <source>Info</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../module/mifare.cpp" line="272"/> <location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="369"/> <location filename="../module/mifare.cpp" line="390"/>
<source>Failed!</source> <source>Failed!</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../module/mifare.cpp" line="425"/>
<source>Failed to read card.</source>
<translation></translation>
</message>
</context> </context>
</TS> </TS>

@ -8,6 +8,11 @@ MainWindow::MainWindow(QWidget *parent)
ui->setupUi(this); ui->setupUi(this);
ui->MF_simGroupBox->setVisible(false); // developing... ui->MF_simGroupBox->setVisible(false); // developing...
ui->MF_sniffGroupBox->setVisible(false); // developing... ui->MF_sniffGroupBox->setVisible(false); // developing...
myInfo = new QAction("wh201906", this);
connect(myInfo, &QAction::triggered, [ = ]() {
QDesktopServices::openUrl(QUrl("https://github.com/wh201906"));
});
this->addAction(myInfo);
pm3Thread = new QThread(this); pm3Thread = new QThread(this);
pm3 = new PM3Process(pm3Thread); pm3 = new PM3Process(pm3Thread);
@ -171,7 +176,7 @@ void MainWindow::MF_onTypeChanged(int id, bool st)
qDebug() << id << typeBtnGroup->checkedId(); qDebug() << id << typeBtnGroup->checkedId();
if(!st) if(!st)
{ {
int result = QMessageBox::question(this, tr("Info"), tr("When Changeing card type, the data and keys in this app will be cleard.\nContinue?"), QMessageBox::Yes | QMessageBox::No); int result = QMessageBox::question(this, tr("Info"), tr("When Changeing card type, the data and keys in this app will be cleard.") + "\n" + tr("Continue?"), QMessageBox::Yes | QMessageBox::No);
if(result == QMessageBox::Yes) if(result == QMessageBox::Yes)
{ {
qDebug() << "Yes"; qDebug() << "Yes";
@ -438,21 +443,21 @@ void MainWindow::on_MF_UID_wipeButton_clicked()
void MainWindow::on_MF_UID_aboutUIDButton_clicked() void MainWindow::on_MF_UID_aboutUIDButton_clicked()
{ {
QString msg; QString msg;
msg += tr(" 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.\n"); msg += tr(" 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.") + "\n";
msg += tr(" Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it.\n"); msg += tr(" Chinese Magic Cards(aka UID Cards) are some special cards whose Block 0 are writeable. And you can change UID by writing to it.") + "\n";
msg += "\n"; msg += "\n";
msg += tr("There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.\n"); msg += tr("There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.") + "\n";
msg += tr(" Gen1:\n 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.\n"); msg += tr(" Gen1:") + "\n" + tr(" 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.") + "\n";
msg += tr(" Gen2:\n 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.\n"); msg += tr(" Gen2:") + "\n" + tr(" 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.") + "\n";
msg += "\n"; msg += "\n";
msg += tr("There are some types of Chinese Magic Card Gen2.\n"); msg += tr("There are some types of Chinese Magic Card Gen2.") + "\n";
msg += tr(" CUID Card:\n the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command.\n"); msg += tr(" CUID Card:") + "\n" + tr(" the Block 0 is writeable, you can write to this block repeatedly by normal wrbl command.") + "\n";
msg += tr(" (hf mf wrbl 0 A FFFFFFFFFFFF <the data you want to write>)\n"); msg += tr(" (hf mf wrbl 0 A FFFFFFFFFFFF <the data you want to write>)") + "\n";
msg += tr(" FUID Card:\n you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to).\n"); msg += tr(" FUID Card:") + "\n" + tr(" you can only write to Block 0 once. After that, it seems like a typical Mifare card(Block 0 cannot be written to).") + "\n";
msg += tr(" (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.)\n"); msg += tr(" (some readers might try changing the Block 0, which could detect the CUID Card. In that case, you should use FUID card.)") + "\n";
msg += tr(" UFUID Card:\n 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).\n"); msg += tr(" UFUID Card:") + "\n" + tr(" 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).") + "\n";
msg += "\n"; msg += "\n";
msg += tr(" Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key).\n"); msg += tr(" Seemingly, these Chinese Magic Cards are more easily to be compromised by Nested Attack(it takes little time to get an unknown key).") + "\n";
QMessageBox::information(this, tr("About UID Card"), msg); QMessageBox::information(this, tr("About UID Card"), msg);
} }

@ -14,6 +14,8 @@
#include <QtSerialPort/QSerialPortInfo> #include <QtSerialPort/QSerialPortInfo>
#include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSerialPort>
#include <QMimeData> #include <QMimeData>
#include <QAction>
#include <QDesktopServices>
#include "common/pm3process.h" #include "common/pm3process.h"
#include "module/mifare.h" #include "module/mifare.h"
@ -123,6 +125,7 @@ private:
QLabel* connectStatusBar; QLabel* connectStatusBar;
QLabel* programStatusBar; QLabel* programStatusBar;
QLabel* PM3VersionBar; QLabel* PM3VersionBar;
QAction* myInfo;
void uiInit(); void uiInit();

@ -16,6 +16,9 @@
<height>770</height> <height>770</height>
</size> </size>
</property> </property>
<property name="contextMenuPolicy">
<enum>Qt::ActionsContextMenu</enum>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>Proxmark3GUI</string> <string>Proxmark3GUI</string>
</property> </property>
@ -103,7 +106,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="mifareTab"> <widget class="QWidget" name="mifareTab">
<attribute name="title"> <attribute name="title">
@ -144,6 +147,9 @@
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="contextMenuPolicy">
<enum>Qt::PreventContextMenu</enum>
</property>
<property name="acceptDrops"> <property name="acceptDrops">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -287,6 +293,9 @@
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="contextMenuPolicy">
<enum>Qt::PreventContextMenu</enum>
</property>
<property name="acceptDrops"> <property name="acceptDrops">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -1033,6 +1042,9 @@
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="contextMenuPolicy">
<enum>Qt::PreventContextMenu</enum>
</property>
</widget> </widget>
</item> </item>
<item> <item>

Loading…
Cancel
Save