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
!isEmpty(target.path): INSTALLS += target
VERSION = 0.0.1
VERSION = 0.1
QMAKE_TARGET_PRODUCT = "Proxmark3GUI"
QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI"
QMAKE_TARGET_COMPANY = "wh201906"

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

@ -37,16 +37,24 @@
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="95"/>
<source>Target Block: </source>
<source>Target Block:</source>
<translation></translation>
</message>
<message>
<source>Target Block: </source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>MF_UID_parameterDialog</name>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<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>
<location filename="../ui/mf_uid_parameterdialog.ui" line="22"/>
@ -64,387 +72,546 @@
<translation></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="54"/>
<source>The parameter will not change if you leave it empty.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../ui/mainwindow.ui" line="20"/>
<location filename="../ui/mainwindow.ui" line="23"/>
<source>Proxmark3GUI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="38"/>
<location filename="../ui/mainwindow.ui" line="56"/>
<source>Path:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="62"/>
<location filename="../ui/mainwindow.ui" line="80"/>
<source>Refresh</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="69"/>
<location filename="../ui/mainwindow.ui" line="87"/>
<source>Connect</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="76"/>
<location filename="../ui/mainwindow.ui" line="94"/>
<source>Disconnect</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="95"/>
<location filename="../ui/mainwindow.ui" line="113"/>
<source>Mifare</source>
<translation>Mifare</translation>
<translation>Mifare(IC)</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="166"/>
<location filename="../ui/mainwindow.ui" line="206"/>
<source>&gt;&gt;</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="191"/>
<location filename="../ui/mainwindow.ui" line="231"/>
<source>&lt;&lt;</source>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="256"/>
<location filename="../ui/mainwindow.ui" line="335"/>
<source>MINI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="263"/>
<location filename="../ui/mainwindow.ui" line="342"/>
<source>1K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="273"/>
<location filename="../ui/mainwindow.ui" line="352"/>
<source>2K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="280"/>
<location filename="../ui/mainwindow.ui" line="359"/>
<source>4K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="290"/>
<location filename="../ui/mainwindow.ui" line="369"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="308"/>
<location filename="../ui/mainwindow.ui" line="852"/>
<location filename="../ui/mainwindow.ui" line="387"/>
<location filename="../ui/mainwindow.ui" line="944"/>
<source>Load</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="321"/>
<location filename="../ui/mainwindow.ui" line="865"/>
<location filename="../ui/mainwindow.ui" line="400"/>
<location filename="../ui/mainwindow.ui" line="957"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="328"/>
<location filename="../ui/mainwindow.cpp" line="352"/>
<location filename="../ui/mainwindow.ui" line="420"/>
<location filename="../ui/mainwindow.cpp" line="534"/>
<source>Data</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="338"/>
<location filename="../ui/mainwindow.ui" line="430"/>
<source>Key</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="348"/>
<location filename="../ui/mainwindow.ui" line="440"/>
<source>Attack</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="373"/>
<location filename="../ui/mainwindow.ui" line="465"/>
<source>Card Info</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="386"/>
<location filename="../ui/mainwindow.ui" line="478"/>
<source>Check Default</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="399"/>
<location filename="../ui/mainwindow.ui" line="491"/>
<source>Nested</source>
<translation>Nested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="406"/>
<location filename="../ui/mainwindow.ui" line="498"/>
<source>Hardnested</source>
<translation>Hardested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="431"/>
<location filename="../ui/mainwindow.ui" line="523"/>
<source>Read/Write</source>
<translation>/</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="441"/>
<location filename="../ui/mainwindow.ui" line="533"/>
<source>Block:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="473"/>
<location filename="../ui/mainwindow.ui" line="565"/>
<source>Key:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="492"/>
<location filename="../ui/mainwindow.ui" line="584"/>
<source>Key Type:</source>
<translation>Key</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="512"/>
<location filename="../ui/mainwindow.ui" line="604"/>
<source>A</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="517"/>
<location filename="../ui/mainwindow.ui" line="609"/>
<source>B</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="540"/>
<location filename="../ui/mainwindow.ui" line="632"/>
<source>Normal(Require Password)</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="555"/>
<location filename="../ui/mainwindow.ui" line="644"/>
<location filename="../ui/mainwindow.ui" line="647"/>
<location filename="../ui/mainwindow.ui" line="736"/>
<source>Read Block</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="562"/>
<location filename="../ui/mainwindow.ui" line="651"/>
<location filename="../ui/mainwindow.ui" line="654"/>
<location filename="../ui/mainwindow.ui" line="743"/>
<source>Write Block</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="569"/>
<location filename="../ui/mainwindow.ui" line="658"/>
<location filename="../ui/mainwindow.ui" line="758"/>
<location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="750"/>
<location filename="../ui/mainwindow.ui" line="850"/>
<source>Read All</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="576"/>
<location filename="../ui/mainwindow.ui" line="665"/>
<location filename="../ui/mainwindow.ui" line="668"/>
<location filename="../ui/mainwindow.ui" line="757"/>
<source>Write All</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="595"/>
<location filename="../ui/mainwindow.ui" line="687"/>
<source>Dump</source>
<translation>Dump</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="608"/>
<location filename="../ui/mainwindow.ui" line="700"/>
<source>Restore</source>
<translation>Restore</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="618"/>
<location filename="../ui/mainwindow.ui" line="710"/>
<source>Chinese Magic Card(Without Password)</source>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="630"/>
<location filename="../ui/mainwindow.ui" line="722"/>
<source>Lock UFUID Card</source>
<translation>UFUID</translation>
</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>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="678"/>
<location filename="../ui/mainwindow.ui" line="770"/>
<source>Set Parameter</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="697"/>
<location filename="../ui/mainwindow.ui" line="789"/>
<source>Wipe</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="723"/>
<location filename="../ui/mainwindow.ui" line="778"/>
<location filename="../ui/mainwindow.ui" line="815"/>
<location filename="../ui/mainwindow.ui" line="870"/>
<source>Simulate</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="751"/>
<location filename="../ui/mainwindow.ui" line="843"/>
<source>Load from data above</source>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="801"/>
<location filename="../ui/mainwindow.ui" line="832"/>
<location filename="../ui/mainwindow.ui" line="893"/>
<location filename="../ui/mainwindow.ui" line="924"/>
<source>Sniff</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="839"/>
<location filename="../ui/mainwindow.ui" line="931"/>
<source>List Sniff Data</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="891"/>
<location filename="../ui/mainwindow.ui" line="983"/>
<source>RawCommand</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="923"/>
<location filename="../ui/mainwindow.cpp" line="133"/>
<location filename="../ui/mainwindow.ui" line="1030"/>
<location filename="../ui/mainwindow.cpp" line="143"/>
<source>History:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="952"/>
<location filename="../ui/mainwindow.ui" line="1062"/>
<source>ClearHistory</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="971"/>
<location filename="../ui/mainwindow.ui" line="1081"/>
<source>Send</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="978"/>
<location filename="../ui/mainwindow.ui" line="1088"/>
<source>ClearOutput</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="69"/>
<location filename="../ui/mainwindow.cpp" line="169"/>
<location filename="../ui/mainwindow.cpp" line="198"/>
<location filename="../ui/mainwindow.cpp" line="211"/>
<location filename="../ui/mainwindow.cpp" line="77"/>
<location filename="../ui/mainwindow.cpp" line="179"/>
<location filename="../ui/mainwindow.cpp" line="229"/>
<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>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="69"/>
<location filename="../ui/mainwindow.cpp" line="77"/>
<source>Plz choose a port first</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="82"/>
<location filename="../ui/mainwindow.cpp" line="91"/>
<source>Connected</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="86"/>
<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>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="169"/>
<source>When Changeing card type, the data and keys in this app will be cleard.
Continue?</source>
<translation>datakey\n</translation>
<translation type="vanished">datakey\n</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="191"/>
<source>Plz choose the data file:</source>
<translation>data</translation>
<translation type="vanished">data</translation>
</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>
<translation>Data(*.bin *.dump);;Data(*.txt *.eml);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="198"/>
<location filename="../ui/mainwindow.cpp" line="211"/>
<location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="291"/>
<source>Failed to open</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="204"/>
<source>Plz choose the key file:</source>
<translation>key</translation>
<translation type="vanished">key</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="205"/>
<source>Binary Key Files(*.bin *.dump);;All Files(*.*)</source>
<translation>Key(*.bin *.dump);;(*.*)</translation>
<translation type="vanished">Key(*.bin *.dump);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="220"/>
<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="222"/>
<source>Bin Files(*.bin *.dump);;Text Files(*.txt *.eml)</source>
<translation type="unfinished"></translation>
<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="343"/>
<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>
<location filename="../ui/mainwindow.cpp" line="454"/>
<source> CUID Card:</source>
<translation> CUID</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> 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>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="350"/>
<location filename="../ui/mainwindow.cpp" line="359"/>
<location filename="../ui/mainwindow.cpp" line="532"/>
<location filename="../ui/mainwindow.cpp" line="541"/>
<source>Sec</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="351"/>
<location filename="../ui/mainwindow.cpp" line="533"/>
<source>Blk</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="360"/>
<location filename="../ui/mainwindow.cpp" line="542"/>
<source>KeyA</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="361"/>
<location filename="../ui/mainwindow.cpp" line="543"/>
<source>KeyB</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="394"/>
<location filename="../ui/mainwindow.cpp" line="579"/>
<source>HW Version:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="396"/>
<location filename="../ui/mainwindow.cpp" line="581"/>
<source>PM3:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="398"/>
<location filename="../ui/mainwindow.cpp" line="583"/>
<source>State:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="638"/>
<source>Running</source>
<translation></translation>
</message>
</context>
<context>
<name>Mifare</name>
@ -453,24 +620,30 @@ Continue?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="268"/>
<location filename="../module/mifare.cpp" line="365"/>
<location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="386"/>
<source>Success!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="268"/>
<location filename="../module/mifare.cpp" line="272"/>
<location filename="../module/mifare.cpp" line="365"/>
<location filename="../module/mifare.cpp" line="369"/>
<location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="386"/>
<location filename="../module/mifare.cpp" line="390"/>
<location filename="../module/mifare.cpp" line="425"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="272"/>
<location filename="../module/mifare.cpp" line="369"/>
<location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="390"/>
<source>Failed!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="425"/>
<source>Failed to read card.</source>
<translation></translation>
</message>
</context>
</TS>

@ -8,6 +8,11 @@ MainWindow::MainWindow(QWidget *parent)
ui->setupUi(this);
ui->MF_simGroupBox->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);
pm3 = new PM3Process(pm3Thread);
@ -171,7 +176,7 @@ void MainWindow::MF_onTypeChanged(int id, bool st)
qDebug() << id << typeBtnGroup->checkedId();
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)
{
qDebug() << "Yes";
@ -438,21 +443,21 @@ void MainWindow::on_MF_UID_wipeButton_clicked()
void MainWindow::on_MF_UID_aboutUIDButton_clicked()
{
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(" 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(" 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 += "\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(" 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("There are two versions of Chinese Magic Cards, the Gen1 and the Gen2.") + "\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" + 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 += 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(" (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(" (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("There are some types of Chinese Magic Card Gen2.") + "\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(" 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(" 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 += 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);
}

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

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

@ -92,7 +92,7 @@
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Target Block: </string>
<string>Target Block:</string>
</property>
</widget>
</item>

Loading…
Cancel
Save