Support Mifare Simulate and Sniff function

pull/3/head
wh201906 4 years ago
parent 5816d1b1b6
commit 2790afc193

@ -37,6 +37,84 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MF_Sim_simDialog</name>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="14"/>
<source>Simulate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="37"/>
<source>u</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="66"/>
<source>UID 4 or 7 bytes. If not specified, the UID 4B from emulator memory will be used</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="87"/>
<source>n</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="116"/>
<source>Automatically exit simulation after &lt;numreads&gt; blocks have been read by reader. 0 = infinite</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="137"/>
<source>i</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="150"/>
<source>Interactive, means that console will not be returned until simulation finishes or is aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="171"/>
<source>x</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="184"/>
<source>Crack, performs the &apos;reader attack&apos;, nr/ar attack against a legitimate reader, fishes out the key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="205"/>
<source>e</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="218"/>
<source>set keys found from &apos;reader attack&apos; to emulator memory (implies x and i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="239"/>
<source>f</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="268"/>
<source>get UIDs to use for &apos;reader attack&apos; from file &apos;f &lt;filename.txt&gt;&apos; (implies x and i)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="289"/>
<source>r</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="302"/>
<source>Generate random nonces instead of sequential nonces. Standard reader attack won&apos;t work with this option, only moebius attack works</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MF_UID_parameterDialog</name>
<message>
@ -88,250 +166,255 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="113"/>
<location filename="../ui/mainwindow.ui" line="110"/>
<source>Mifare</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="206"/>
<location filename="../ui/mainwindow.ui" line="203"/>
<source>&gt;&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="231"/>
<location filename="../ui/mainwindow.ui" line="228"/>
<source>&lt;&lt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="263"/>
<location filename="../ui/mainwindow.ui" line="260"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="320"/>
<location filename="../ui/mainwindow.ui" line="317"/>
<source>Card Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="335"/>
<location filename="../ui/mainwindow.ui" line="332"/>
<source>MINI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="342"/>
<location filename="../ui/mainwindow.ui" line="339"/>
<source>1K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="352"/>
<location filename="../ui/mainwindow.ui" line="349"/>
<source>2K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="359"/>
<location filename="../ui/mainwindow.ui" line="356"/>
<source>4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="369"/>
<location filename="../ui/mainwindow.ui" line="366"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="387"/>
<location filename="../ui/mainwindow.ui" line="944"/>
<location filename="../ui/mainwindow.ui" line="384"/>
<location filename="../ui/mainwindow.ui" line="948"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="400"/>
<location filename="../ui/mainwindow.ui" line="957"/>
<location filename="../ui/mainwindow.ui" line="397"/>
<location filename="../ui/mainwindow.ui" line="961"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="420"/>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.ui" line="417"/>
<location filename="../ui/mainwindow.cpp" line="602"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="430"/>
<location filename="../ui/mainwindow.ui" line="427"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="440"/>
<location filename="../ui/mainwindow.ui" line="437"/>
<source>Attack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="465"/>
<location filename="../ui/mainwindow.ui" line="462"/>
<source>Card Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="478"/>
<location filename="../ui/mainwindow.ui" line="475"/>
<source>Check Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="491"/>
<location filename="../ui/mainwindow.ui" line="488"/>
<source>Nested</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="498"/>
<location filename="../ui/mainwindow.ui" line="495"/>
<source>Hardnested</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="523"/>
<location filename="../ui/mainwindow.ui" line="520"/>
<source>Read/Write</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="533"/>
<location filename="../ui/mainwindow.ui" line="530"/>
<source>Block:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="565"/>
<location filename="../ui/mainwindow.ui" line="562"/>
<source>Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="584"/>
<location filename="../ui/mainwindow.ui" line="581"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="604"/>
<location filename="../ui/mainwindow.ui" line="601"/>
<source>A</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="609"/>
<location filename="../ui/mainwindow.ui" line="606"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="632"/>
<location filename="../ui/mainwindow.ui" line="614"/>
<source>Data:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="636"/>
<source>Normal(Require Password)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="647"/>
<location filename="../ui/mainwindow.ui" line="736"/>
<location filename="../ui/mainwindow.ui" line="651"/>
<location filename="../ui/mainwindow.ui" line="740"/>
<source>Read Block</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="654"/>
<location filename="../ui/mainwindow.ui" line="743"/>
<location filename="../ui/mainwindow.ui" line="658"/>
<location filename="../ui/mainwindow.ui" line="747"/>
<source>Write Block</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="750"/>
<location filename="../ui/mainwindow.ui" line="850"/>
<location filename="../ui/mainwindow.ui" line="665"/>
<location filename="../ui/mainwindow.ui" line="754"/>
<location filename="../ui/mainwindow.ui" line="854"/>
<source>Read All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="668"/>
<location filename="../ui/mainwindow.ui" line="757"/>
<location filename="../ui/mainwindow.ui" line="672"/>
<location filename="../ui/mainwindow.ui" line="761"/>
<source>Write All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="687"/>
<location filename="../ui/mainwindow.ui" line="691"/>
<source>Dump</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="700"/>
<location filename="../ui/mainwindow.ui" line="704"/>
<source>Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="710"/>
<location filename="../ui/mainwindow.ui" line="714"/>
<source>Chinese Magic Card(Without Password)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="722"/>
<location filename="../ui/mainwindow.ui" line="726"/>
<source>Lock UFUID Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="729"/>
<location filename="../ui/mainwindow.ui" line="733"/>
<location filename="../ui/mainwindow.cpp" line="461"/>
<source>About UID Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="770"/>
<location filename="../ui/mainwindow.ui" line="774"/>
<source>Set Parameter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="789"/>
<location filename="../ui/mainwindow.ui" line="793"/>
<source>Wipe</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="815"/>
<location filename="../ui/mainwindow.ui" line="870"/>
<location filename="../ui/mainwindow.ui" line="819"/>
<location filename="../ui/mainwindow.ui" line="874"/>
<source>Simulate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="843"/>
<location filename="../ui/mainwindow.ui" line="847"/>
<source>Load from data above</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="413"/>
<location filename="../ui/mainwindow.ui" line="863"/>
<location filename="../ui/mainwindow.ui" line="410"/>
<location filename="../ui/mainwindow.ui" line="867"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="893"/>
<location filename="../ui/mainwindow.ui" line="924"/>
<location filename="../ui/mainwindow.ui" line="897"/>
<location filename="../ui/mainwindow.ui" line="928"/>
<source>Sniff</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="931"/>
<location filename="../ui/mainwindow.ui" line="935"/>
<source>List Sniff Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="983"/>
<location filename="../ui/mainwindow.ui" line="987"/>
<source>RawCommand</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1030"/>
<location filename="../ui/mainwindow.ui" line="1034"/>
<location filename="../ui/mainwindow.cpp" line="143"/>
<source>History:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1062"/>
<location filename="../ui/mainwindow.ui" line="1066"/>
<source>ClearHistory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1081"/>
<location filename="../ui/mainwindow.ui" line="1085"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1088"/>
<location filename="../ui/mainwindow.ui" line="1092"/>
<source>ClearOutput</source>
<translation type="unfinished"></translation>
</message>
@ -345,6 +428,8 @@
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<location filename="../ui/mainwindow.cpp" line="518"/>
<location filename="../ui/mainwindow.cpp" line="537"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
@ -361,7 +446,7 @@
<message>
<location filename="../ui/mainwindow.cpp" line="95"/>
<location filename="../ui/mainwindow.cpp" line="105"/>
<location filename="../ui/mainwindow.cpp" line="524"/>
<location filename="../ui/mainwindow.cpp" line="592"/>
<source>Not Connected</source>
<translation type="unfinished"></translation>
</message>
@ -373,6 +458,7 @@
<message>
<location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="518"/>
<source>Failed to open</source>
<translation type="unfinished"></translation>
</message>
@ -430,6 +516,7 @@
<message>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<location filename="../ui/mainwindow.cpp" line="537"/>
<source>Failed to save to</source>
<translation type="unfinished"></translation>
</message>
@ -529,49 +616,69 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="525"/>
<location filename="../ui/mainwindow.cpp" line="642"/>
<location filename="../ui/mainwindow.cpp" line="505"/>
<source>Plz select the trace file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="506"/>
<source>Trace Files(*.trc);;All Files(*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="528"/>
<source>Plz select the location to save trace file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="529"/>
<source>Trace Files(*.trc)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="593"/>
<location filename="../ui/mainwindow.cpp" line="710"/>
<source>Idle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="532"/>
<location filename="../ui/mainwindow.cpp" line="541"/>
<location filename="../ui/mainwindow.cpp" line="600"/>
<location filename="../ui/mainwindow.cpp" line="609"/>
<source>Sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="533"/>
<location filename="../ui/mainwindow.cpp" line="601"/>
<source>Blk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="542"/>
<location filename="../ui/mainwindow.cpp" line="610"/>
<source>KeyA</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="543"/>
<location filename="../ui/mainwindow.cpp" line="611"/>
<source>KeyB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="647"/>
<source>HW Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="581"/>
<location filename="../ui/mainwindow.cpp" line="649"/>
<source>PM3:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="583"/>
<location filename="../ui/mainwindow.cpp" line="651"/>
<source>State:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="638"/>
<location filename="../ui/mainwindow.cpp" line="706"/>
<source>Running</source>
<translation type="unfinished"></translation>
</message>
@ -579,28 +686,28 @@
<context>
<name>Mifare</name>
<message>
<location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="386"/>
<location filename="../module/mifare.cpp" line="310"/>
<location filename="../module/mifare.cpp" line="419"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
<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"/>
<location filename="../module/mifare.cpp" line="310"/>
<location filename="../module/mifare.cpp" line="314"/>
<location filename="../module/mifare.cpp" line="419"/>
<location filename="../module/mifare.cpp" line="423"/>
<location filename="../module/mifare.cpp" line="473"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="390"/>
<location filename="../module/mifare.cpp" line="314"/>
<location filename="../module/mifare.cpp" line="423"/>
<source>Failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="425"/>
<location filename="../module/mifare.cpp" line="473"/>
<source>Failed to read card.</source>
<translation type="unfinished"></translation>
</message>

@ -45,6 +45,92 @@
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>MF_Sim_simDialog</name>
<message>
<source>Dialog</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="14"/>
<source>Simulate</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="37"/>
<source>u</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="66"/>
<source>UID 4 or 7 bytes. If not specified, the UID 4B from emulator memory will be used</source>
<translation>47UID使4UID</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="87"/>
<source>n</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="116"/>
<source>Automatically exit simulation after &lt;numreads&gt; blocks have been read by reader. 0 = infinite</source>
<translation>&lt;n&gt;退n0退</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="137"/>
<source>i</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="150"/>
<source>Interactive, means that console will not be returned until simulation finishes or is aborted</source>
<translation>PM3使</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="171"/>
<source>x</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="184"/>
<source>Crack, performs the &apos;reader attack&apos;, nr/ar attack against a legitimate reader, fishes out the key(s)</source>
<translation>nr/ar()</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="205"/>
<source>e</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="218"/>
<source>set keys found from &apos;reader attack&apos; to emulator memory (implies x and i)</source>
<translation>xi</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="239"/>
<source>f</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="268"/>
<source>get UIDs to use for &apos;reader attack&apos; from file &apos;f &lt;filename.txt&gt;&apos; (implies x and i)</source>
<translation>&lt;filename.txt&gt;UIDxi</translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="289"/>
<source>r</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_sim_simdialog.ui" line="302"/>
<source>Generate random nonces instead of sequential nonces. Standard reader attack won&apos;t work with this option, only moebius attack works</source>
<translation>noncenoncePM3moebius</translation>
</message>
<message>
<source> Generate random nonces instead of sequential nonces. Standard reader attack won&apos;t work with this option, only moebius attack works.</source>
<translation type="vanished">noncenoncePM3moebius</translation>
</message>
</context>
<context>
<name>MF_UID_parameterDialog</name>
<message>
@ -104,250 +190,255 @@
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="113"/>
<location filename="../ui/mainwindow.ui" line="110"/>
<source>Mifare</source>
<translation>Mifare(IC)</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="206"/>
<location filename="../ui/mainwindow.ui" line="203"/>
<source>&gt;&gt;</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="231"/>
<location filename="../ui/mainwindow.ui" line="228"/>
<source>&lt;&lt;</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="263"/>
<location filename="../ui/mainwindow.ui" line="260"/>
<source>F</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="320"/>
<location filename="../ui/mainwindow.ui" line="317"/>
<source>Card Type</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="335"/>
<location filename="../ui/mainwindow.ui" line="332"/>
<source>MINI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="342"/>
<location filename="../ui/mainwindow.ui" line="339"/>
<source>1K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="352"/>
<location filename="../ui/mainwindow.ui" line="349"/>
<source>2K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="359"/>
<location filename="../ui/mainwindow.ui" line="356"/>
<source>4K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="369"/>
<location filename="../ui/mainwindow.ui" line="366"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="387"/>
<location filename="../ui/mainwindow.ui" line="944"/>
<location filename="../ui/mainwindow.ui" line="384"/>
<location filename="../ui/mainwindow.ui" line="948"/>
<source>Load</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="400"/>
<location filename="../ui/mainwindow.ui" line="957"/>
<location filename="../ui/mainwindow.ui" line="397"/>
<location filename="../ui/mainwindow.ui" line="961"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="420"/>
<location filename="../ui/mainwindow.cpp" line="534"/>
<location filename="../ui/mainwindow.ui" line="417"/>
<location filename="../ui/mainwindow.cpp" line="602"/>
<source>Data</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="430"/>
<location filename="../ui/mainwindow.ui" line="427"/>
<source>Key</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="440"/>
<location filename="../ui/mainwindow.ui" line="437"/>
<source>Attack</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="465"/>
<location filename="../ui/mainwindow.ui" line="462"/>
<source>Card Info</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="478"/>
<location filename="../ui/mainwindow.ui" line="475"/>
<source>Check Default</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="491"/>
<location filename="../ui/mainwindow.ui" line="488"/>
<source>Nested</source>
<translation>Nested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="498"/>
<location filename="../ui/mainwindow.ui" line="495"/>
<source>Hardnested</source>
<translation>Hardested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="523"/>
<location filename="../ui/mainwindow.ui" line="520"/>
<source>Read/Write</source>
<translation>/</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="533"/>
<location filename="../ui/mainwindow.ui" line="530"/>
<source>Block:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="565"/>
<location filename="../ui/mainwindow.ui" line="562"/>
<source>Key:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="584"/>
<location filename="../ui/mainwindow.ui" line="581"/>
<source>Key Type:</source>
<translation>Key</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="604"/>
<location filename="../ui/mainwindow.ui" line="601"/>
<source>A</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="609"/>
<location filename="../ui/mainwindow.ui" line="606"/>
<source>B</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="632"/>
<location filename="../ui/mainwindow.ui" line="614"/>
<source>Data:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="636"/>
<source>Normal(Require Password)</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="647"/>
<location filename="../ui/mainwindow.ui" line="736"/>
<location filename="../ui/mainwindow.ui" line="651"/>
<location filename="../ui/mainwindow.ui" line="740"/>
<source>Read Block</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="654"/>
<location filename="../ui/mainwindow.ui" line="743"/>
<location filename="../ui/mainwindow.ui" line="658"/>
<location filename="../ui/mainwindow.ui" line="747"/>
<source>Write Block</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="750"/>
<location filename="../ui/mainwindow.ui" line="850"/>
<location filename="../ui/mainwindow.ui" line="665"/>
<location filename="../ui/mainwindow.ui" line="754"/>
<location filename="../ui/mainwindow.ui" line="854"/>
<source>Read All</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="668"/>
<location filename="../ui/mainwindow.ui" line="757"/>
<location filename="../ui/mainwindow.ui" line="672"/>
<location filename="../ui/mainwindow.ui" line="761"/>
<source>Write All</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="687"/>
<location filename="../ui/mainwindow.ui" line="691"/>
<source>Dump</source>
<translation>Dump</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="700"/>
<location filename="../ui/mainwindow.ui" line="704"/>
<source>Restore</source>
<translation>Restore</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="710"/>
<location filename="../ui/mainwindow.ui" line="714"/>
<source>Chinese Magic Card(Without Password)</source>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="722"/>
<location filename="../ui/mainwindow.ui" line="726"/>
<source>Lock UFUID Card</source>
<translation>UFUID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="729"/>
<location filename="../ui/mainwindow.ui" line="733"/>
<location filename="../ui/mainwindow.cpp" line="461"/>
<source>About UID Card</source>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="770"/>
<location filename="../ui/mainwindow.ui" line="774"/>
<source>Set Parameter</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="789"/>
<location filename="../ui/mainwindow.ui" line="793"/>
<source>Wipe</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="815"/>
<location filename="../ui/mainwindow.ui" line="870"/>
<location filename="../ui/mainwindow.ui" line="819"/>
<location filename="../ui/mainwindow.ui" line="874"/>
<source>Simulate</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="843"/>
<location filename="../ui/mainwindow.ui" line="847"/>
<source>Load from data above</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="413"/>
<location filename="../ui/mainwindow.ui" line="863"/>
<location filename="../ui/mainwindow.ui" line="410"/>
<location filename="../ui/mainwindow.ui" line="867"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="893"/>
<location filename="../ui/mainwindow.ui" line="924"/>
<location filename="../ui/mainwindow.ui" line="897"/>
<location filename="../ui/mainwindow.ui" line="928"/>
<source>Sniff</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="931"/>
<location filename="../ui/mainwindow.ui" line="935"/>
<source>List Sniff Data</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="983"/>
<location filename="../ui/mainwindow.ui" line="987"/>
<source>RawCommand</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1030"/>
<location filename="../ui/mainwindow.ui" line="1034"/>
<location filename="../ui/mainwindow.cpp" line="143"/>
<source>History:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1062"/>
<location filename="../ui/mainwindow.ui" line="1066"/>
<source>ClearHistory</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1081"/>
<location filename="../ui/mainwindow.ui" line="1085"/>
<source>Send</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="1088"/>
<location filename="../ui/mainwindow.ui" line="1092"/>
<source>ClearOutput</source>
<translation></translation>
</message>
@ -361,6 +452,8 @@
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<location filename="../ui/mainwindow.cpp" line="518"/>
<location filename="../ui/mainwindow.cpp" line="537"/>
<source>Info</source>
<translation></translation>
</message>
@ -377,7 +470,7 @@
<message>
<location filename="../ui/mainwindow.cpp" line="95"/>
<location filename="../ui/mainwindow.cpp" line="105"/>
<location filename="../ui/mainwindow.cpp" line="524"/>
<location filename="../ui/mainwindow.cpp" line="592"/>
<source>Not Connected</source>
<translation></translation>
</message>
@ -398,6 +491,7 @@ Continue?</source>
<message>
<location filename="../ui/mainwindow.cpp" line="278"/>
<location filename="../ui/mainwindow.cpp" line="291"/>
<location filename="../ui/mainwindow.cpp" line="518"/>
<source>Failed to open</source>
<translation></translation>
</message>
@ -467,6 +561,7 @@ Continue?</source>
<message>
<location filename="../ui/mainwindow.cpp" line="314"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<location filename="../ui/mainwindow.cpp" line="537"/>
<source>Failed to save to</source>
<translation></translation>
</message>
@ -566,49 +661,69 @@ Continue?</source>
<translation> UIDNested</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="525"/>
<location filename="../ui/mainwindow.cpp" line="642"/>
<location filename="../ui/mainwindow.cpp" line="505"/>
<source>Plz select the trace file:</source>
<translation>trace</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="506"/>
<source>Trace Files(*.trc);;All Files(*.*)</source>
<translation>Trace(*.trc);;(*.*)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="528"/>
<source>Plz select the location to save trace file:</source>
<translation>trace</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="529"/>
<source>Trace Files(*.trc)</source>
<translation>Trace(*.trc)</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="593"/>
<location filename="../ui/mainwindow.cpp" line="710"/>
<source>Idle</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="532"/>
<location filename="../ui/mainwindow.cpp" line="541"/>
<location filename="../ui/mainwindow.cpp" line="600"/>
<location filename="../ui/mainwindow.cpp" line="609"/>
<source>Sec</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="533"/>
<location filename="../ui/mainwindow.cpp" line="601"/>
<source>Blk</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="542"/>
<location filename="../ui/mainwindow.cpp" line="610"/>
<source>KeyA</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="543"/>
<location filename="../ui/mainwindow.cpp" line="611"/>
<source>KeyB</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="579"/>
<location filename="../ui/mainwindow.cpp" line="647"/>
<source>HW Version:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="581"/>
<location filename="../ui/mainwindow.cpp" line="649"/>
<source>PM3:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="583"/>
<location filename="../ui/mainwindow.cpp" line="651"/>
<source>State:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="638"/>
<location filename="../ui/mainwindow.cpp" line="706"/>
<source>Running</source>
<translation></translation>
</message>
@ -620,28 +735,28 @@ Continue?</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="289"/>
<location filename="../module/mifare.cpp" line="386"/>
<location filename="../module/mifare.cpp" line="310"/>
<location filename="../module/mifare.cpp" line="419"/>
<source>Success!</source>
<translation></translation>
</message>
<message>
<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"/>
<location filename="../module/mifare.cpp" line="310"/>
<location filename="../module/mifare.cpp" line="314"/>
<location filename="../module/mifare.cpp" line="419"/>
<location filename="../module/mifare.cpp" line="423"/>
<location filename="../module/mifare.cpp" line="473"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="293"/>
<location filename="../module/mifare.cpp" line="390"/>
<location filename="../module/mifare.cpp" line="314"/>
<location filename="../module/mifare.cpp" line="423"/>
<source>Failed!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="425"/>
<location filename="../module/mifare.cpp" line="473"/>
<source>Failed to read card.</source>
<translation></translation>
</message>

@ -50,7 +50,6 @@ void MainWindow::initUI() // will be called by main.app
void MainWindow::on_PM3_refreshPortButton_clicked()
{
ui->PM3_portBox->clear();
ui->PM3_portBox->addItem("");
QSerialPort serial;
QStringList serialList;
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
@ -493,6 +492,55 @@ void MainWindow::on_MF_Sim_clearButton_clicked()
mifare->wipeE();
}
void MainWindow::on_MF_Sim_simButton_clicked()
{
mifare->simulate();
}
void MainWindow::on_MF_Sniff_loadButton_clicked() // use a tmp file to support complicated path
{
QString title = "";
QString filename = "";
title = tr("Plz select the trace file:");
filename = QFileDialog::getOpenFileName(this, title, "./", tr("Trace Files(*.trc);;All Files(*.*)"));
qDebug() << filename;
if(filename != "")
{
QString tmpFile = "tmp" + QString::number(QDateTime::currentDateTime().toTime_t()) + ".trc";
if(QFile::copy(filename, "./" + tmpFile))
{
mifare->loadSniff(tmpFile);
QFile::remove("./" + tmpFile);
}
else
{
QMessageBox::information(this, tr("Info"), tr("Failed to open") + "\n" + filename);
}
}
}
void MainWindow::on_MF_Sniff_saveButton_clicked()
{
QString title = "";
QString filename = "";
title = tr("Plz select the location to save trace file:");
filename = QFileDialog::getSaveFileName(this, title, "./", tr("Trace Files(*.trc)"));
qDebug() << filename;
if(filename != "")
{
QString tmpFile = "tmp" + QString::number(QDateTime::currentDateTime().toTime_t()) + ".trc";
mifare->saveSniff(tmpFile);
if(!QFile::copy("./" + tmpFile, filename))
{
QMessageBox::information(this, tr("Info"), tr("Failed to save to") + "\n" + filename);
}
QFile::remove("./" + tmpFile);
}
}
void MainWindow::on_MF_Sniff_sniffButton_clicked()
{
setState(false);
@ -674,50 +722,4 @@ void MainWindow::setState(bool st)
void MainWindow::on_MF_Sim_simButton_clicked()
{
mifare->simulate();
}
void MainWindow::on_MF_Sniff_loadButton_clicked() // use a tmp file to support complicated path
{
QString title = "";
QString filename = "";
title = tr("Plz select the trace file:");
filename = QFileDialog::getOpenFileName(this, title, "./", tr("Trace Files(*.trc);;All Files(*.*)"));
qDebug() << filename;
if(filename != "")
{
QString tmpFile = "tmp" + QString::number(QDateTime::currentDateTime().toTime_t()) + ".trc";
if(QFile::copy(filename, "./" + tmpFile))
{
mifare->loadSniff(tmpFile);
QFile::remove("./" + tmpFile);
}
else
{
QMessageBox::information(this, tr("Info"), tr("Failed to open") + "\n" + filename);
}
}
}
void MainWindow::on_MF_Sniff_saveButton_clicked()
{
QString title = "";
QString filename = "";
title = tr("Plz select the location to save trace file:");
filename = QFileDialog::getSaveFileName(this, title, "./", tr("Trace Files(*.trc)"));
qDebug() << filename;
if(filename != "")
{
QString tmpFile = "tmp" + QString::number(QDateTime::currentDateTime().toTime_t()) + ".trc";
mifare->saveSniff(tmpFile);
if(!QFile::copy("./" + tmpFile, filename))
{
QMessageBox::information(this, tr("Info"), tr("Failed to save to") + "\n" + filename);
}
}
}

@ -608,6 +608,13 @@
</item>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Data:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
<string>Simulate</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
@ -299,7 +299,7 @@
</sizepolicy>
</property>
<property name="text">
<string> Generate random nonces instead of sequential nonces. Standard reader attack won't work with this option, only moebius attack works.</string>
<string>Generate random nonces instead of sequential nonces. Standard reader attack won't work with this option, only moebius attack works</string>
</property>
<property name="wordWrap">
<bool>true</bool>

Loading…
Cancel
Save