Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f90995afe | ||
|
|
2bc6a8da40 | ||
|
|
eef1619efb | ||
|
|
cbf0397656 | ||
|
|
b8f9f9fe65 | ||
|
|
454aa14884 | ||
|
|
da9ebfb8aa | ||
|
|
a69909f320 | ||
|
|
b1f20c195c | ||
|
|
8470dc66c8 | ||
|
|
9887b82c63 | ||
|
|
cdcbd66770 | ||
|
|
839992040b | ||
|
|
5b6f8193d3 | ||
|
|
d7a4918b49 | ||
|
|
be440ee79d | ||
|
|
a4efd1f0f5 | ||
|
|
ccfa0b5456 | ||
|
|
aa4d65a068 | ||
|
|
6e339d5215 | ||
|
|
43175aada8 | ||
|
|
dd1047886c |
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -196,7 +197,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
public Sector(byte[] uid)
|
public Sector(byte[] uid)
|
||||||
{
|
{
|
||||||
if (uid.Length != 4) { throw new Exception("不恰当的4字节UID长度"); }
|
if (uid.Length != 4) { throw new Exception(Resources.不恰当的4字节UID长度); }
|
||||||
this._isSector0 = true;
|
this._isSector0 = true;
|
||||||
this.Wipe();
|
this.Wipe();
|
||||||
byte bcc = (byte)(uid[0] ^ uid[1] ^ uid[2] ^ uid[3]);
|
byte bcc = (byte)(uid[0] ^ uid[1] ^ uid[2] ^ uid[3]);
|
||||||
@ -240,7 +241,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
public string Info(int sec)
|
public string Info(int sec)
|
||||||
{
|
{
|
||||||
string info = "扇区" + sec.ToString();
|
string info = Resources.扇区 + sec.ToString();
|
||||||
if (Enumerable.SequenceEqual(
|
if (Enumerable.SequenceEqual(
|
||||||
new byte[16] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
new byte[16] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||||
this._sector[0]) &&
|
this._sector[0]) &&
|
||||||
@ -251,15 +252,15 @@ namespace MifareOneTool
|
|||||||
new byte[16] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
new byte[16] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||||
this._sector[2]))
|
this._sector[2]))
|
||||||
{
|
{
|
||||||
info += " 空扇区";
|
info += Resources._空扇区;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
info += " 有数据";
|
info += Resources._有数据;
|
||||||
}
|
}
|
||||||
if (this.Verify() != 0x00)
|
if (this.Verify() != 0x00)
|
||||||
{
|
{
|
||||||
info += " 有错误";
|
info += Resources._有错误;
|
||||||
}
|
}
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
@ -333,7 +334,7 @@ namespace MifareOneTool
|
|||||||
public S50(byte[] uid)
|
public S50(byte[] uid)
|
||||||
{
|
{
|
||||||
_sectors.Capacity = 16;
|
_sectors.Capacity = 16;
|
||||||
if (uid.Length != 4) { throw new Exception("不恰当的4字节UID长度"); }
|
if (uid.Length != 4) { throw new Exception(Resources.不恰当的4字节UID长度); }
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
if (i == 0) { _sectors.Add(new Sector(uid)); }
|
if (i == 0) { _sectors.Add(new Sector(uid)); }
|
||||||
@ -365,17 +366,17 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
public void LoadFromMfd(string file)
|
public void LoadFromMfd(string file)
|
||||||
{
|
{
|
||||||
if (!File.Exists(file)) { throw new IOException("加载的文件不存在。"); }
|
if (!File.Exists(file)) { throw new IOException(Resources.加载的文件不存在); }
|
||||||
if (new FileInfo(file).Length != 1024) { throw new IOException("加载的S50卡文件大小异常。"); }
|
if (new FileInfo(file).Length != 1024) { throw new IOException(Resources.加载的S50卡文件大小异常); }
|
||||||
byte[] loadByte = File.ReadAllBytes(file);
|
byte[] loadByte = File.ReadAllBytes(file);
|
||||||
this.Wipe();
|
this.Wipe();
|
||||||
this.SectorsRaw = (byte[])loadByte;
|
this.SectorsRaw = (byte[])loadByte;
|
||||||
}
|
}
|
||||||
public void LoadFromMctTxt(string file)
|
public void LoadFromMctTxt(string file)
|
||||||
{
|
{
|
||||||
if (!File.Exists(file)) { throw new IOException("加载的文件不存在。"); }
|
if (!File.Exists(file)) { throw new IOException(Resources.加载的文件不存在); }
|
||||||
long fileLength=new FileInfo(file).Length;
|
long fileLength=new FileInfo(file).Length;
|
||||||
if (fileLength < 2200 || fileLength > 2400) { throw new IOException("加载的S50卡文件大小异常。"); }
|
if (fileLength < 2200 || fileLength > 2400) { throw new IOException(Resources.加载的S50卡文件大小异常); }
|
||||||
List<string> lines = new List<string>(File.ReadAllLines(file));
|
List<string> lines = new List<string>(File.ReadAllLines(file));
|
||||||
List<string> invaild = new List<string>();
|
List<string> invaild = new List<string>();
|
||||||
foreach (string line in lines)
|
foreach (string line in lines)
|
||||||
@ -391,7 +392,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
if (lines.Count != 64)
|
if (lines.Count != 64)
|
||||||
{
|
{
|
||||||
throw new Exception("文件内不是含有64个块数据,可能不完整或不兼容。");
|
throw new Exception(Resources.文件内不是含有64个块数据_可能不完整或不兼容);
|
||||||
}
|
}
|
||||||
this.Wipe();
|
this.Wipe();
|
||||||
for (int i = 0; i < lines.Count; i++)
|
for (int i = 0; i < lines.Count; i++)
|
||||||
@ -409,7 +410,7 @@ namespace MifareOneTool
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
sb.AppendLine("+Sector: " + i.ToString());
|
sb.AppendLine(Resources._Sector + i.ToString());
|
||||||
for (int j = 0; j < 4; j++)
|
for (int j = 0; j < 4; j++)
|
||||||
{
|
{
|
||||||
sb.AppendLine(Utils.Hex2Str(this._sectors[i].Block[j]));
|
sb.AppendLine(Utils.Hex2Str(this._sectors[i].Block[j]));
|
||||||
|
|||||||
1871
MifareOneTool/Form1.Designer.cs
generated
2121
MifareOneTool/Form1.ru.resx
Normal file
1607
MifareOneTool/Form1.zh.resx
Normal file
70
MifareOneTool/FormDiff.Designer.cs
generated
@ -28,72 +28,87 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDiff));
|
||||||
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
this.button2 = new System.Windows.Forms.Button();
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
this.button3 = new System.Windows.Forms.Button();
|
this.button3 = new System.Windows.Forms.Button();
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.flowLayoutPanel1.SuspendLayout();
|
||||||
|
this.flowLayoutPanel2.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// richTextBox1
|
// richTextBox1
|
||||||
//
|
//
|
||||||
this.richTextBox1.BackColor = System.Drawing.Color.Black;
|
this.richTextBox1.BackColor = System.Drawing.Color.Black;
|
||||||
|
resources.ApplyResources(this.richTextBox1, "richTextBox1");
|
||||||
this.richTextBox1.ForeColor = System.Drawing.Color.Orange;
|
this.richTextBox1.ForeColor = System.Drawing.Color.Orange;
|
||||||
this.richTextBox1.Location = new System.Drawing.Point(12, 74);
|
|
||||||
this.richTextBox1.Name = "richTextBox1";
|
this.richTextBox1.Name = "richTextBox1";
|
||||||
this.richTextBox1.ReadOnly = true;
|
this.richTextBox1.ReadOnly = true;
|
||||||
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
|
this.richTextBox1.TextChanged += new System.EventHandler(this.RichTextBox1_TextChanged);
|
||||||
this.richTextBox1.Size = new System.Drawing.Size(469, 474);
|
|
||||||
this.richTextBox1.TabIndex = 0;
|
|
||||||
this.richTextBox1.Text = "欢迎使用M1T内置的差异工具!\n说明:\n点击上方的AB两个按键分别选择MFD文件。\n然后点击“比较”即可看到结果。\n";
|
|
||||||
//
|
//
|
||||||
// button1
|
// button1
|
||||||
//
|
//
|
||||||
this.button1.Location = new System.Drawing.Point(12, 12);
|
resources.ApplyResources(this.button1, "button1");
|
||||||
this.button1.Name = "button1";
|
this.button1.Name = "button1";
|
||||||
this.button1.Size = new System.Drawing.Size(388, 25);
|
|
||||||
this.button1.TabIndex = 1;
|
|
||||||
this.button1.Text = "A";
|
|
||||||
this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
|
||||||
this.button1.UseVisualStyleBackColor = true;
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
//
|
//
|
||||||
// button2
|
// button2
|
||||||
//
|
//
|
||||||
this.button2.Location = new System.Drawing.Point(12, 43);
|
resources.ApplyResources(this.button2, "button2");
|
||||||
this.button2.Name = "button2";
|
this.button2.Name = "button2";
|
||||||
this.button2.Size = new System.Drawing.Size(388, 25);
|
|
||||||
this.button2.TabIndex = 2;
|
|
||||||
this.button2.Text = "B";
|
|
||||||
this.button2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
|
||||||
this.button2.UseVisualStyleBackColor = true;
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
//
|
//
|
||||||
// button3
|
// button3
|
||||||
//
|
//
|
||||||
this.button3.Location = new System.Drawing.Point(406, 12);
|
resources.ApplyResources(this.button3, "button3");
|
||||||
this.button3.Name = "button3";
|
this.button3.Name = "button3";
|
||||||
this.button3.Size = new System.Drawing.Size(75, 56);
|
|
||||||
this.button3.TabIndex = 3;
|
|
||||||
this.button3.Text = "比较";
|
|
||||||
this.button3.UseVisualStyleBackColor = true;
|
this.button3.UseVisualStyleBackColor = true;
|
||||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||||
//
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.button3, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.button1);
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.button2);
|
||||||
|
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel2, "flowLayoutPanel2");
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.richTextBox1);
|
||||||
|
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||||
|
//
|
||||||
// FormDiff
|
// FormDiff
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.button3;
|
this.AcceptButton = this.button3;
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(493, 560);
|
this.Controls.Add(this.flowLayoutPanel2);
|
||||||
this.Controls.Add(this.button3);
|
|
||||||
this.Controls.Add(this.button2);
|
|
||||||
this.Controls.Add(this.button1);
|
|
||||||
this.Controls.Add(this.richTextBox1);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.Name = "FormDiff";
|
this.Name = "FormDiff";
|
||||||
this.Text = "DiffTool";
|
|
||||||
this.Load += new System.EventHandler(this.FormDiff_Load);
|
this.Load += new System.EventHandler(this.FormDiff_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel1.PerformLayout();
|
||||||
|
this.flowLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel2.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel2.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,5 +118,8 @@
|
|||||||
private System.Windows.Forms.Button button1;
|
private System.Windows.Forms.Button button1;
|
||||||
private System.Windows.Forms.Button button2;
|
private System.Windows.Forms.Button button2;
|
||||||
private System.Windows.Forms.Button button3;
|
private System.Windows.Forms.Button button3;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
@ -26,8 +27,8 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
OpenFileDialog ofd = new OpenFileDialog();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.CheckFileExists = true;
|
ofd.CheckFileExists = true;
|
||||||
ofd.Filter = "MFD文件|*.mfd;*.dump";
|
ofd.Filter = Resources.MFD文件_mfd_dump;
|
||||||
ofd.Title = "请选择需要打开的MFD文件(比较A)";
|
ofd.Title = Resources.请选择需要打开的MFD文件_比较A;
|
||||||
ofd.Multiselect = false;
|
ofd.Multiselect = false;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@ -45,7 +46,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ioe.Message, "打开出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ioe.Message, Resources.打开出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
sa = new S50();
|
sa = new S50();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -64,8 +65,8 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
OpenFileDialog ofd = new OpenFileDialog();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.CheckFileExists = true;
|
ofd.CheckFileExists = true;
|
||||||
ofd.Filter = "MFD文件|*.mfd;*.dump";
|
ofd.Filter = Resources.MFD文件_mfd_dump;
|
||||||
ofd.Title = "请选择需要打开的MFD文件(比较B)";
|
ofd.Title = Resources.请选择需要打开的MFD文件_比较B;
|
||||||
ofd.Multiselect = false;
|
ofd.Multiselect = false;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@ -83,7 +84,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ioe.Message, "打开出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ioe.Message, Resources.打开出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
sb = new S50();
|
sb = new S50();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -98,7 +99,7 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logAppend("AB文件中一个或两个无效。");
|
logAppend(Resources.AB文件中一个或两个无效);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private string Compare()
|
private string Compare()
|
||||||
@ -108,7 +109,7 @@ namespace MifareOneTool
|
|||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
stb.AppendLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
stb.AppendLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
|
||||||
stb.AppendLine("扇区 " + i.ToString());
|
stb.AppendLine(Resources.扇区0 + i.ToString());
|
||||||
for (int a = 0; a < 4; a++)
|
for (int a = 0; a < 4; a++)
|
||||||
{
|
{
|
||||||
string res = "";
|
string res = "";
|
||||||
@ -133,7 +134,12 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return "共找到 " + diffCount.ToString() + " 个扇区不同\n" + stb.ToString();
|
return Resources.共找到 + diffCount.ToString() + Resources._个块不同 + stb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RichTextBox1_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,4 +117,284 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>A</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>B</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Text" xml:space="preserve">
|
||||||
|
<value>比较</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>DiffTool</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T内置的差异工具!</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[1]" xml:space="preserve">
|
||||||
|
<value>说明:</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[2]" xml:space="preserve">
|
||||||
|
<value>点击上方的AB两个按键分别选择MFD文件。</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[3]" xml:space="preserve">
|
||||||
|
<value>然后点击“比较”即可看到结果。</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Text" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T内置的差异工具!
|
||||||
|
说明:
|
||||||
|
点击上方的AB两个按键分别选择MFD文件。
|
||||||
|
然后点击“比较”即可看到结果。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="richTextBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="richTextBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>2, 69</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 3, 2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.ScrollBars" type="System.Windows.Forms.RichTextBoxScrollBars, System.Windows.Forms">
|
||||||
|
<value>ForcedVertical</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>348, 221</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="richTextBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>richTextBox1.Name" xml:space="preserve">
|
||||||
|
<value>richTextBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>richTextBox1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>richTextBox1.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>richTextBox1.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 3, 2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>291, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleLeft</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Name" xml:space="preserve">
|
||||||
|
<value>button1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>2, 30</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 3, 2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>291, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleLeft</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Name" xml:space="preserve">
|
||||||
|
<value>button2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>303, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 3, 2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>41, 54</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button3.Name" xml:space="preserve">
|
||||||
|
<value>button3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button3.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button3.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button3.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||||
|
<value>TopDown</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>295, 54</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>346, 60</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="button3" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||||
|
<value>TopDown</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>370, 456</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel2.Name" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel2.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel2.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>6, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>370, 456</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 3, 2, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>FormDiff</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
150
MifareOneTool/FormDiff.ru.resx
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>A</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>В</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Text" xml:space="preserve">
|
||||||
|
<value>Сравнить</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>Сравнение дампов</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>Добро пожаловать во встроенный инструмент различий M1T!</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[1]" xml:space="preserve">
|
||||||
|
<value>Описание:</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[2]" xml:space="preserve">
|
||||||
|
<value>Нажмите две кнопки AB выше, чтобы выбрать файл MFD.</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[3]" xml:space="preserve">
|
||||||
|
<value>Затем нажмите «Сравнить», чтобы увидеть результаты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Text" xml:space="preserve">
|
||||||
|
<value>Добро пожаловать во встроенный инструмент сравнения дампов!
|
||||||
|
Описание:
|
||||||
|
1. Нажмите А или В, чтобы выбрать файл MFD.
|
||||||
|
2. Нажмите «Сравнить», чтобы увидеть результаты.</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
151
MifareOneTool/FormDiff.zh.resx
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>A</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>B</value>
|
||||||
|
</data>
|
||||||
|
<data name="button3.Text" xml:space="preserve">
|
||||||
|
<value>比较</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>DiffTool</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T内置的差异工具!</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[1]" xml:space="preserve">
|
||||||
|
<value>说明:</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[2]" xml:space="preserve">
|
||||||
|
<value>点击上方的AB两个按键分别选择MFD文件。</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[3]" xml:space="preserve">
|
||||||
|
<value>然后点击“比较”即可看到结果。</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Text" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T内置的差异工具!
|
||||||
|
说明:
|
||||||
|
点击上方的AB两个按键分别选择MFD文件。
|
||||||
|
然后点击“比较”即可看到结果。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
383
MifareOneTool/FormHTool.Designer.cs
generated
@ -29,6 +29,7 @@
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormHTool));
|
||||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||||
this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.新建ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.新建ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@ -74,25 +75,35 @@
|
|||||||
this.labelCurSec = new System.Windows.Forms.Label();
|
this.labelCurSec = new System.Windows.Forms.Label();
|
||||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||||
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
this.s50BindingSource = new System.Windows.Forms.BindingSource(this.components);
|
this.s50BindingSource = new System.Windows.Forms.BindingSource(this.components);
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
this.groupBox3.SuspendLayout();
|
this.groupBox3.SuspendLayout();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.tableLayoutPanel2.SuspendLayout();
|
||||||
|
this.flowLayoutPanel1.SuspendLayout();
|
||||||
|
this.flowLayoutPanel2.SuspendLayout();
|
||||||
|
this.tableLayoutPanel3.SuspendLayout();
|
||||||
|
this.flowLayoutPanel3.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.s50BindingSource)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.s50BindingSource)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// menuStrip1
|
// menuStrip1
|
||||||
//
|
//
|
||||||
|
this.menuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.文件ToolStripMenuItem,
|
this.文件ToolStripMenuItem,
|
||||||
this.工具ToolStripMenuItem});
|
this.工具ToolStripMenuItem});
|
||||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
resources.ApplyResources(this.menuStrip1, "menuStrip1");
|
||||||
this.menuStrip1.Name = "menuStrip1";
|
this.menuStrip1.Name = "menuStrip1";
|
||||||
this.menuStrip1.Size = new System.Drawing.Size(838, 28);
|
|
||||||
this.menuStrip1.TabIndex = 0;
|
|
||||||
this.menuStrip1.Text = "menuStrip1";
|
|
||||||
//
|
//
|
||||||
// 文件ToolStripMenuItem
|
// 文件ToolStripMenuItem
|
||||||
//
|
//
|
||||||
@ -104,53 +115,41 @@
|
|||||||
this.toolStripSeparator1,
|
this.toolStripSeparator1,
|
||||||
this.退出ToolStripMenuItem});
|
this.退出ToolStripMenuItem});
|
||||||
this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
|
this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
|
||||||
this.文件ToolStripMenuItem.Size = new System.Drawing.Size(51, 24);
|
resources.ApplyResources(this.文件ToolStripMenuItem, "文件ToolStripMenuItem");
|
||||||
this.文件ToolStripMenuItem.Text = "文件";
|
|
||||||
//
|
//
|
||||||
// 新建ToolStripMenuItem
|
// 新建ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.新建ToolStripMenuItem.Name = "新建ToolStripMenuItem";
|
this.新建ToolStripMenuItem.Name = "新建ToolStripMenuItem";
|
||||||
this.新建ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
|
resources.ApplyResources(this.新建ToolStripMenuItem, "新建ToolStripMenuItem");
|
||||||
this.新建ToolStripMenuItem.Size = new System.Drawing.Size(222, 24);
|
|
||||||
this.新建ToolStripMenuItem.Text = "新建";
|
|
||||||
this.新建ToolStripMenuItem.Click += new System.EventHandler(this.新建ToolStripMenuItem_Click);
|
this.新建ToolStripMenuItem.Click += new System.EventHandler(this.新建ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 打开ToolStripMenuItem
|
// 打开ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
|
this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
|
||||||
this.打开ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
|
resources.ApplyResources(this.打开ToolStripMenuItem, "打开ToolStripMenuItem");
|
||||||
this.打开ToolStripMenuItem.Size = new System.Drawing.Size(222, 24);
|
|
||||||
this.打开ToolStripMenuItem.Text = "打开";
|
|
||||||
this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
|
this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 保存ToolStripMenuItem
|
// 保存ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.保存ToolStripMenuItem.Name = "保存ToolStripMenuItem";
|
this.保存ToolStripMenuItem.Name = "保存ToolStripMenuItem";
|
||||||
this.保存ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
|
resources.ApplyResources(this.保存ToolStripMenuItem, "保存ToolStripMenuItem");
|
||||||
this.保存ToolStripMenuItem.Size = new System.Drawing.Size(222, 24);
|
|
||||||
this.保存ToolStripMenuItem.Text = "保存";
|
|
||||||
this.保存ToolStripMenuItem.Click += new System.EventHandler(this.保存ToolStripMenuItem_Click);
|
this.保存ToolStripMenuItem.Click += new System.EventHandler(this.保存ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 另存为ToolStripMenuItem
|
// 另存为ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.另存为ToolStripMenuItem.Name = "另存为ToolStripMenuItem";
|
this.另存为ToolStripMenuItem.Name = "另存为ToolStripMenuItem";
|
||||||
this.另存为ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
resources.ApplyResources(this.另存为ToolStripMenuItem, "另存为ToolStripMenuItem");
|
||||||
| System.Windows.Forms.Keys.S)));
|
|
||||||
this.另存为ToolStripMenuItem.Size = new System.Drawing.Size(222, 24);
|
|
||||||
this.另存为ToolStripMenuItem.Text = "另存为";
|
|
||||||
this.另存为ToolStripMenuItem.Click += new System.EventHandler(this.另存为ToolStripMenuItem_Click);
|
this.另存为ToolStripMenuItem.Click += new System.EventHandler(this.另存为ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
this.toolStripSeparator1.Size = new System.Drawing.Size(219, 6);
|
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
||||||
//
|
//
|
||||||
// 退出ToolStripMenuItem
|
// 退出ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
|
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
|
||||||
this.退出ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.X)));
|
resources.ApplyResources(this.退出ToolStripMenuItem, "退出ToolStripMenuItem");
|
||||||
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(222, 24);
|
|
||||||
this.退出ToolStripMenuItem.Text = "退出";
|
|
||||||
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
|
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 工具ToolStripMenuItem
|
// 工具ToolStripMenuItem
|
||||||
@ -167,89 +166,71 @@
|
|||||||
this.toolStripSeparator4,
|
this.toolStripSeparator4,
|
||||||
this.列出全卡密钥ToolStripMenuItem});
|
this.列出全卡密钥ToolStripMenuItem});
|
||||||
this.工具ToolStripMenuItem.Name = "工具ToolStripMenuItem";
|
this.工具ToolStripMenuItem.Name = "工具ToolStripMenuItem";
|
||||||
this.工具ToolStripMenuItem.Size = new System.Drawing.Size(51, 24);
|
resources.ApplyResources(this.工具ToolStripMenuItem, "工具ToolStripMenuItem");
|
||||||
this.工具ToolStripMenuItem.Text = "工具";
|
|
||||||
//
|
//
|
||||||
// 修改UIDToolStripMenuItem
|
// 修改UIDToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.修改UIDToolStripMenuItem.Name = "修改UIDToolStripMenuItem";
|
this.修改UIDToolStripMenuItem.Name = "修改UIDToolStripMenuItem";
|
||||||
this.修改UIDToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
|
resources.ApplyResources(this.修改UIDToolStripMenuItem, "修改UIDToolStripMenuItem");
|
||||||
this.修改UIDToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.修改UIDToolStripMenuItem.Text = "修改UID";
|
|
||||||
this.修改UIDToolStripMenuItem.Click += new System.EventHandler(this.修改UIDToolStripMenuItem_Click);
|
this.修改UIDToolStripMenuItem.Click += new System.EventHandler(this.修改UIDToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator2
|
// toolStripSeparator2
|
||||||
//
|
//
|
||||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||||
this.toolStripSeparator2.Size = new System.Drawing.Size(245, 6);
|
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
|
||||||
//
|
//
|
||||||
// 检查全卡ToolStripMenuItem
|
// 检查全卡ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.检查全卡ToolStripMenuItem.Name = "检查全卡ToolStripMenuItem";
|
this.检查全卡ToolStripMenuItem.Name = "检查全卡ToolStripMenuItem";
|
||||||
this.检查全卡ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.J)));
|
resources.ApplyResources(this.检查全卡ToolStripMenuItem, "检查全卡ToolStripMenuItem");
|
||||||
this.检查全卡ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.检查全卡ToolStripMenuItem.Text = "检查全卡";
|
|
||||||
this.检查全卡ToolStripMenuItem.Click += new System.EventHandler(this.检查全卡ToolStripMenuItem_Click);
|
this.检查全卡ToolStripMenuItem.Click += new System.EventHandler(this.检查全卡ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 检查并纠正全卡ToolStripMenuItem
|
// 检查并纠正全卡ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.检查并纠正全卡ToolStripMenuItem.Name = "检查并纠正全卡ToolStripMenuItem";
|
this.检查并纠正全卡ToolStripMenuItem.Name = "检查并纠正全卡ToolStripMenuItem";
|
||||||
this.检查并纠正全卡ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.K)));
|
resources.ApplyResources(this.检查并纠正全卡ToolStripMenuItem, "检查并纠正全卡ToolStripMenuItem");
|
||||||
this.检查并纠正全卡ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.检查并纠正全卡ToolStripMenuItem.Text = "检查并纠正全卡";
|
|
||||||
this.检查并纠正全卡ToolStripMenuItem.Click += new System.EventHandler(this.检查并纠正全卡ToolStripMenuItem_Click);
|
this.检查并纠正全卡ToolStripMenuItem.Click += new System.EventHandler(this.检查并纠正全卡ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
this.toolStripSeparator3.Size = new System.Drawing.Size(245, 6);
|
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
||||||
//
|
//
|
||||||
// 导入MCT格式ToolStripMenuItem
|
// 导入MCT格式ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.导入MCT格式ToolStripMenuItem.Name = "导入MCT格式ToolStripMenuItem";
|
this.导入MCT格式ToolStripMenuItem.Name = "导入MCT格式ToolStripMenuItem";
|
||||||
this.导入MCT格式ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.L)));
|
resources.ApplyResources(this.导入MCT格式ToolStripMenuItem, "导入MCT格式ToolStripMenuItem");
|
||||||
this.导入MCT格式ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.导入MCT格式ToolStripMenuItem.Text = "导入MCT格式";
|
|
||||||
this.导入MCT格式ToolStripMenuItem.Click += new System.EventHandler(this.导入MCT格式ToolStripMenuItem_Click);
|
this.导入MCT格式ToolStripMenuItem.Click += new System.EventHandler(this.导入MCT格式ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 导出为MCT格式ToolStripMenuItem
|
// 导出为MCT格式ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.导出为MCT格式ToolStripMenuItem.Name = "导出为MCT格式ToolStripMenuItem";
|
this.导出为MCT格式ToolStripMenuItem.Name = "导出为MCT格式ToolStripMenuItem";
|
||||||
this.导出为MCT格式ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.M)));
|
resources.ApplyResources(this.导出为MCT格式ToolStripMenuItem, "导出为MCT格式ToolStripMenuItem");
|
||||||
this.导出为MCT格式ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.导出为MCT格式ToolStripMenuItem.Text = "导出为MCT格式";
|
|
||||||
this.导出为MCT格式ToolStripMenuItem.Click += new System.EventHandler(this.导出为MCT格式ToolStripMenuItem_Click);
|
this.导出为MCT格式ToolStripMenuItem.Click += new System.EventHandler(this.导出为MCT格式ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// 导出密钥字典ToolStripMenuItem
|
// 导出密钥字典ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.导出密钥字典ToolStripMenuItem.Name = "导出密钥字典ToolStripMenuItem";
|
this.导出密钥字典ToolStripMenuItem.Name = "导出密钥字典ToolStripMenuItem";
|
||||||
this.导出密钥字典ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
|
resources.ApplyResources(this.导出密钥字典ToolStripMenuItem, "导出密钥字典ToolStripMenuItem");
|
||||||
this.导出密钥字典ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.导出密钥字典ToolStripMenuItem.Text = "导出密钥字典";
|
|
||||||
this.导出密钥字典ToolStripMenuItem.Click += new System.EventHandler(this.导出密钥字典ToolStripMenuItem_Click);
|
this.导出密钥字典ToolStripMenuItem.Click += new System.EventHandler(this.导出密钥字典ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator4
|
// toolStripSeparator4
|
||||||
//
|
//
|
||||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||||
this.toolStripSeparator4.Size = new System.Drawing.Size(245, 6);
|
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
|
||||||
//
|
//
|
||||||
// 列出全卡密钥ToolStripMenuItem
|
// 列出全卡密钥ToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.列出全卡密钥ToolStripMenuItem.Name = "列出全卡密钥ToolStripMenuItem";
|
this.列出全卡密钥ToolStripMenuItem.Name = "列出全卡密钥ToolStripMenuItem";
|
||||||
this.列出全卡密钥ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
|
resources.ApplyResources(this.列出全卡密钥ToolStripMenuItem, "列出全卡密钥ToolStripMenuItem");
|
||||||
this.列出全卡密钥ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
|
|
||||||
this.列出全卡密钥ToolStripMenuItem.Text = "列出全卡密钥";
|
|
||||||
this.列出全卡密钥ToolStripMenuItem.Click += new System.EventHandler(this.列出全卡密钥ToolStripMenuItem_Click);
|
this.列出全卡密钥ToolStripMenuItem.Click += new System.EventHandler(this.列出全卡密钥ToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
this.groupBox1.Controls.Add(this.dataGridView1);
|
this.groupBox1.Controls.Add(this.dataGridView1);
|
||||||
this.groupBox1.Location = new System.Drawing.Point(12, 31);
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.Size = new System.Drawing.Size(250, 409);
|
|
||||||
this.groupBox1.TabIndex = 1;
|
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
this.groupBox1.Text = "扇区列表";
|
|
||||||
//
|
//
|
||||||
// dataGridView1
|
// dataGridView1
|
||||||
//
|
//
|
||||||
@ -261,64 +242,34 @@
|
|||||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
this.Column1});
|
this.Column1});
|
||||||
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
resources.ApplyResources(this.dataGridView1, "dataGridView1");
|
||||||
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
this.dataGridView1.Location = new System.Drawing.Point(3, 21);
|
|
||||||
this.dataGridView1.MultiSelect = false;
|
this.dataGridView1.MultiSelect = false;
|
||||||
this.dataGridView1.Name = "dataGridView1";
|
this.dataGridView1.Name = "dataGridView1";
|
||||||
this.dataGridView1.ReadOnly = true;
|
this.dataGridView1.ReadOnly = true;
|
||||||
this.dataGridView1.RowHeadersWidth = 20;
|
|
||||||
this.dataGridView1.RowTemplate.Height = 27;
|
this.dataGridView1.RowTemplate.Height = 27;
|
||||||
this.dataGridView1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
|
||||||
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||||
this.dataGridView1.Size = new System.Drawing.Size(244, 385);
|
|
||||||
this.dataGridView1.TabIndex = 0;
|
|
||||||
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
|
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
|
||||||
//
|
//
|
||||||
// Column1
|
// Column1
|
||||||
//
|
//
|
||||||
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||||
this.Column1.HeaderText = "扇区";
|
resources.ApplyResources(this.Column1, "Column1");
|
||||||
this.Column1.Name = "Column1";
|
this.Column1.Name = "Column1";
|
||||||
this.Column1.ReadOnly = true;
|
this.Column1.ReadOnly = true;
|
||||||
this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||||
//
|
//
|
||||||
// groupBox2
|
// groupBox2
|
||||||
//
|
//
|
||||||
this.groupBox2.Controls.Add(this.buttonSaveSectorEdit);
|
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||||
this.groupBox2.Controls.Add(this.comboBox4);
|
this.groupBox2.Controls.Add(this.tableLayoutPanel2);
|
||||||
this.groupBox2.Controls.Add(this.comboBox3);
|
|
||||||
this.groupBox2.Controls.Add(this.comboBox2);
|
|
||||||
this.groupBox2.Controls.Add(this.comboBox1);
|
|
||||||
this.groupBox2.Controls.Add(this.label9);
|
|
||||||
this.groupBox2.Controls.Add(this.label8);
|
|
||||||
this.groupBox2.Controls.Add(this.label7);
|
|
||||||
this.groupBox2.Controls.Add(this.label6);
|
|
||||||
this.groupBox2.Controls.Add(this.label5);
|
|
||||||
this.groupBox2.Controls.Add(this.keyBEdit);
|
|
||||||
this.groupBox2.Controls.Add(this.keyAEdit);
|
|
||||||
this.groupBox2.Controls.Add(this.block2Edit);
|
|
||||||
this.groupBox2.Controls.Add(this.label4);
|
|
||||||
this.groupBox2.Controls.Add(this.label3);
|
|
||||||
this.groupBox2.Controls.Add(this.block1Edit);
|
|
||||||
this.groupBox2.Controls.Add(this.label2);
|
|
||||||
this.groupBox2.Controls.Add(this.block0Edit);
|
|
||||||
this.groupBox2.Controls.Add(this.label1);
|
|
||||||
this.groupBox2.Controls.Add(this.labelCurSec);
|
|
||||||
this.groupBox2.Location = new System.Drawing.Point(268, 31);
|
|
||||||
this.groupBox2.Name = "groupBox2";
|
this.groupBox2.Name = "groupBox2";
|
||||||
this.groupBox2.Size = new System.Drawing.Size(292, 409);
|
|
||||||
this.groupBox2.TabIndex = 2;
|
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
this.groupBox2.Text = "扇区信息";
|
|
||||||
//
|
//
|
||||||
// buttonSaveSectorEdit
|
// buttonSaveSectorEdit
|
||||||
//
|
//
|
||||||
this.buttonSaveSectorEdit.Location = new System.Drawing.Point(147, 16);
|
resources.ApplyResources(this.buttonSaveSectorEdit, "buttonSaveSectorEdit");
|
||||||
this.buttonSaveSectorEdit.Name = "buttonSaveSectorEdit";
|
this.buttonSaveSectorEdit.Name = "buttonSaveSectorEdit";
|
||||||
this.buttonSaveSectorEdit.Size = new System.Drawing.Size(139, 25);
|
|
||||||
this.buttonSaveSectorEdit.TabIndex = 20;
|
|
||||||
this.buttonSaveSectorEdit.Text = "修改扇区(Enter)";
|
|
||||||
this.buttonSaveSectorEdit.UseVisualStyleBackColor = true;
|
this.buttonSaveSectorEdit.UseVisualStyleBackColor = true;
|
||||||
this.buttonSaveSectorEdit.Click += new System.EventHandler(this.buttonSaveSectorEdit_Click);
|
this.buttonSaveSectorEdit.Click += new System.EventHandler(this.buttonSaveSectorEdit_Click);
|
||||||
//
|
//
|
||||||
@ -328,18 +279,16 @@
|
|||||||
this.comboBox4.DropDownWidth = 400;
|
this.comboBox4.DropDownWidth = 400;
|
||||||
this.comboBox4.FormattingEnabled = true;
|
this.comboBox4.FormattingEnabled = true;
|
||||||
this.comboBox4.Items.AddRange(new object[] {
|
this.comboBox4.Items.AddRange(new object[] {
|
||||||
"[不可逆]KeyA:A写/AC:A只读/KeyB:A读写",
|
resources.GetString("comboBox4.Items"),
|
||||||
"KeyA:A写/AC:A读写/KeyB:A读写",
|
resources.GetString("comboBox4.Items1"),
|
||||||
"[不可逆]KeyA:不能读写/AC:A只读/KeyB:A读",
|
resources.GetString("comboBox4.Items2"),
|
||||||
"KeyA:B写/AC:A只读B读写/KeyB:B写",
|
resources.GetString("comboBox4.Items3"),
|
||||||
"[不可逆]KeyA:B写/AC:AB只读/KeyB:B写",
|
resources.GetString("comboBox4.Items4"),
|
||||||
"KeyA:不能读写/AC:A只读B读写/KeyB:不能读写",
|
resources.GetString("comboBox4.Items5"),
|
||||||
"[不可逆]KeyA:不能读写/AC:AB只读/KeyB:不能读写",
|
resources.GetString("comboBox4.Items6"),
|
||||||
"[不可逆]KeyA:不能读写/AC:AB只读/KeyB:不能读写(重复了?)"});
|
resources.GetString("comboBox4.Items7")});
|
||||||
this.comboBox4.Location = new System.Drawing.Point(6, 379);
|
resources.ApplyResources(this.comboBox4, "comboBox4");
|
||||||
this.comboBox4.Name = "comboBox4";
|
this.comboBox4.Name = "comboBox4";
|
||||||
this.comboBox4.Size = new System.Drawing.Size(280, 23);
|
|
||||||
this.comboBox4.TabIndex = 19;
|
|
||||||
this.comboBox4.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
this.comboBox4.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
||||||
//
|
//
|
||||||
// comboBox3
|
// comboBox3
|
||||||
@ -347,18 +296,16 @@
|
|||||||
this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.comboBox3.FormattingEnabled = true;
|
this.comboBox3.FormattingEnabled = true;
|
||||||
this.comboBox3.Items.AddRange(new object[] {
|
this.comboBox3.Items.AddRange(new object[] {
|
||||||
"KeyAB读写及增减值",
|
resources.GetString("comboBox3.Items"),
|
||||||
"[只读]KeyAB读及减值/不可写及增值",
|
resources.GetString("comboBox3.Items1"),
|
||||||
"[只读]KeyAB读/不可写及增减值",
|
resources.GetString("comboBox3.Items2"),
|
||||||
"KeyB读写/不可增减值",
|
resources.GetString("comboBox3.Items3"),
|
||||||
"KeyAB读/KeyB写/不可增减值",
|
resources.GetString("comboBox3.Items4"),
|
||||||
"[只读]KeyB读/不可写及增减值",
|
resources.GetString("comboBox3.Items5"),
|
||||||
"KeyAB读及减值/KeyB写及增值",
|
resources.GetString("comboBox3.Items6"),
|
||||||
"[只读]锁死该扇区"});
|
resources.GetString("comboBox3.Items7")});
|
||||||
this.comboBox3.Location = new System.Drawing.Point(6, 335);
|
resources.ApplyResources(this.comboBox3, "comboBox3");
|
||||||
this.comboBox3.Name = "comboBox3";
|
this.comboBox3.Name = "comboBox3";
|
||||||
this.comboBox3.Size = new System.Drawing.Size(280, 23);
|
|
||||||
this.comboBox3.TabIndex = 18;
|
|
||||||
this.comboBox3.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
this.comboBox3.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
||||||
//
|
//
|
||||||
// comboBox2
|
// comboBox2
|
||||||
@ -366,18 +313,16 @@
|
|||||||
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.comboBox2.FormattingEnabled = true;
|
this.comboBox2.FormattingEnabled = true;
|
||||||
this.comboBox2.Items.AddRange(new object[] {
|
this.comboBox2.Items.AddRange(new object[] {
|
||||||
"KeyAB读写及增减值",
|
resources.GetString("comboBox2.Items"),
|
||||||
"[只读]KeyAB读及减值/不可写及增值",
|
resources.GetString("comboBox2.Items1"),
|
||||||
"[只读]KeyAB读/不可写及增减值",
|
resources.GetString("comboBox2.Items2"),
|
||||||
"KeyB读写/不可增减值",
|
resources.GetString("comboBox2.Items3"),
|
||||||
"KeyAB读/KeyB写/不可增减值",
|
resources.GetString("comboBox2.Items4"),
|
||||||
"[只读]KeyB读/不可写及增减值",
|
resources.GetString("comboBox2.Items5"),
|
||||||
"KeyAB读及减值/KeyB写及增值",
|
resources.GetString("comboBox2.Items6"),
|
||||||
"[只读]锁死该扇区"});
|
resources.GetString("comboBox2.Items7")});
|
||||||
this.comboBox2.Location = new System.Drawing.Point(6, 291);
|
resources.ApplyResources(this.comboBox2, "comboBox2");
|
||||||
this.comboBox2.Name = "comboBox2";
|
this.comboBox2.Name = "comboBox2";
|
||||||
this.comboBox2.Size = new System.Drawing.Size(280, 23);
|
|
||||||
this.comboBox2.TabIndex = 17;
|
|
||||||
this.comboBox2.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
this.comboBox2.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
||||||
//
|
//
|
||||||
// comboBox1
|
// comboBox1
|
||||||
@ -385,171 +330,170 @@
|
|||||||
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.comboBox1.FormattingEnabled = true;
|
this.comboBox1.FormattingEnabled = true;
|
||||||
this.comboBox1.Items.AddRange(new object[] {
|
this.comboBox1.Items.AddRange(new object[] {
|
||||||
"KeyAB读写及增减值",
|
resources.GetString("comboBox1.Items"),
|
||||||
"[只读]KeyAB读及减值/不可写及增值",
|
resources.GetString("comboBox1.Items1"),
|
||||||
"[只读]KeyAB读/不可写及增减值",
|
resources.GetString("comboBox1.Items2"),
|
||||||
"KeyB读写/不可增减值",
|
resources.GetString("comboBox1.Items3"),
|
||||||
"KeyAB读/KeyB写/不可增减值",
|
resources.GetString("comboBox1.Items4"),
|
||||||
"[只读]KeyB读/不可写及增减值",
|
resources.GetString("comboBox1.Items5"),
|
||||||
"KeyAB读及减值/KeyB写及增值",
|
resources.GetString("comboBox1.Items6"),
|
||||||
"[只读]锁死该扇区"});
|
resources.GetString("comboBox1.Items7")});
|
||||||
this.comboBox1.Location = new System.Drawing.Point(6, 247);
|
resources.ApplyResources(this.comboBox1, "comboBox1");
|
||||||
this.comboBox1.Name = "comboBox1";
|
this.comboBox1.Name = "comboBox1";
|
||||||
this.comboBox1.Size = new System.Drawing.Size(280, 23);
|
|
||||||
this.comboBox1.TabIndex = 16;
|
|
||||||
this.comboBox1.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
this.comboBox1.Validating += new System.ComponentModel.CancelEventHandler(this.comboBox1_Validating);
|
||||||
//
|
//
|
||||||
// label9
|
// label9
|
||||||
//
|
//
|
||||||
this.label9.AutoSize = true;
|
resources.ApplyResources(this.label9, "label9");
|
||||||
this.label9.Location = new System.Drawing.Point(3, 361);
|
|
||||||
this.label9.Name = "label9";
|
this.label9.Name = "label9";
|
||||||
this.label9.Size = new System.Drawing.Size(117, 15);
|
|
||||||
this.label9.TabIndex = 15;
|
|
||||||
this.label9.Text = "Key/ACbits权限";
|
|
||||||
//
|
//
|
||||||
// label8
|
// label8
|
||||||
//
|
//
|
||||||
this.label8.AutoSize = true;
|
resources.ApplyResources(this.label8, "label8");
|
||||||
this.label8.Location = new System.Drawing.Point(6, 317);
|
|
||||||
this.label8.Name = "label8";
|
this.label8.Name = "label8";
|
||||||
this.label8.Size = new System.Drawing.Size(60, 15);
|
|
||||||
this.label8.TabIndex = 14;
|
|
||||||
this.label8.Text = "2块权限";
|
|
||||||
//
|
//
|
||||||
// label7
|
// label7
|
||||||
//
|
//
|
||||||
this.label7.AutoSize = true;
|
resources.ApplyResources(this.label7, "label7");
|
||||||
this.label7.Location = new System.Drawing.Point(3, 273);
|
|
||||||
this.label7.Name = "label7";
|
this.label7.Name = "label7";
|
||||||
this.label7.Size = new System.Drawing.Size(60, 15);
|
|
||||||
this.label7.TabIndex = 13;
|
|
||||||
this.label7.Text = "1块权限";
|
|
||||||
//
|
//
|
||||||
// label6
|
// label6
|
||||||
//
|
//
|
||||||
this.label6.AutoSize = true;
|
resources.ApplyResources(this.label6, "label6");
|
||||||
this.label6.Location = new System.Drawing.Point(6, 229);
|
|
||||||
this.label6.Name = "label6";
|
this.label6.Name = "label6";
|
||||||
this.label6.Size = new System.Drawing.Size(60, 15);
|
|
||||||
this.label6.TabIndex = 12;
|
|
||||||
this.label6.Text = "0块权限";
|
|
||||||
//
|
//
|
||||||
// label5
|
// label5
|
||||||
//
|
//
|
||||||
this.label5.AutoSize = true;
|
resources.ApplyResources(this.label5, "label5");
|
||||||
this.label5.Location = new System.Drawing.Point(166, 183);
|
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
this.label5.Size = new System.Drawing.Size(39, 15);
|
|
||||||
this.label5.TabIndex = 11;
|
|
||||||
this.label5.Text = "KeyB";
|
|
||||||
//
|
//
|
||||||
// keyBEdit
|
// keyBEdit
|
||||||
//
|
//
|
||||||
this.keyBEdit.Location = new System.Drawing.Point(166, 201);
|
resources.ApplyResources(this.keyBEdit, "keyBEdit");
|
||||||
this.keyBEdit.Name = "keyBEdit";
|
this.keyBEdit.Name = "keyBEdit";
|
||||||
this.keyBEdit.Size = new System.Drawing.Size(120, 25);
|
|
||||||
this.keyBEdit.TabIndex = 10;
|
|
||||||
this.keyBEdit.Validating += new System.ComponentModel.CancelEventHandler(this.keyAEdit_Validating);
|
this.keyBEdit.Validating += new System.ComponentModel.CancelEventHandler(this.keyAEdit_Validating);
|
||||||
//
|
//
|
||||||
// keyAEdit
|
// keyAEdit
|
||||||
//
|
//
|
||||||
this.keyAEdit.Location = new System.Drawing.Point(6, 201);
|
resources.ApplyResources(this.keyAEdit, "keyAEdit");
|
||||||
this.keyAEdit.Name = "keyAEdit";
|
this.keyAEdit.Name = "keyAEdit";
|
||||||
this.keyAEdit.Size = new System.Drawing.Size(120, 25);
|
this.keyAEdit.TextChanged += new System.EventHandler(this.keyAEdit_TextChanged);
|
||||||
this.keyAEdit.TabIndex = 9;
|
|
||||||
this.keyAEdit.Validating += new System.ComponentModel.CancelEventHandler(this.keyAEdit_Validating);
|
this.keyAEdit.Validating += new System.ComponentModel.CancelEventHandler(this.keyAEdit_Validating);
|
||||||
//
|
//
|
||||||
// block2Edit
|
// block2Edit
|
||||||
//
|
//
|
||||||
this.block2Edit.Location = new System.Drawing.Point(6, 155);
|
resources.ApplyResources(this.block2Edit, "block2Edit");
|
||||||
this.block2Edit.Name = "block2Edit";
|
this.block2Edit.Name = "block2Edit";
|
||||||
this.block2Edit.Size = new System.Drawing.Size(280, 25);
|
|
||||||
this.block2Edit.TabIndex = 8;
|
|
||||||
this.block2Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
this.block2Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
||||||
//
|
//
|
||||||
// label4
|
// label4
|
||||||
//
|
//
|
||||||
this.label4.AutoSize = true;
|
resources.ApplyResources(this.label4, "label4");
|
||||||
this.label4.Location = new System.Drawing.Point(6, 183);
|
|
||||||
this.label4.Name = "label4";
|
this.label4.Name = "label4";
|
||||||
this.label4.Size = new System.Drawing.Size(39, 15);
|
|
||||||
this.label4.TabIndex = 7;
|
|
||||||
this.label4.Text = "KeyA";
|
|
||||||
//
|
//
|
||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
resources.ApplyResources(this.label3, "label3");
|
||||||
this.label3.Location = new System.Drawing.Point(6, 137);
|
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(45, 15);
|
|
||||||
this.label3.TabIndex = 5;
|
|
||||||
this.label3.Text = "第2块";
|
|
||||||
//
|
//
|
||||||
// block1Edit
|
// block1Edit
|
||||||
//
|
//
|
||||||
this.block1Edit.Location = new System.Drawing.Point(6, 109);
|
resources.ApplyResources(this.block1Edit, "block1Edit");
|
||||||
this.block1Edit.Name = "block1Edit";
|
this.block1Edit.Name = "block1Edit";
|
||||||
this.block1Edit.Size = new System.Drawing.Size(280, 25);
|
|
||||||
this.block1Edit.TabIndex = 4;
|
|
||||||
this.block1Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
this.block1Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
||||||
//
|
//
|
||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
this.label2.AutoSize = true;
|
resources.ApplyResources(this.label2, "label2");
|
||||||
this.label2.Location = new System.Drawing.Point(6, 91);
|
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(45, 15);
|
|
||||||
this.label2.TabIndex = 3;
|
|
||||||
this.label2.Text = "第1块";
|
|
||||||
//
|
//
|
||||||
// block0Edit
|
// block0Edit
|
||||||
//
|
//
|
||||||
this.block0Edit.Location = new System.Drawing.Point(6, 63);
|
resources.ApplyResources(this.block0Edit, "block0Edit");
|
||||||
this.block0Edit.Name = "block0Edit";
|
this.block0Edit.Name = "block0Edit";
|
||||||
this.block0Edit.Size = new System.Drawing.Size(280, 25);
|
|
||||||
this.block0Edit.TabIndex = 2;
|
|
||||||
this.block0Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
this.block0Edit.Validating += new System.ComponentModel.CancelEventHandler(this.block0Edit_Validating);
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
resources.ApplyResources(this.label1, "label1");
|
||||||
this.label1.Location = new System.Drawing.Point(6, 45);
|
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(45, 15);
|
|
||||||
this.label1.TabIndex = 1;
|
|
||||||
this.label1.Text = "第0块";
|
|
||||||
//
|
//
|
||||||
// labelCurSec
|
// labelCurSec
|
||||||
//
|
//
|
||||||
this.labelCurSec.AutoSize = true;
|
resources.ApplyResources(this.labelCurSec, "labelCurSec");
|
||||||
this.labelCurSec.Location = new System.Drawing.Point(6, 21);
|
|
||||||
this.labelCurSec.Name = "labelCurSec";
|
this.labelCurSec.Name = "labelCurSec";
|
||||||
this.labelCurSec.Size = new System.Drawing.Size(142, 15);
|
|
||||||
this.labelCurSec.TabIndex = 0;
|
|
||||||
this.labelCurSec.Text = "当前选定扇区:??";
|
|
||||||
//
|
//
|
||||||
// groupBox3
|
// groupBox3
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.groupBox3, "groupBox3");
|
||||||
this.groupBox3.Controls.Add(this.richTextBox1);
|
this.groupBox3.Controls.Add(this.richTextBox1);
|
||||||
this.groupBox3.Location = new System.Drawing.Point(566, 31);
|
|
||||||
this.groupBox3.Name = "groupBox3";
|
this.groupBox3.Name = "groupBox3";
|
||||||
this.groupBox3.Size = new System.Drawing.Size(260, 409);
|
|
||||||
this.groupBox3.TabIndex = 3;
|
|
||||||
this.groupBox3.TabStop = false;
|
this.groupBox3.TabStop = false;
|
||||||
this.groupBox3.Text = "输出";
|
|
||||||
//
|
//
|
||||||
// richTextBox1
|
// richTextBox1
|
||||||
//
|
//
|
||||||
this.richTextBox1.BackColor = System.Drawing.Color.Black;
|
this.richTextBox1.BackColor = System.Drawing.Color.Black;
|
||||||
this.richTextBox1.ForeColor = System.Drawing.Color.Cyan;
|
this.richTextBox1.ForeColor = System.Drawing.Color.Cyan;
|
||||||
this.richTextBox1.Location = new System.Drawing.Point(6, 24);
|
resources.ApplyResources(this.richTextBox1, "richTextBox1");
|
||||||
this.richTextBox1.Name = "richTextBox1";
|
this.richTextBox1.Name = "richTextBox1";
|
||||||
this.richTextBox1.ReadOnly = true;
|
this.richTextBox1.ReadOnly = true;
|
||||||
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
|
//
|
||||||
this.richTextBox1.Size = new System.Drawing.Size(248, 379);
|
// tableLayoutPanel1
|
||||||
this.richTextBox1.TabIndex = 0;
|
//
|
||||||
this.richTextBox1.Text = "欢迎使用M1T的集成编辑器S50HTool!\n打开文件请点左上角文件-打开或Ctrl+O\n";
|
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.groupBox3, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.groupBox2, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel3, 0, 3);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 0, 2);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel1, 0, 0);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.flowLayoutPanel2, 0, 1);
|
||||||
|
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.labelCurSec);
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.buttonSaveSectorEdit);
|
||||||
|
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel2, "flowLayoutPanel2");
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.label1);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.block0Edit);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.label2);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.block1Edit);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.label3);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.block2Edit);
|
||||||
|
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel3, "tableLayoutPanel3");
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.label4, 0, 0);
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.keyAEdit, 0, 1);
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.label5, 1, 0);
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.keyBEdit, 1, 1);
|
||||||
|
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel3, "flowLayoutPanel3");
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.label6);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.comboBox1);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.label7);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.comboBox2);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.label8);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.comboBox3);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.label9);
|
||||||
|
this.flowLayoutPanel3.Controls.Add(this.comboBox4);
|
||||||
|
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
|
||||||
//
|
//
|
||||||
// s50BindingSource
|
// s50BindingSource
|
||||||
//
|
//
|
||||||
@ -558,18 +502,14 @@
|
|||||||
// FormHTool
|
// FormHTool
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.buttonSaveSectorEdit;
|
this.AcceptButton = this.buttonSaveSectorEdit;
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(838, 452);
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
this.Controls.Add(this.groupBox3);
|
|
||||||
this.Controls.Add(this.groupBox2);
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.menuStrip1);
|
this.Controls.Add(this.menuStrip1);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
this.MainMenuStrip = this.menuStrip1;
|
this.MainMenuStrip = this.menuStrip1;
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.Name = "FormHTool";
|
this.Name = "FormHTool";
|
||||||
this.Text = "S50HTool-beta";
|
|
||||||
this.Load += new System.EventHandler(this.FormHTool_Load);
|
this.Load += new System.EventHandler(this.FormHTool_Load);
|
||||||
this.menuStrip1.ResumeLayout(false);
|
this.menuStrip1.ResumeLayout(false);
|
||||||
this.menuStrip1.PerformLayout();
|
this.menuStrip1.PerformLayout();
|
||||||
@ -578,6 +518,18 @@
|
|||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
this.groupBox2.PerformLayout();
|
this.groupBox2.PerformLayout();
|
||||||
this.groupBox3.ResumeLayout(false);
|
this.groupBox3.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel1.PerformLayout();
|
||||||
|
this.tableLayoutPanel2.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel2.PerformLayout();
|
||||||
|
this.flowLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel1.PerformLayout();
|
||||||
|
this.flowLayoutPanel2.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel2.PerformLayout();
|
||||||
|
this.tableLayoutPanel3.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel3.PerformLayout();
|
||||||
|
this.flowLayoutPanel3.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel3.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.s50BindingSource)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.s50BindingSource)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
@ -629,9 +581,14 @@
|
|||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||||
private System.Windows.Forms.ToolStripMenuItem 导出为MCT格式ToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem 导出为MCT格式ToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem 导出密钥字典ToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem 导出密钥字典ToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem 导入MCT格式ToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem 导入MCT格式ToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||||
private System.Windows.Forms.ToolStripMenuItem 列出全卡密钥ToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem 列出全卡密钥ToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
@ -30,7 +31,7 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
int sectorIndex = dataGridView1.SelectedRows[0].Index;
|
int sectorIndex = dataGridView1.SelectedRows[0].Index;
|
||||||
reloadEdit(sectorIndex);
|
reloadEdit(sectorIndex);
|
||||||
logAppend("显示扇区" + sectorIndex.ToString());
|
logAppend(Resources.显示扇区 + sectorIndex.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void logAppend(string msg)
|
private void logAppend(string msg)
|
||||||
@ -52,10 +53,10 @@ namespace MifareOneTool
|
|||||||
this.block2Edit.Text = "";
|
this.block2Edit.Text = "";
|
||||||
this.block1Edit.Text = "";
|
this.block1Edit.Text = "";
|
||||||
this.block0Edit.Text = "";
|
this.block0Edit.Text = "";
|
||||||
this.labelCurSec.Text = "当前选定扇区:??";
|
this.labelCurSec.Text = Resources.当前选定扇区;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
labelCurSec.Text = "当前选定扇区:" + sectorIndex.ToString();
|
labelCurSec.Text = Resources.当前选定扇区0 + sectorIndex.ToString();
|
||||||
block0Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[0]);
|
block0Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[0]);
|
||||||
block1Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[1]);
|
block1Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[1]);
|
||||||
block2Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[2]);
|
block2Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[2]);
|
||||||
@ -76,7 +77,7 @@ namespace MifareOneTool
|
|||||||
^ currentS50.Sectors[sectorIndex].Block[0][2]
|
^ currentS50.Sectors[sectorIndex].Block[0][2]
|
||||||
^ currentS50.Sectors[sectorIndex].Block[0][3]);
|
^ currentS50.Sectors[sectorIndex].Block[0][3]);
|
||||||
block0Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[0]);
|
block0Edit.Text = Form1.hex(currentS50.Sectors[sectorIndex].Block[0]);
|
||||||
msg += "该扇区UID校验值错误,已经自动为您更正。\n";
|
msg += Resources.该扇区UID校验值错误_已经自动为您更正;
|
||||||
}
|
}
|
||||||
if ((res & 0x02) == 0x02)
|
if ((res & 0x02) == 0x02)
|
||||||
{
|
{
|
||||||
@ -84,7 +85,7 @@ namespace MifareOneTool
|
|||||||
comboBox2.SelectedIndex = 0;
|
comboBox2.SelectedIndex = 0;
|
||||||
comboBox3.SelectedIndex = 0;
|
comboBox3.SelectedIndex = 0;
|
||||||
comboBox4.SelectedIndex = 1;
|
comboBox4.SelectedIndex = 1;
|
||||||
msg += "该扇区访问控制位无效,写入将会损坏卡片,已重新设置。\n";
|
msg += Resources.该扇区访问控制位无效_写入将会损坏卡片_已重新设置;
|
||||||
}
|
}
|
||||||
if ((res & 0x04) == 0x04)
|
if ((res & 0x04) == 0x04)
|
||||||
{
|
{
|
||||||
@ -92,7 +93,7 @@ namespace MifareOneTool
|
|||||||
comboBox2.SelectedIndex = 0;
|
comboBox2.SelectedIndex = 0;
|
||||||
comboBox3.SelectedIndex = 0;
|
comboBox3.SelectedIndex = 0;
|
||||||
comboBox4.SelectedIndex = 1;
|
comboBox4.SelectedIndex = 1;
|
||||||
msg += "该扇区访问控制位损坏,写入将会损坏卡片,已重新设置。\n";
|
msg += Resources.该扇区访问控制位损坏_写入将会损坏卡片_已重新设置;
|
||||||
}
|
}
|
||||||
if (res != 0x00) { MessageBox.Show(msg.Trim()); }
|
if (res != 0x00) { MessageBox.Show(msg.Trim()); }
|
||||||
|
|
||||||
@ -104,8 +105,8 @@ namespace MifareOneTool
|
|||||||
reloadEdit(-1);
|
reloadEdit(-1);
|
||||||
OpenFileDialog ofd = new OpenFileDialog();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.CheckFileExists = true;
|
ofd.CheckFileExists = true;
|
||||||
ofd.Filter = "MFD文件|*.mfd;*.dump";
|
ofd.Filter = Resources.MFD文件_mfd_dump;
|
||||||
ofd.Title = "请选择需要打开的MFD文件";
|
ofd.Title = Resources.请选择需要打开的MFD文件;
|
||||||
ofd.Multiselect = false;
|
ofd.Multiselect = false;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@ -122,12 +123,12 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ioe.Message, "打开出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ioe.Message, Resources.打开出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
this.currentS50 = new S50();
|
this.currentS50 = new S50();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
reloadList();
|
reloadList();
|
||||||
logAppend("打开了" + ofd.FileName);
|
logAppend(Resources.打开了 + ofd.FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reloadList()
|
private void reloadList()
|
||||||
@ -154,9 +155,9 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "写入出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, Resources.写入出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
logAppend("已保存到" + currentFilename + "。");
|
logAppend(Resources.已保存到 + currentFilename + Resources.res);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
|
private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -165,9 +166,9 @@ namespace MifareOneTool
|
|||||||
SaveFileDialog ofd = new SaveFileDialog();
|
SaveFileDialog ofd = new SaveFileDialog();
|
||||||
ofd.AddExtension = true;
|
ofd.AddExtension = true;
|
||||||
ofd.DefaultExt = ".mfd";
|
ofd.DefaultExt = ".mfd";
|
||||||
ofd.Title = "请选择MFD文件保存位置及文件名";
|
ofd.Title = Resources.请选择MFD文件保存位置及文件名;
|
||||||
ofd.OverwritePrompt = true;
|
ofd.OverwritePrompt = true;
|
||||||
ofd.Filter = "MFD文件|*.mfd|DUMP文件|*.dump";
|
ofd.Filter = Resources.MFD文件_mfd_DUMP文件_dump;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
filename = ofd.FileName;
|
filename = ofd.FileName;
|
||||||
@ -182,9 +183,9 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "写入出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, Resources.写入出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
logAppend("已保存到" + filename + "。");
|
logAppend(Resources.已保存到 + filename + "。");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void block0Edit_Validating(object sender, CancelEventArgs e)
|
private void block0Edit_Validating(object sender, CancelEventArgs e)
|
||||||
@ -232,7 +233,7 @@ namespace MifareOneTool
|
|||||||
|| keyAEdit.BackColor != Color.Aquamarine
|
|| keyAEdit.BackColor != Color.Aquamarine
|
||||||
|| keyBEdit.BackColor != Color.Aquamarine)
|
|| keyBEdit.BackColor != Color.Aquamarine)
|
||||||
{
|
{
|
||||||
MessageBox.Show("当前扇区数据仍有错误,不能执行修改。");
|
MessageBox.Show(Resources.当前扇区数据仍有错误_不能执行修改);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
currentS50.Sectors[currentSector].Block[0] = Utils.Hex2Block(block0Edit.Text.Trim(),16);
|
currentS50.Sectors[currentSector].Block[0] = Utils.Hex2Block(block0Edit.Text.Trim(),16);
|
||||||
@ -257,14 +258,14 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
dataGridView1.Rows[i].Cells[0].Value = currentS50.Sectors[i].Info(i);
|
dataGridView1.Rows[i].Cells[0].Value = currentS50.Sectors[i].Info(i);
|
||||||
}
|
}
|
||||||
logAppend("已更新扇区" + currentSector.ToString());
|
logAppend(Resources.已更新扇区 + currentSector.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void comboBox1_Validating(object sender, CancelEventArgs e)
|
private void comboBox1_Validating(object sender, CancelEventArgs e)
|
||||||
{
|
{
|
||||||
ComboBox tb = ((ComboBox)sender);
|
ComboBox tb = ((ComboBox)sender);
|
||||||
if (tb.SelectedIndex < 0 || tb.Text == "##文件中的值错误##")
|
if (tb.SelectedIndex < 0 || tb.Text == Resources._文件中的值错误)
|
||||||
{
|
{
|
||||||
tb.BackColor = Color.Tomato;
|
tb.BackColor = Color.Tomato;
|
||||||
//e.Cancel = true;
|
//e.Cancel = true;
|
||||||
@ -280,29 +281,29 @@ namespace MifareOneTool
|
|||||||
int[] res = currentS50.Verify();
|
int[] res = currentS50.Verify();
|
||||||
if (res[16] == 0)
|
if (res[16] == 0)
|
||||||
{
|
{
|
||||||
MessageBox.Show("该文件一切正常。");
|
MessageBox.Show(Resources.该文件一切正常);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string msg = "该文件存在以下错误:\n";
|
string msg = Resources.该文件存在以下错误;
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
msg += "扇区" + i.ToString() + ":\n";
|
msg += Resources.扇区 + i.ToString() + ":\n";
|
||||||
if ((res[i] & 0x01) == 0x01)
|
if ((res[i] & 0x01) == 0x01)
|
||||||
{
|
{
|
||||||
msg += "该扇区UID校验值错误,请点击打开扇区0来自动更正。\n";
|
msg += Resources.该扇区UID校验值错误_请点击打开扇区0来自动更正;
|
||||||
}
|
}
|
||||||
if ((res[i] & 0x02) == 0x02)
|
if ((res[i] & 0x02) == 0x02)
|
||||||
{
|
{
|
||||||
msg += "该扇区访问控制位无效,写入将会损坏卡片,请重新设置。\n";
|
msg += Resources.该扇区访问控制位无效_写入将会损坏卡片_请重新设置;
|
||||||
}
|
}
|
||||||
if ((res[i] & 0x04) == 0x04)
|
if ((res[i] & 0x04) == 0x04)
|
||||||
{
|
{
|
||||||
msg += "该扇区访问控制位损坏,写入将会损坏卡片,请重新设置。\n";
|
msg += Resources.该扇区访问控制位损坏_写入将会损坏卡片_请重新设置;
|
||||||
}
|
}
|
||||||
if (res[i] == 0)
|
if (res[i] == 0)
|
||||||
{
|
{
|
||||||
msg += "该扇区一切正常。\n";
|
msg += Resources.该扇区一切正常;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
richTextBox1.Clear();
|
richTextBox1.Clear();
|
||||||
@ -316,11 +317,11 @@ namespace MifareOneTool
|
|||||||
byte[] buid = new byte[4];
|
byte[] buid = new byte[4];
|
||||||
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
|
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
|
||||||
rng.GetNonZeroBytes(buid);
|
rng.GetNonZeroBytes(buid);
|
||||||
string uid = Interaction.InputBox("请输入需要更改的UID卡号,共8位十六进制数,如E44A3BF1。", "请输入UID号", Form1.hex(buid), -1, -1).Trim();
|
string uid = Interaction.InputBox(Resources.请输入需要更改的UID卡号_共8位十六进制数_如E44A3B, Resources.请输入UID号, Form1.hex(buid), -1, -1).Trim();
|
||||||
string pat = "[0-9A-Fa-f]{8}";
|
string pat = "[0-9A-Fa-f]{8}";
|
||||||
if (!Regex.IsMatch(uid, pat))
|
if (!Regex.IsMatch(uid, pat))
|
||||||
{
|
{
|
||||||
MessageBox.Show("输入的UID号不合法", "InputError", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(Resources.输入的UID号不合法, Resources.InputError, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
buid = Utils.Hex2Block(uid, 4);
|
buid = Utils.Hex2Block(uid, 4);
|
||||||
@ -330,7 +331,7 @@ namespace MifareOneTool
|
|||||||
currentS50.Sectors[0].Block[0][2] = buid[2];
|
currentS50.Sectors[0].Block[0][2] = buid[2];
|
||||||
currentS50.Sectors[0].Block[0][3] = buid[3];
|
currentS50.Sectors[0].Block[0][3] = buid[3];
|
||||||
currentS50.Sectors[0].Block[0][4] = bcc;
|
currentS50.Sectors[0].Block[0][4] = bcc;
|
||||||
logAppend("UID已改为" + Form1.hex(buid) + ",计算得到BCC=" + Form1.hex(new byte[]{bcc}));
|
logAppend(Resources.UID已改为 + Form1.hex(buid) + Resources._计算得到BCC + Form1.hex(new byte[]{bcc}));
|
||||||
reloadEdit(0);
|
reloadEdit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,7 +340,7 @@ namespace MifareOneTool
|
|||||||
reloadEdit(-1);
|
reloadEdit(-1);
|
||||||
this.currentS50 = new S50();
|
this.currentS50 = new S50();
|
||||||
reloadList();
|
reloadList();
|
||||||
logAppend("已重置并新建卡。");
|
logAppend(Resources.已重置并新建卡);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 检查并纠正全卡ToolStripMenuItem_Click(object sender, EventArgs e)
|
private void 检查并纠正全卡ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -348,14 +349,14 @@ namespace MifareOneTool
|
|||||||
int[] res = currentS50.Verify();
|
int[] res = currentS50.Verify();
|
||||||
if (res[16] == 0)
|
if (res[16] == 0)
|
||||||
{
|
{
|
||||||
MessageBox.Show("该文件一切正常。");
|
MessageBox.Show(Resources.该文件一切正常);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string msg = "该文件存在以下错误:\n";
|
string msg = Resources.该文件存在以下错误;
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
msg += "扇区" + i.ToString() + ":\n";
|
msg += Resources.扇区 + i.ToString() + ":\n";
|
||||||
if ((res[i] & 0x01) == 0x01)
|
if ((res[i] & 0x01) == 0x01)
|
||||||
{
|
{
|
||||||
currentS50.Sectors[i].Block[0][4]
|
currentS50.Sectors[i].Block[0][4]
|
||||||
@ -364,7 +365,7 @@ namespace MifareOneTool
|
|||||||
^ currentS50.Sectors[i].Block[0][2]
|
^ currentS50.Sectors[i].Block[0][2]
|
||||||
^ currentS50.Sectors[i].Block[0][3]);
|
^ currentS50.Sectors[i].Block[0][3]);
|
||||||
block0Edit.Text = Form1.hex(currentS50.Sectors[i].Block[0]);
|
block0Edit.Text = Form1.hex(currentS50.Sectors[i].Block[0]);
|
||||||
msg += "该扇区UID校验值错误,已自动更正。\n";
|
msg += Resources.该扇区UID校验值错误_已自动更正;
|
||||||
}
|
}
|
||||||
if ((res[i] & 0x02) == 0x02)
|
if ((res[i] & 0x02) == 0x02)
|
||||||
{
|
{
|
||||||
@ -372,7 +373,7 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
currentS50.Sectors[i].Block[3][j] = defaultAC[j - 6];
|
currentS50.Sectors[i].Block[3][j] = defaultAC[j - 6];
|
||||||
}
|
}
|
||||||
msg += "该扇区访问控制位无效,写入将会损坏卡片,已重新设置。\n";
|
msg += Resources.该扇区访问控制位无效_写入将会损坏卡片_已重新设置;
|
||||||
}
|
}
|
||||||
if ((res[i] & 0x04) == 0x04)
|
if ((res[i] & 0x04) == 0x04)
|
||||||
{
|
{
|
||||||
@ -380,11 +381,11 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
currentS50.Sectors[i].Block[3][j] = defaultAC[j - 6];
|
currentS50.Sectors[i].Block[3][j] = defaultAC[j - 6];
|
||||||
}
|
}
|
||||||
msg += "该扇区访问控制位损坏,写入将会损坏卡片,已重新设置。\n";
|
msg += Resources.该扇区访问控制位损坏_写入将会损坏卡片_已重新设置;
|
||||||
}
|
}
|
||||||
if (res[i] == 0)
|
if (res[i] == 0)
|
||||||
{
|
{
|
||||||
msg += "该扇区一切正常。\n";
|
msg += Resources.该扇区一切正常;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
richTextBox1.Clear();
|
richTextBox1.Clear();
|
||||||
@ -398,9 +399,9 @@ namespace MifareOneTool
|
|||||||
SaveFileDialog ofd = new SaveFileDialog();
|
SaveFileDialog ofd = new SaveFileDialog();
|
||||||
ofd.AddExtension = true;
|
ofd.AddExtension = true;
|
||||||
ofd.DefaultExt = ".txt";
|
ofd.DefaultExt = ".txt";
|
||||||
ofd.Title = "请选择MCT.txt文件保存位置及文件名";
|
ofd.Title = Resources.请选择MCT_txt文件保存位置及文件名;
|
||||||
ofd.OverwritePrompt = true;
|
ofd.OverwritePrompt = true;
|
||||||
ofd.Filter = "txt文件|*.txt";
|
ofd.Filter = Resources.txt文件_txt;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
filename = ofd.FileName;
|
filename = ofd.FileName;
|
||||||
@ -415,9 +416,9 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "写入出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, Resources.写入出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
logAppend("已导出MCT文件" + filename + "。");
|
logAppend(Resources.已导出MCT文件 + filename + "。");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 导出密钥字典ToolStripMenuItem_Click(object sender, EventArgs e)
|
private void 导出密钥字典ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -426,9 +427,9 @@ namespace MifareOneTool
|
|||||||
SaveFileDialog ofd = new SaveFileDialog();
|
SaveFileDialog ofd = new SaveFileDialog();
|
||||||
ofd.AddExtension = true;
|
ofd.AddExtension = true;
|
||||||
ofd.DefaultExt = ".dic";
|
ofd.DefaultExt = ".dic";
|
||||||
ofd.Title = "请选择密钥字典文件保存位置及文件名";
|
ofd.Title = Resources.请选择密钥字典文件保存位置及文件名;
|
||||||
ofd.OverwritePrompt = true;
|
ofd.OverwritePrompt = true;
|
||||||
ofd.Filter = "字典文件|*.dic";
|
ofd.Filter = Resources.字典文件_dic;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
filename = ofd.FileName;
|
filename = ofd.FileName;
|
||||||
@ -438,7 +439,7 @@ namespace MifareOneTool
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
File.WriteAllLines(filename, this.currentS50.KeyListStr().ToArray());
|
File.WriteAllLines(filename, this.currentS50.KeyListStr().ToArray());
|
||||||
logAppend("已导出密钥字典文件" + filename + "。");
|
logAppend(Resources.已导出密钥字典文件 + filename + "。");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 导入MCT格式ToolStripMenuItem_Click(object sender, EventArgs e)
|
private void 导入MCT格式ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -446,8 +447,8 @@ namespace MifareOneTool
|
|||||||
reloadEdit(-1);
|
reloadEdit(-1);
|
||||||
OpenFileDialog ofd = new OpenFileDialog();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.CheckFileExists = true;
|
ofd.CheckFileExists = true;
|
||||||
ofd.Filter = "MCT格式|*.*";
|
ofd.Filter = Resources.MCT格式;
|
||||||
ofd.Title = "请选择需要打开的MCT格式文件";
|
ofd.Title = Resources.请选择需要打开的MCT格式文件;
|
||||||
ofd.Multiselect = false;
|
ofd.Multiselect = false;
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@ -464,12 +465,12 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ioe.Message, "打开出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ioe.Message, Resources.打开出错, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
this.currentS50 = new S50();
|
this.currentS50 = new S50();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
reloadList();
|
reloadList();
|
||||||
logAppend("打开了" + ofd.FileName);
|
logAppend(Resources.打开了 + ofd.FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 列出全卡密钥ToolStripMenuItem_Click(object sender, EventArgs e)
|
private void 列出全卡密钥ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
@ -477,7 +478,7 @@ namespace MifareOneTool
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < 16; i++)
|
for (int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
sb.AppendLine("#扇区 " + i.ToString());
|
sb.AppendLine(Resources._扇区 + i.ToString());
|
||||||
sb.AppendLine("[A] " + Utils.Hex2Str(this.currentS50.Sectors[i].KeyA));
|
sb.AppendLine("[A] " + Utils.Hex2Str(this.currentS50.Sectors[i].KeyA));
|
||||||
sb.AppendLine("[B] " + Utils.Hex2Str(this.currentS50.Sectors[i].KeyB));
|
sb.AppendLine("[B] " + Utils.Hex2Str(this.currentS50.Sectors[i].KeyB));
|
||||||
}
|
}
|
||||||
@ -489,5 +490,10 @@ namespace MifareOneTool
|
|||||||
{
|
{
|
||||||
新建ToolStripMenuItem_Click(sender, e);
|
新建ToolStripMenuItem_Click(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void keyAEdit_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
317
MifareOneTool/FormHTool.ru.resx
Normal file
@ -0,0 +1,317 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="buttonSaveSectorEdit.Text" xml:space="preserve">
|
||||||
|
<value>Изменить сектор (Enter)</value>
|
||||||
|
</data>
|
||||||
|
<data name="Column1.HeaderText" xml:space="preserve">
|
||||||
|
<value>Cектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB читать, писать, увеличивать и уменьшать</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items1" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения и амортизации / недоступен для записи и добавляет ценность</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items2" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения / записи, а также для увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB чтение / запись / не сложение и вычитание</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение / KeyB запись / без увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items5" xml:space="preserve">
|
||||||
|
<value>[Только для чтения] KeyB для чтения / не для записи и увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение и ухудшение / KeyB написание и добавленная стоимость</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items7" xml:space="preserve">
|
||||||
|
<value>[только для чтения] заблокировать сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB читать, писать, увеличивать и уменьшать</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items1" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения и амортизации / недоступен для записи и добавляет ценность</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items2" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения / записи, а также для увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB чтение / запись / не сложение и вычитание</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение / KeyB запись / без увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items5" xml:space="preserve">
|
||||||
|
<value>[Только для чтения] KeyB для чтения / не для записи и увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение и ухудшение / KeyB написание и добавленная стоимость</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items7" xml:space="preserve">
|
||||||
|
<value>[только для чтения] заблокировать сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB читать, писать, увеличивать и уменьшать</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items1" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения и амортизации / недоступен для записи и добавляет ценность</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items2" xml:space="preserve">
|
||||||
|
<value>[только для чтения] KeyAB для чтения / записи, а также для увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB чтение / запись / не сложение и вычитание</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение / KeyB запись / без увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items5" xml:space="preserve">
|
||||||
|
<value>[Только для чтения] KeyB для чтения / не для записи и увеличения или уменьшения</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB чтение и ухудшение / KeyB написание и добавленная стоимость</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items7" xml:space="preserve">
|
||||||
|
<value>[только для чтения] заблокировать сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items" xml:space="preserve">
|
||||||
|
<value>[Необратимый] KeyA: запись / AC: только чтение / KeyB: чтение и запись</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items1" xml:space="preserve">
|
||||||
|
<value>KeyA: запись / AC: чтение / запись / KeyB: чтение и запись</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items2" xml:space="preserve">
|
||||||
|
<value>[Необратимый] KeyA: невозможно чтение / запись / AC: только для чтения / KeyB: чтение</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items3" xml:space="preserve">
|
||||||
|
<value>KeyA: B запись / AC: A только для чтения B чтение / запись / KeyB: B запись</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items4" xml:space="preserve">
|
||||||
|
<value>[необратимый] KeyA: запись B / AC: только чтение AB / KeyB: запись B</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items5" xml:space="preserve">
|
||||||
|
<value>KeyA: невозможно чтение / запись / AC: A только для чтения B чтение / запись / KeyB: невозможно чтение или запись</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items6" xml:space="preserve">
|
||||||
|
<value>[Необратимый] KeyA: невозможно чтение / запись / AC: AB только для чтения / KeyB: невозможно чтение или запись</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items7" xml:space="preserve">
|
||||||
|
<value>[Необратимый] KeyA: невозможно чтение / запись / AC: AB только для чтения / KeyB: невозможно чтение или запись (повторяется?)</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>Редактор дампа (бета)</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>Список секторов</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>Информация о секторе</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Text" xml:space="preserve">
|
||||||
|
<value>Просмотр</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>Блок 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>Блок 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>Блок 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>Ключ A</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Text" xml:space="preserve">
|
||||||
|
<value>Ключ B</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Text" xml:space="preserve">
|
||||||
|
<value>Условия доступа блока 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label7.Text" xml:space="preserve">
|
||||||
|
<value>Условия доступа блока 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label8.Text" xml:space="preserve">
|
||||||
|
<value>Условия доступа блока 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label9.Text" xml:space="preserve">
|
||||||
|
<value>Ключ / ACbits разрешение</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelCurSec.Text" xml:space="preserve">
|
||||||
|
<value>Текущий выбранный сектор: ?</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>Добро пожаловать в интегрированный редактор M1T S50HTool!</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[1]" xml:space="preserve">
|
||||||
|
<value>Откройте файл, пожалуйста, нажмите на файл в верхнем левом углу - открыть или Ctrl + O</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Text" xml:space="preserve">
|
||||||
|
<value>Добро пожаловать в интегрированный редактор дампа!
|
||||||
|
Чтобы открыть файл, пожалуйста, нажмите на Файл в верхнем левом углу - Открыть или Ctrl + O
|
||||||
|
Вы можете обновить данные вашей карты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="保存ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Сохранить</value>
|
||||||
|
</data>
|
||||||
|
<data name="修改UIDToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Изменить UID</value>
|
||||||
|
</data>
|
||||||
|
<data name="列出全卡密钥ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Перечислите полный ключ карты</value>
|
||||||
|
</data>
|
||||||
|
<data name="另存为ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Сохранить как</value>
|
||||||
|
</data>
|
||||||
|
<data name="导入MCT格式ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Импортировать формат MCT</value>
|
||||||
|
</data>
|
||||||
|
<data name="导出为MCT格式ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Экспорт в формат MCT</value>
|
||||||
|
</data>
|
||||||
|
<data name="导出密钥字典ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Словарь ключей экспорта</value>
|
||||||
|
</data>
|
||||||
|
<data name="工具ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Инструменты</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Открыть</value>
|
||||||
|
</data>
|
||||||
|
<data name="文件ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Файл</value>
|
||||||
|
</data>
|
||||||
|
<data name="新建ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Создать</value>
|
||||||
|
</data>
|
||||||
|
<data name="检查全卡ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Проверка полной карты</value>
|
||||||
|
</data>
|
||||||
|
<data name="检查并纠正全卡ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Проверка и исправление полной карты</value>
|
||||||
|
</data>
|
||||||
|
<data name="退出ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>Выход</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
320
MifareOneTool/FormHTool.zh.resx
Normal file
@ -0,0 +1,320 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="buttonSaveSectorEdit.Text" xml:space="preserve">
|
||||||
|
<value>修改扇区(Enter)</value>
|
||||||
|
</data>
|
||||||
|
<data name="Column1.HeaderText" xml:space="preserve">
|
||||||
|
<value>扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB读写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items1" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读及减值/不可写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items2" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB读写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB读/KeyB写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items5" xml:space="preserve">
|
||||||
|
<value>[只读]KeyB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB读及减值/KeyB写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox1.Items7" xml:space="preserve">
|
||||||
|
<value>[只读]锁死该扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB读写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items1" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读及减值/不可写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items2" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB读写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB读/KeyB写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items5" xml:space="preserve">
|
||||||
|
<value>[只读]KeyB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB读及减值/KeyB写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox2.Items7" xml:space="preserve">
|
||||||
|
<value>[只读]锁死该扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items" xml:space="preserve">
|
||||||
|
<value>KeyAB读写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items1" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读及减值/不可写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items2" xml:space="preserve">
|
||||||
|
<value>[只读]KeyAB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items3" xml:space="preserve">
|
||||||
|
<value>KeyB读写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items4" xml:space="preserve">
|
||||||
|
<value>KeyAB读/KeyB写/不可增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items5" xml:space="preserve">
|
||||||
|
<value>[只读]KeyB读/不可写及增减值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items6" xml:space="preserve">
|
||||||
|
<value>KeyAB读及减值/KeyB写及增值</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox3.Items7" xml:space="preserve">
|
||||||
|
<value>[只读]锁死该扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items" xml:space="preserve">
|
||||||
|
<value>[不可逆]KeyA:A写/AC:A只读/KeyB:A读写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items1" xml:space="preserve">
|
||||||
|
<value>KeyA:A写/AC:A读写/KeyB:A读写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items2" xml:space="preserve">
|
||||||
|
<value>[不可逆]KeyA:不能读写/AC:A只读/KeyB:A读</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items3" xml:space="preserve">
|
||||||
|
<value>KeyA:B写/AC:A只读B读写/KeyB:B写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items4" xml:space="preserve">
|
||||||
|
<value>[不可逆]KeyA:B写/AC:AB只读/KeyB:B写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items5" xml:space="preserve">
|
||||||
|
<value>KeyA:不能读写/AC:A只读B读写/KeyB:不能读写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items6" xml:space="preserve">
|
||||||
|
<value>[不可逆]KeyA:不能读写/AC:AB只读/KeyB:不能读写</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBox4.Items7" xml:space="preserve">
|
||||||
|
<value>[不可逆]KeyA:不能读写/AC:AB只读/KeyB:不能读写(重复了?)</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>S50HTool-beta</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>扇区列表</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>扇区信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Text" xml:space="preserve">
|
||||||
|
<value>输出</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>第0块</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>第1块</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>第2块</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>KeyA</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Text" xml:space="preserve">
|
||||||
|
<value>KeyB</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Text" xml:space="preserve">
|
||||||
|
<value>0块权限</value>
|
||||||
|
</data>
|
||||||
|
<data name="label7.Text" xml:space="preserve">
|
||||||
|
<value>1块权限</value>
|
||||||
|
</data>
|
||||||
|
<data name="label8.Text" xml:space="preserve">
|
||||||
|
<value>2块权限</value>
|
||||||
|
</data>
|
||||||
|
<data name="label9.Text" xml:space="preserve">
|
||||||
|
<value>Key/ACbits权限</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelCurSec.Text" xml:space="preserve">
|
||||||
|
<value>当前选定扇区:??</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuStrip1.Text" xml:space="preserve">
|
||||||
|
<value>menuStrip1</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T的集成编辑器S50HTool!</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Lines[1]" xml:space="preserve">
|
||||||
|
<value>打开文件请点左上角文件-打开或Ctrl+O</value>
|
||||||
|
</data>
|
||||||
|
<data name="richTextBox1.Text" xml:space="preserve">
|
||||||
|
<value>欢迎使用M1T的集成编辑器S50HTool!
|
||||||
|
打开文件请点左上角文件-打开或Ctrl+O
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="保存ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>保存</value>
|
||||||
|
</data>
|
||||||
|
<data name="修改UIDToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>修改UID</value>
|
||||||
|
</data>
|
||||||
|
<data name="列出全卡密钥ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>列出全卡密钥</value>
|
||||||
|
</data>
|
||||||
|
<data name="另存为ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>另存为</value>
|
||||||
|
</data>
|
||||||
|
<data name="导入MCT格式ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>导入MCT格式</value>
|
||||||
|
</data>
|
||||||
|
<data name="导出为MCT格式ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>导出为MCT格式</value>
|
||||||
|
</data>
|
||||||
|
<data name="导出密钥字典ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>导出密钥字典</value>
|
||||||
|
</data>
|
||||||
|
<data name="工具ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>工具</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>打开</value>
|
||||||
|
</data>
|
||||||
|
<data name="文件ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="新建ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>新建</value>
|
||||||
|
</data>
|
||||||
|
<data name="检查全卡ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>检查全卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="检查并纠正全卡ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>检查并纠正全卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="退出ToolStripMenuItem.Text" xml:space="preserve">
|
||||||
|
<value>退出</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
218
MifareOneTool/FormHardNes.Designer.cs
generated
@ -28,6 +28,7 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormHardNes));
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
this.button2 = new System.Windows.Forms.Button();
|
this.button2 = new System.Windows.Forms.Button();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
@ -46,230 +47,210 @@
|
|||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
this.checkBoxColOnly = new System.Windows.Forms.CheckBox();
|
this.checkBoxColOnly = new System.Windows.Forms.CheckBox();
|
||||||
this.sector2 = new System.Windows.Forms.TextBox();
|
this.sector2 = new System.Windows.Forms.TextBox();
|
||||||
this.checkBoxCollectAll = new System.Windows.Forms.CheckBox();
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.tableLayoutPanel2.SuspendLayout();
|
||||||
|
this.tableLayoutPanel3.SuspendLayout();
|
||||||
|
this.tableLayoutPanel4.SuspendLayout();
|
||||||
|
this.tableLayoutPanel5.SuspendLayout();
|
||||||
|
this.flowLayoutPanel1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// button1
|
// button1
|
||||||
//
|
//
|
||||||
this.button1.Location = new System.Drawing.Point(308, 187);
|
resources.ApplyResources(this.button1, "button1");
|
||||||
this.button1.Name = "button1";
|
this.button1.Name = "button1";
|
||||||
this.button1.Size = new System.Drawing.Size(75, 25);
|
|
||||||
this.button1.TabIndex = 0;
|
|
||||||
this.button1.Text = "执行!";
|
|
||||||
this.button1.UseVisualStyleBackColor = true;
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
//
|
//
|
||||||
// button2
|
// button2
|
||||||
//
|
//
|
||||||
|
resources.ApplyResources(this.button2, "button2");
|
||||||
this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.button2.Location = new System.Drawing.Point(227, 187);
|
|
||||||
this.button2.Name = "button2";
|
this.button2.Name = "button2";
|
||||||
this.button2.Size = new System.Drawing.Size(75, 25);
|
|
||||||
this.button2.TabIndex = 1;
|
|
||||||
this.button2.Text = "取消";
|
|
||||||
this.button2.UseVisualStyleBackColor = true;
|
this.button2.UseVisualStyleBackColor = true;
|
||||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
this.groupBox1.Controls.Add(this.radioKey1B);
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Controls.Add(this.radioKey1A);
|
this.groupBox1.Controls.Add(this.tableLayoutPanel1);
|
||||||
this.groupBox1.Controls.Add(this.label4);
|
|
||||||
this.groupBox1.Controls.Add(this.label3);
|
|
||||||
this.groupBox1.Controls.Add(this.sector1);
|
|
||||||
this.groupBox1.Controls.Add(this.keyEdit);
|
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
|
||||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.Size = new System.Drawing.Size(371, 81);
|
|
||||||
this.groupBox1.TabIndex = 2;
|
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
this.groupBox1.Text = "目标卡信息";
|
|
||||||
//
|
//
|
||||||
// radioKey1B
|
// radioKey1B
|
||||||
//
|
//
|
||||||
this.radioKey1B.AutoSize = true;
|
resources.ApplyResources(this.radioKey1B, "radioKey1B");
|
||||||
this.radioKey1B.Location = new System.Drawing.Point(259, 40);
|
|
||||||
this.radioKey1B.Name = "radioKey1B";
|
this.radioKey1B.Name = "radioKey1B";
|
||||||
this.radioKey1B.Size = new System.Drawing.Size(60, 19);
|
|
||||||
this.radioKey1B.TabIndex = 15;
|
|
||||||
this.radioKey1B.Text = "KeyB";
|
|
||||||
this.radioKey1B.UseVisualStyleBackColor = true;
|
this.radioKey1B.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// radioKey1A
|
// radioKey1A
|
||||||
//
|
//
|
||||||
this.radioKey1A.AutoSize = true;
|
resources.ApplyResources(this.radioKey1A, "radioKey1A");
|
||||||
this.radioKey1A.Checked = true;
|
this.radioKey1A.Checked = true;
|
||||||
this.radioKey1A.Location = new System.Drawing.Point(193, 40);
|
|
||||||
this.radioKey1A.Name = "radioKey1A";
|
this.radioKey1A.Name = "radioKey1A";
|
||||||
this.radioKey1A.Size = new System.Drawing.Size(60, 19);
|
|
||||||
this.radioKey1A.TabIndex = 14;
|
|
||||||
this.radioKey1A.TabStop = true;
|
this.radioKey1A.TabStop = true;
|
||||||
this.radioKey1A.Text = "KeyA";
|
|
||||||
this.radioKey1A.UseVisualStyleBackColor = true;
|
this.radioKey1A.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// label4
|
// label4
|
||||||
//
|
//
|
||||||
this.label4.AutoSize = true;
|
resources.ApplyResources(this.label4, "label4");
|
||||||
this.label4.Location = new System.Drawing.Point(190, 21);
|
|
||||||
this.label4.Name = "label4";
|
this.label4.Name = "label4";
|
||||||
this.label4.Size = new System.Drawing.Size(37, 15);
|
|
||||||
this.label4.TabIndex = 13;
|
|
||||||
this.label4.Text = "类型";
|
|
||||||
//
|
//
|
||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
resources.ApplyResources(this.label3, "label3");
|
||||||
this.label3.Location = new System.Drawing.Point(132, 21);
|
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(52, 15);
|
|
||||||
this.label3.TabIndex = 12;
|
|
||||||
this.label3.Text = "扇区号";
|
|
||||||
//
|
//
|
||||||
// sector1
|
// sector1
|
||||||
//
|
//
|
||||||
this.sector1.Location = new System.Drawing.Point(135, 39);
|
resources.ApplyResources(this.sector1, "sector1");
|
||||||
this.sector1.Name = "sector1";
|
this.sector1.Name = "sector1";
|
||||||
this.sector1.Size = new System.Drawing.Size(46, 25);
|
|
||||||
this.sector1.TabIndex = 11;
|
|
||||||
this.sector1.Text = "0";
|
|
||||||
//
|
//
|
||||||
// keyEdit
|
// keyEdit
|
||||||
//
|
//
|
||||||
this.keyEdit.Location = new System.Drawing.Point(9, 39);
|
resources.ApplyResources(this.keyEdit, "keyEdit");
|
||||||
this.keyEdit.Name = "keyEdit";
|
this.keyEdit.Name = "keyEdit";
|
||||||
this.keyEdit.Size = new System.Drawing.Size(120, 25);
|
|
||||||
this.keyEdit.TabIndex = 10;
|
|
||||||
this.keyEdit.Text = "ffffffffffff";
|
|
||||||
//
|
//
|
||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
this.label2.AutoSize = true;
|
resources.ApplyResources(this.label2, "label2");
|
||||||
this.label2.Location = new System.Drawing.Point(6, 21);
|
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(76, 15);
|
|
||||||
this.label2.TabIndex = 0;
|
|
||||||
this.label2.Text = "已知的Key";
|
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
resources.ApplyResources(this.label1, "label1");
|
||||||
this.label1.ForeColor = System.Drawing.Color.Blue;
|
this.label1.ForeColor = System.Drawing.Color.Blue;
|
||||||
this.label1.Location = new System.Drawing.Point(12, 192);
|
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(202, 15);
|
|
||||||
this.label1.TabIndex = 3;
|
|
||||||
this.label1.Text = "解密时请保证设备良好散热!";
|
|
||||||
//
|
//
|
||||||
// radioKey2B
|
// radioKey2B
|
||||||
//
|
//
|
||||||
this.radioKey2B.AutoSize = true;
|
resources.ApplyResources(this.radioKey2B, "radioKey2B");
|
||||||
this.radioKey2B.Location = new System.Drawing.Point(259, 40);
|
|
||||||
this.radioKey2B.Name = "radioKey2B";
|
this.radioKey2B.Name = "radioKey2B";
|
||||||
this.radioKey2B.Size = new System.Drawing.Size(60, 19);
|
|
||||||
this.radioKey2B.TabIndex = 15;
|
|
||||||
this.radioKey2B.Text = "KeyB";
|
|
||||||
this.radioKey2B.UseVisualStyleBackColor = true;
|
this.radioKey2B.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// radioKey2A
|
// radioKey2A
|
||||||
//
|
//
|
||||||
this.radioKey2A.AutoSize = true;
|
resources.ApplyResources(this.radioKey2A, "radioKey2A");
|
||||||
this.radioKey2A.Checked = true;
|
this.radioKey2A.Checked = true;
|
||||||
this.radioKey2A.Location = new System.Drawing.Point(193, 40);
|
|
||||||
this.radioKey2A.Name = "radioKey2A";
|
this.radioKey2A.Name = "radioKey2A";
|
||||||
this.radioKey2A.Size = new System.Drawing.Size(60, 19);
|
|
||||||
this.radioKey2A.TabIndex = 14;
|
|
||||||
this.radioKey2A.TabStop = true;
|
this.radioKey2A.TabStop = true;
|
||||||
this.radioKey2A.Text = "KeyA";
|
|
||||||
this.radioKey2A.UseVisualStyleBackColor = true;
|
this.radioKey2A.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// label5
|
// label5
|
||||||
//
|
//
|
||||||
this.label5.AutoSize = true;
|
resources.ApplyResources(this.label5, "label5");
|
||||||
this.label5.Location = new System.Drawing.Point(190, 21);
|
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
this.label5.Size = new System.Drawing.Size(37, 15);
|
|
||||||
this.label5.TabIndex = 13;
|
|
||||||
this.label5.Text = "类型";
|
|
||||||
//
|
//
|
||||||
// label6
|
// label6
|
||||||
//
|
//
|
||||||
this.label6.AutoSize = true;
|
resources.ApplyResources(this.label6, "label6");
|
||||||
this.label6.Location = new System.Drawing.Point(132, 21);
|
|
||||||
this.label6.Name = "label6";
|
this.label6.Name = "label6";
|
||||||
this.label6.Size = new System.Drawing.Size(52, 15);
|
|
||||||
this.label6.TabIndex = 12;
|
|
||||||
this.label6.Text = "扇区号";
|
|
||||||
//
|
//
|
||||||
// groupBox2
|
// groupBox2
|
||||||
//
|
//
|
||||||
this.groupBox2.Controls.Add(this.checkBoxCollectAll);
|
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||||
this.groupBox2.Controls.Add(this.checkBoxColOnly);
|
this.groupBox2.Controls.Add(this.tableLayoutPanel4);
|
||||||
this.groupBox2.Controls.Add(this.radioKey2B);
|
|
||||||
this.groupBox2.Controls.Add(this.radioKey2A);
|
|
||||||
this.groupBox2.Controls.Add(this.label5);
|
|
||||||
this.groupBox2.Controls.Add(this.label6);
|
|
||||||
this.groupBox2.Controls.Add(this.sector2);
|
|
||||||
this.groupBox2.Location = new System.Drawing.Point(12, 99);
|
|
||||||
this.groupBox2.Name = "groupBox2";
|
this.groupBox2.Name = "groupBox2";
|
||||||
this.groupBox2.Size = new System.Drawing.Size(371, 81);
|
|
||||||
this.groupBox2.TabIndex = 16;
|
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
this.groupBox2.Text = "解密设置";
|
|
||||||
//
|
//
|
||||||
// checkBoxColOnly
|
// checkBoxColOnly
|
||||||
//
|
//
|
||||||
this.checkBoxColOnly.AutoSize = true;
|
resources.ApplyResources(this.checkBoxColOnly, "checkBoxColOnly");
|
||||||
this.checkBoxColOnly.Location = new System.Drawing.Point(7, 24);
|
|
||||||
this.checkBoxColOnly.Name = "checkBoxColOnly";
|
this.checkBoxColOnly.Name = "checkBoxColOnly";
|
||||||
this.checkBoxColOnly.Size = new System.Drawing.Size(119, 19);
|
|
||||||
this.checkBoxColOnly.TabIndex = 17;
|
|
||||||
this.checkBoxColOnly.Text = "只采集不计算";
|
|
||||||
this.checkBoxColOnly.UseVisualStyleBackColor = true;
|
this.checkBoxColOnly.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// sector2
|
// sector2
|
||||||
//
|
//
|
||||||
this.sector2.Location = new System.Drawing.Point(135, 39);
|
resources.ApplyResources(this.sector2, "sector2");
|
||||||
this.sector2.Name = "sector2";
|
this.sector2.Name = "sector2";
|
||||||
this.sector2.Size = new System.Drawing.Size(46, 25);
|
|
||||||
this.sector2.TabIndex = 11;
|
|
||||||
//
|
//
|
||||||
// checkBoxCollectAll
|
// tableLayoutPanel1
|
||||||
//
|
//
|
||||||
this.checkBoxCollectAll.AutoSize = true;
|
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||||
this.checkBoxCollectAll.Location = new System.Drawing.Point(7, 49);
|
this.tableLayoutPanel1.Controls.Add(this.radioKey1B, 3, 1);
|
||||||
this.checkBoxCollectAll.Name = "checkBoxCollectAll";
|
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0);
|
||||||
this.checkBoxCollectAll.Size = new System.Drawing.Size(89, 19);
|
this.tableLayoutPanel1.Controls.Add(this.radioKey1A, 2, 1);
|
||||||
this.checkBoxCollectAll.TabIndex = 18;
|
this.tableLayoutPanel1.Controls.Add(this.keyEdit, 0, 1);
|
||||||
this.checkBoxCollectAll.Text = "全卡采集";
|
this.tableLayoutPanel1.Controls.Add(this.label4, 2, 0);
|
||||||
this.checkBoxCollectAll.UseVisualStyleBackColor = true;
|
this.tableLayoutPanel1.Controls.Add(this.label3, 1, 0);
|
||||||
this.checkBoxCollectAll.Visible = false;
|
this.tableLayoutPanel1.Controls.Add(this.sector1, 1, 1);
|
||||||
this.checkBoxCollectAll.CheckedChanged += new System.EventHandler(this.checkBoxCollectAll_CheckedChanged);
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.radioKey2B, 3, 1);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.radioKey2A, 2, 1);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.label6, 1, 0);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.label5, 2, 0);
|
||||||
|
this.tableLayoutPanel2.Controls.Add(this.sector2, 1, 1);
|
||||||
|
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel3
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel3, "tableLayoutPanel3");
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.groupBox1, 0, 0);
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.flowLayoutPanel1, 0, 2);
|
||||||
|
this.tableLayoutPanel3.Controls.Add(this.groupBox2, 0, 1);
|
||||||
|
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel4
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel4, "tableLayoutPanel4");
|
||||||
|
this.tableLayoutPanel4.Controls.Add(this.tableLayoutPanel2, 1, 0);
|
||||||
|
this.tableLayoutPanel4.Controls.Add(this.checkBoxColOnly, 0, 0);
|
||||||
|
this.tableLayoutPanel4.Name = "tableLayoutPanel4";
|
||||||
|
//
|
||||||
|
// tableLayoutPanel5
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel5, "tableLayoutPanel5");
|
||||||
|
this.tableLayoutPanel5.Controls.Add(this.button2, 0, 0);
|
||||||
|
this.tableLayoutPanel5.Controls.Add(this.button1, 1, 0);
|
||||||
|
this.tableLayoutPanel5.Name = "tableLayoutPanel5";
|
||||||
|
//
|
||||||
|
// flowLayoutPanel1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.label1);
|
||||||
|
this.flowLayoutPanel1.Controls.Add(this.tableLayoutPanel5);
|
||||||
|
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||||
//
|
//
|
||||||
// FormHardNes
|
// FormHardNes
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.button1;
|
this.AcceptButton = this.button1;
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.button2;
|
this.CancelButton = this.button2;
|
||||||
this.ClientSize = new System.Drawing.Size(395, 224);
|
|
||||||
this.ControlBox = false;
|
this.ControlBox = false;
|
||||||
this.Controls.Add(this.groupBox2);
|
this.Controls.Add(this.tableLayoutPanel3);
|
||||||
this.Controls.Add(this.label1);
|
|
||||||
this.Controls.Add(this.groupBox1);
|
|
||||||
this.Controls.Add(this.button2);
|
|
||||||
this.Controls.Add(this.button1);
|
|
||||||
this.KeyPreview = true;
|
this.KeyPreview = true;
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.MinimizeBox = false;
|
this.MinimizeBox = false;
|
||||||
this.Name = "FormHardNes";
|
this.Name = "FormHardNes";
|
||||||
this.Text = "初始化HardNested解密";
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
this.groupBox1.ResumeLayout(false);
|
||||||
this.groupBox1.PerformLayout();
|
this.groupBox1.PerformLayout();
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
this.groupBox2.PerformLayout();
|
this.groupBox2.PerformLayout();
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel1.PerformLayout();
|
||||||
|
this.tableLayoutPanel2.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel2.PerformLayout();
|
||||||
|
this.tableLayoutPanel3.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel3.PerformLayout();
|
||||||
|
this.tableLayoutPanel4.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel4.PerformLayout();
|
||||||
|
this.tableLayoutPanel5.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel5.PerformLayout();
|
||||||
|
this.flowLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel1.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -295,6 +276,11 @@
|
|||||||
private System.Windows.Forms.TextBox sector2;
|
private System.Windows.Forms.TextBox sector2;
|
||||||
private System.Windows.Forms.TextBox sector1;
|
private System.Windows.Forms.TextBox sector1;
|
||||||
private System.Windows.Forms.CheckBox checkBoxColOnly;
|
private System.Windows.Forms.CheckBox checkBoxColOnly;
|
||||||
private System.Windows.Forms.CheckBox checkBoxCollectAll;
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
@ -115,31 +116,11 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
MessageBox.Show("设置错误,请修改。");
|
MessageBox.Show(Resources.设置错误_请修改);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.DialogResult = DialogResult.Yes;
|
this.DialogResult = DialogResult.Yes;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkBoxCollectAll_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (checkBoxCollectAll.Checked)
|
|
||||||
{
|
|
||||||
checkBoxColOnly.Checked = true;
|
|
||||||
checkBoxColOnly.Enabled = false;
|
|
||||||
sector2.Enabled = false;
|
|
||||||
radioKey2A.Enabled = false;
|
|
||||||
radioKey2B.Enabled = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
checkBoxColOnly.Checked = false;
|
|
||||||
checkBoxColOnly.Enabled = true;
|
|
||||||
sector2.Enabled = true;
|
|
||||||
radioKey2A.Enabled = true;
|
|
||||||
radioKey2B.Enabled = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,4 +117,805 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>执行!</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>取消</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Text" xml:space="preserve">
|
||||||
|
<value>只采集不计算</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>初始化HardNested解密</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>目标卡-已知信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>目标扇区解密设置</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Lines[0]" xml:space="preserve">
|
||||||
|
<value>ffffffffffff</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Text" xml:space="preserve">
|
||||||
|
<value>ffffffffffff</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>连续工作时请注意设备散热!</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>已知的Key</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>扇区号</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>类型</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Text" xml:space="preserve">
|
||||||
|
<value>类型</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Text" xml:space="preserve">
|
||||||
|
<value>扇区号</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.Text" xml:space="preserve">
|
||||||
|
<value>KeyA</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.Text" xml:space="preserve">
|
||||||
|
<value>KeyB</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.Text" xml:space="preserve">
|
||||||
|
<value>KeyA</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.Text" xml:space="preserve">
|
||||||
|
<value>KeyB</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Text" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="button1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="button1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>64, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>55, 30</value>
|
||||||
|
</data>
|
||||||
|
<data name="button1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Name" xml:space="preserve">
|
||||||
|
<value>button1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button1.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>55, 30</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Name" xml:space="preserve">
|
||||||
|
<value>button2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>button2.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="radioKey1B" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="label2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="radioKey1A" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="keyEdit" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label4" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="label3" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="sector1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>438, 77</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>283, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>15</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1B.Name" xml:space="preserve">
|
||||||
|
<value>radioKey1B</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1B.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1B.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1B.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>206, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>14</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1A.Name" xml:space="preserve">
|
||||||
|
<value>radioKey1A</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1A.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1A.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey1A.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>206, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.Name" xml:space="preserve">
|
||||||
|
<value>label4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label4.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>143, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>57, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Name" xml:space="preserve">
|
||||||
|
<value>label3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>143, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>57, 26</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector1.Name" xml:space="preserve">
|
||||||
|
<value>sector1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector1.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector1.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>134, 26</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyEdit.Name" xml:space="preserve">
|
||||||
|
<value>keyEdit</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyEdit.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyEdit.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyEdit.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>134, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Name" xml:space="preserve">
|
||||||
|
<value>label2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>217, 42</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Name" xml:space="preserve">
|
||||||
|
<value>label1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>143, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>15</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2B.Name" xml:space="preserve">
|
||||||
|
<value>radioKey2B</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2B.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2B.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2B.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>66, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>14</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2A.Name" xml:space="preserve">
|
||||||
|
<value>radioKey2A</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2A.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2A.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioKey2A.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>66, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>71, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label5.Name" xml:space="preserve">
|
||||||
|
<value>label5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label5.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label5.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label5.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>57, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label6.Name" xml:space="preserve">
|
||||||
|
<value>label6</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label6.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label6.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label6.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel4.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel4.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel4.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel4.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxColOnly" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0" /><Rows Styles="AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 86</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>438, 83</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>16</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Name" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>131, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>17</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>checkBoxColOnly.Name" xml:space="preserve">
|
||||||
|
<value>checkBoxColOnly</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>checkBoxColOnly.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>checkBoxColOnly.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>checkBoxColOnly.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>57, 26</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector2.Name" xml:space="preserve">
|
||||||
|
<value>sector2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector2.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>sector2.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>432, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>17</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>140, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>289, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>17</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel2.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel2.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel2.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="radioKey2B" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="radioKey2A" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="label6" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label5" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="sector2" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>226, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>122, 36</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel5.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel5.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel5.Parent" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel5.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel5.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="button2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="button1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 175</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>438, 120</value>
|
||||||
|
</data>
|
||||||
|
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>17</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||||
|
<value>flowLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>444, 298</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>18</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel3.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel3.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel3.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel3.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel3.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="groupBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="groupBox2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>432, 58</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel4.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>18</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>9, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||||
|
<value>GrowAndShrink</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>444, 298</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>FormHardNes</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
176
MifareOneTool/FormHardNes.ru.resx
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>Начать!</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>Отмена</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Text" xml:space="preserve">
|
||||||
|
<value>Только сбор
|
||||||
|
не засчитывается</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>Расшифровка HardNested</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>Известная информция о карте</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>Настройка расшифровки сектора</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Lines[0]" xml:space="preserve">
|
||||||
|
<value>FFFFFFFFFFFF</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Text" xml:space="preserve">
|
||||||
|
<value>FFFFFFFFFFFF</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>Обратите внимание на устройство
|
||||||
|
при непрерывной работе!</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>Известный ключ</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>Номер сектора</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>Тип ключа</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Text" xml:space="preserve">
|
||||||
|
<value>Тип ключа</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Text" xml:space="preserve">
|
||||||
|
<value>Номер сектора</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.Text" xml:space="preserve">
|
||||||
|
<value>Ключ A</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.Text" xml:space="preserve">
|
||||||
|
<value>Ключ B</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.Text" xml:space="preserve">
|
||||||
|
<value>Ключ A</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.Text" xml:space="preserve">
|
||||||
|
<value>Ключ B</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
180
MifareOneTool/FormHardNes.zh.resx
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="button1.Text" xml:space="preserve">
|
||||||
|
<value>执行!</value>
|
||||||
|
</data>
|
||||||
|
<data name="button2.Text" xml:space="preserve">
|
||||||
|
<value>取消</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxColOnly.Text" xml:space="preserve">
|
||||||
|
<value>只采集不计算</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>初始化HardNested解密</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>目标卡-已知信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>目标扇区解密设置</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Lines[0]" xml:space="preserve">
|
||||||
|
<value>ffffffffffff</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyEdit.Text" xml:space="preserve">
|
||||||
|
<value>ffffffffffff</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>连续工作时请注意设备散热!</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>已知的Key</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>扇区号</value>
|
||||||
|
</data>
|
||||||
|
<data name="label4.Text" xml:space="preserve">
|
||||||
|
<value>类型</value>
|
||||||
|
</data>
|
||||||
|
<data name="label5.Text" xml:space="preserve">
|
||||||
|
<value>类型</value>
|
||||||
|
</data>
|
||||||
|
<data name="label6.Text" xml:space="preserve">
|
||||||
|
<value>扇区号</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1A.Text" xml:space="preserve">
|
||||||
|
<value>KeyA</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey1B.Text" xml:space="preserve">
|
||||||
|
<value>KeyB</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2A.Text" xml:space="preserve">
|
||||||
|
<value>KeyA</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioKey2B.Text" xml:space="preserve">
|
||||||
|
<value>KeyB</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Lines[0]" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="sector1.Text" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
160
MifareOneTool/FormMFF08.Designer.cs
generated
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
namespace MifareOneTool
|
||||||
|
{
|
||||||
|
partial class FormMFF08
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMFF08));
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.buttonClr = new System.Windows.Forms.Button();
|
||||||
|
this.buttonLoadKey = new System.Windows.Forms.Button();
|
||||||
|
this.keyfileBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.buttonKeyWrite = new System.Windows.Forms.Button();
|
||||||
|
this.buttonWriteEmpty = new System.Windows.Forms.Button();
|
||||||
|
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.logBox = new System.Windows.Forms.RichTextBox();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
|
this.groupBox2.SuspendLayout();
|
||||||
|
this.groupBox3.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
this.groupBox1.Controls.Add(this.label1);
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label1, "label1");
|
||||||
|
this.label1.ForeColor = System.Drawing.Color.Blue;
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
//
|
||||||
|
// groupBox2
|
||||||
|
//
|
||||||
|
this.groupBox2.Controls.Add(this.buttonClr);
|
||||||
|
this.groupBox2.Controls.Add(this.buttonLoadKey);
|
||||||
|
this.groupBox2.Controls.Add(this.keyfileBox);
|
||||||
|
this.groupBox2.Controls.Add(this.label2);
|
||||||
|
this.groupBox2.Controls.Add(this.buttonKeyWrite);
|
||||||
|
this.groupBox2.Controls.Add(this.buttonWriteEmpty);
|
||||||
|
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||||
|
this.groupBox2.Name = "groupBox2";
|
||||||
|
this.groupBox2.TabStop = false;
|
||||||
|
//
|
||||||
|
// buttonClr
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonClr, "buttonClr");
|
||||||
|
this.buttonClr.Name = "buttonClr";
|
||||||
|
this.buttonClr.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonClr.Click += new System.EventHandler(this.buttonClr_Click);
|
||||||
|
//
|
||||||
|
// buttonLoadKey
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonLoadKey, "buttonLoadKey");
|
||||||
|
this.buttonLoadKey.Name = "buttonLoadKey";
|
||||||
|
this.buttonLoadKey.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonLoadKey.Click += new System.EventHandler(this.buttonLoadKey_Click);
|
||||||
|
//
|
||||||
|
// keyfileBox
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.keyfileBox, "keyfileBox");
|
||||||
|
this.keyfileBox.Name = "keyfileBox";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label2, "label2");
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
//
|
||||||
|
// buttonKeyWrite
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonKeyWrite, "buttonKeyWrite");
|
||||||
|
this.buttonKeyWrite.Name = "buttonKeyWrite";
|
||||||
|
this.buttonKeyWrite.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonKeyWrite.Click += new System.EventHandler(this.buttonKeyWrite_Click);
|
||||||
|
//
|
||||||
|
// buttonWriteEmpty
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonWriteEmpty, "buttonWriteEmpty");
|
||||||
|
this.buttonWriteEmpty.Name = "buttonWriteEmpty";
|
||||||
|
this.buttonWriteEmpty.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonWriteEmpty.Click += new System.EventHandler(this.buttonWriteEmpty_Click);
|
||||||
|
//
|
||||||
|
// groupBox3
|
||||||
|
//
|
||||||
|
this.groupBox3.Controls.Add(this.logBox);
|
||||||
|
resources.ApplyResources(this.groupBox3, "groupBox3");
|
||||||
|
this.groupBox3.Name = "groupBox3";
|
||||||
|
this.groupBox3.TabStop = false;
|
||||||
|
//
|
||||||
|
// logBox
|
||||||
|
//
|
||||||
|
this.logBox.BackColor = System.Drawing.Color.Black;
|
||||||
|
resources.ApplyResources(this.logBox, "logBox");
|
||||||
|
this.logBox.ForeColor = System.Drawing.Color.Gold;
|
||||||
|
this.logBox.Name = "logBox";
|
||||||
|
this.logBox.ReadOnly = true;
|
||||||
|
//
|
||||||
|
// FormMFF08
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.groupBox3);
|
||||||
|
this.Controls.Add(this.groupBox2);
|
||||||
|
this.Controls.Add(this.groupBox1);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.Name = "FormMFF08";
|
||||||
|
this.Load += new System.EventHandler(this.FormMFF08_Load);
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
this.groupBox1.PerformLayout();
|
||||||
|
this.groupBox2.ResumeLayout(false);
|
||||||
|
this.groupBox2.PerformLayout();
|
||||||
|
this.groupBox3.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox2;
|
||||||
|
private System.Windows.Forms.Button buttonLoadKey;
|
||||||
|
private System.Windows.Forms.TextBox keyfileBox;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.Button buttonKeyWrite;
|
||||||
|
private System.Windows.Forms.Button buttonWriteEmpty;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox3;
|
||||||
|
private System.Windows.Forms.RichTextBox logBox;
|
||||||
|
private System.Windows.Forms.Button buttonClr;
|
||||||
|
}
|
||||||
|
}
|
||||||
133
MifareOneTool/FormMFF08.cs
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace MifareOneTool
|
||||||
|
{
|
||||||
|
public partial class FormMFF08 : Form
|
||||||
|
{
|
||||||
|
public FormMFF08()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonLoadKey_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
|
ofd.CheckFileExists = true;
|
||||||
|
ofd.Filter = Resources.MFD文件_mfd_DUMP文件_dump;
|
||||||
|
ofd.Title = Resources.请选择最后一次写卡导致0块损坏的卡数据文件;
|
||||||
|
ofd.Multiselect = false;
|
||||||
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
keyfileBox.Text = ofd.FileName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonClr_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
keyfileBox.Text = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
bool lprocess = false;
|
||||||
|
Process process;
|
||||||
|
|
||||||
|
private void logAppend(string msg)
|
||||||
|
{
|
||||||
|
logBox.AppendText(msg + "\n");
|
||||||
|
logBox.ScrollToCaret();
|
||||||
|
}
|
||||||
|
|
||||||
|
void default_rpt(object sender, ProgressChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.ProgressPercentage == 100)
|
||||||
|
{
|
||||||
|
logAppend((string)e.UserState);
|
||||||
|
groupBox2.Enabled = true;
|
||||||
|
}
|
||||||
|
else if (e.ProgressPercentage == 1)
|
||||||
|
{
|
||||||
|
groupBox2.Enabled = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logAppend((string)e.UserState);
|
||||||
|
}
|
||||||
|
Application.DoEvents();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonWriteEmpty_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (lprocess) { MessageBox.Show(Resources.有任务运行中_不可执行, Resources.设备忙, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
|
||||||
|
S50 empty = new S50();
|
||||||
|
empty.ExportToMfd("mff08_empty.kmf");
|
||||||
|
BackgroundWorker bgw = new BackgroundWorker();
|
||||||
|
bgw.DoWork += new DoWorkEventHandler(cmf_write);
|
||||||
|
bgw.WorkerReportsProgress = true;
|
||||||
|
bgw.ProgressChanged += new ProgressChangedEventHandler(default_rpt);
|
||||||
|
bgw.RunWorkerAsync(new string[] { "mff08_empty.kmf", "A", "x", "" });
|
||||||
|
}
|
||||||
|
|
||||||
|
void cmf_write(object sender, DoWorkEventArgs e)
|
||||||
|
{
|
||||||
|
if (lprocess) { return; }
|
||||||
|
ProcessStartInfo psi = new ProcessStartInfo("nfc-bin/mff08.exe");
|
||||||
|
string[] args = (string[])e.Argument;
|
||||||
|
psi.Arguments = "c " + args[1] + " u \"" + args[0] + "\"";
|
||||||
|
if (args[3] != "" && args[2] == "")
|
||||||
|
{
|
||||||
|
psi.Arguments += " \"" + args[3] + "\" f";
|
||||||
|
}
|
||||||
|
psi.CreateNoWindow = true;
|
||||||
|
psi.UseShellExecute = false;
|
||||||
|
psi.RedirectStandardOutput = true;
|
||||||
|
psi.RedirectStandardError = true;
|
||||||
|
lprocess = true;
|
||||||
|
BackgroundWorker b = (BackgroundWorker)sender;
|
||||||
|
b.ReportProgress(1);
|
||||||
|
process = Process.Start(psi);
|
||||||
|
process.OutputDataReceived += (s, _e) => b.ReportProgress(0, _e.Data);
|
||||||
|
process.ErrorDataReceived += (s, _e) => b.ReportProgress(0, _e.Data);
|
||||||
|
//StreamReader stderr = process.StandardError;
|
||||||
|
process.BeginOutputReadLine();
|
||||||
|
process.BeginErrorReadLine();
|
||||||
|
process.WaitForExit();
|
||||||
|
lprocess = false;
|
||||||
|
b.ReportProgress(100, Resources._运行完毕);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonKeyWrite_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (lprocess) { MessageBox.Show(Resources.有任务运行中_不可执行, Resources.设备忙, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
|
||||||
|
S50 empty = new S50();
|
||||||
|
empty.ExportToMfd("mff08_empty.kmf");
|
||||||
|
if (keyfileBox.Text == "")
|
||||||
|
{
|
||||||
|
MessageBox.Show(Resources.您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的, Resources.错误, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
BackgroundWorker bgw = new BackgroundWorker();
|
||||||
|
bgw.DoWork += new DoWorkEventHandler(cmf_write);
|
||||||
|
bgw.WorkerReportsProgress = true;
|
||||||
|
bgw.ProgressChanged += new ProgressChangedEventHandler(default_rpt);
|
||||||
|
bgw.RunWorkerAsync(new string[] { "mff08_empty.kmf", "C", "", keyfileBox.Text });
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FormMFF08_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!File.Exists("nfc-bin/mff08.exe"))
|
||||||
|
{
|
||||||
|
MessageBox.Show(Resources.无法找到MFF08程序文件_操作终止, Resources.错误, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
491
MifareOneTool/FormMFF08.resx
Normal file
@ -0,0 +1,491 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="buttonClr.Text" xml:space="preserve">
|
||||||
|
<value>清除</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Text" xml:space="preserve">
|
||||||
|
<value>修复写入
|
||||||
|
有密码
|
||||||
|
CUID卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Text" xml:space="preserve">
|
||||||
|
<value>加载…</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Text" xml:space="preserve">
|
||||||
|
<value>修复写入
|
||||||
|
无密空白
|
||||||
|
CUID卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>MFF08 Tool-CUID修复工具</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>说明</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>操作</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Text" xml:space="preserve">
|
||||||
|
<value>日志</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>本工具由nfc-mfclassic做少许修改而来。可用于1K大小CUID卡0块损坏的修复。
|
||||||
|
本工具可以修复:SAK写错(不认卡类型)、ATQA写错(不认卡大小),对于BCC写错暂时无能为力。
|
||||||
|
请准备好你最后一次写入该卡导致0块损坏的卡数据文件(如果卡片有加密)。</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>最后一次写卡导致0块损坏的卡数据文件:</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[0]" xml:space="preserve">
|
||||||
|
<value>每个人使用CUID卡的时候,总会因不了解或是不经意犯下一些小错误。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[1]" xml:space="preserve">
|
||||||
|
<value>比如使用编辑器修改UID却没有改BCC,SAK=28的卡片解密后的文件直接写入,又或是从S70卡片导入数据写入1K卡却没有更正ATQA。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[2]" xml:space="preserve">
|
||||||
|
<value>MFF08工具给了你一次修复这些损坏卡片的机会。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[3]" xml:space="preserve">
|
||||||
|
<value>------------------------------------------------------------------------</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Text" xml:space="preserve">
|
||||||
|
<value>每个人使用CUID卡的时候,总会因不了解或是不经意犯下一些小错误。
|
||||||
|
比如使用编辑器修改UID却没有改BCC,SAK=28的卡片解密后的文件直接写入,又或是从S70卡片导入数据写入1K卡却没有更正ATQA。
|
||||||
|
MFF08工具给了你一次修复这些损坏卡片的机会。
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>SimSun, 9.5pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>9, 28</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 0, 4, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>850, 57</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Name" xml:space="preserve">
|
||||||
|
<value>label1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>952, 167</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonClr.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>878, 55</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonClr.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonClr.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>66, 38</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonClr.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonClr.Name" xml:space="preserve">
|
||||||
|
<value>buttonClr</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonClr.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonClr.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonClr.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>756, 55</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>112, 38</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonLoadKey.Name" xml:space="preserve">
|
||||||
|
<value>buttonLoadKey</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonLoadKey.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonLoadKey.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonLoadKey.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyfileBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>356, 58</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyfileBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyfileBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>390, 26</value>
|
||||||
|
</data>
|
||||||
|
<data name="keyfileBox.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyfileBox.Name" xml:space="preserve">
|
||||||
|
<value>keyfileBox</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyfileBox.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyfileBox.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>keyfileBox.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>352, 33</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 0, 4, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>298, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Name" xml:space="preserve">
|
||||||
|
<value>label2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label2.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>SimSun, 11.25pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>182, 33</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>124, 123</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonKeyWrite.Name" xml:space="preserve">
|
||||||
|
<value>buttonKeyWrite</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonKeyWrite.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonKeyWrite.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonKeyWrite.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>SimSun, 11.25pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 33</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>124, 123</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonWriteEmpty.Name" xml:space="preserve">
|
||||||
|
<value>buttonWriteEmpty</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonWriteEmpty.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonWriteEmpty.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonWriteEmpty.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 197</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>952, 167</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Name" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox2.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>4, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.ScrollBars" type="System.Windows.Forms.RichTextBoxScrollBars, System.Windows.Forms">
|
||||||
|
<value>ForcedVertical</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>944, 284</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>logBox.Name" xml:space="preserve">
|
||||||
|
<value>logBox</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>logBox.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>logBox.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>logBox.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>18, 373</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>952, 313</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox3.Name" xml:space="preserve">
|
||||||
|
<value>groupBox3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox3.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox3.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox3.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>9, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>988, 707</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 5, 4, 5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>FormMFF08</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
176
MifareOneTool/FormMFF08.ru.resx
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="buttonClr.Text" xml:space="preserve">
|
||||||
|
<value>Очистить</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Text" xml:space="preserve">
|
||||||
|
<value>Ремонт написать
|
||||||
|
Есть пароль
|
||||||
|
CUID карта</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Text" xml:space="preserve">
|
||||||
|
<value>Loading ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Text" xml:space="preserve">
|
||||||
|
<value>Ремонт написать
|
||||||
|
Нет секретного бланка
|
||||||
|
CUID карта</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>MFF08 Tool-CUID Ремонт инструмента</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>объяснение</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>операционная</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Text" xml:space="preserve">
|
||||||
|
<value>журнал</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>Этот инструмент был слегка изменен с помощью nfc-mfclassic. Может быть использован для ремонта 0U блока карты размера 1K.
|
||||||
|
Этот инструмент можно починить: неверный SAK (не распознанный тип карты), неправильный ATQA (не распознанный размер карты) и BCC невозможно записать неправильно.
|
||||||
|
Пожалуйста, подготовьте файл данных карты, который вызвал последние 0 повреждений карты (если карта зашифрована).</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>В последний раз при записи карты получено 0 поврежденных файлов данных карты:</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[0]" xml:space="preserve">
|
||||||
|
<value>Когда все используют карту CUID, они всегда делают маленькие ошибки, потому что они не понимают или непреднамеренно.</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[1]" xml:space="preserve">
|
||||||
|
<value>Например, если редактор используется для изменения UID, но BCC не изменяется, файл, дешифрованный картой SAK = 28, записывается напрямую или данные импортируются с карты S70 на карту 1K, но ATQA не исправляется.</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[2]" xml:space="preserve">
|
||||||
|
<value>Инструмент MFF08 дает вам возможность исправить эти поврежденные карты сразу.</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[3]" xml:space="preserve">
|
||||||
|
<value>-------------------------------------------------- ----------------------</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Text" xml:space="preserve">
|
||||||
|
<value>Когда все используют карту CUID, они всегда делают маленькие ошибки, потому что они не понимают или непреднамеренно.
|
||||||
|
Например, если редактор используется для изменения UID, но BCC не изменяется, файл, дешифрованный картой SAK = 28, записывается напрямую или данные импортируются с карты S70 на карту 1K, но ATQA не исправляется.
|
||||||
|
Инструмент MFF08 дает вам возможность исправить эти поврежденные карты сразу.
|
||||||
|
-------------------------------------------------- ----------------------
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
176
MifareOneTool/FormMFF08.zh.resx
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="buttonClr.Text" xml:space="preserve">
|
||||||
|
<value>清除</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonKeyWrite.Text" xml:space="preserve">
|
||||||
|
<value>修复写入
|
||||||
|
有密码
|
||||||
|
CUID卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonLoadKey.Text" xml:space="preserve">
|
||||||
|
<value>加载…</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonWriteEmpty.Text" xml:space="preserve">
|
||||||
|
<value>修复写入
|
||||||
|
无密空白
|
||||||
|
CUID卡</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>MFF08 Tool-CUID修复工具</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>说明</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>操作</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox3.Text" xml:space="preserve">
|
||||||
|
<value>日志</value>
|
||||||
|
</data>
|
||||||
|
<data name="label1.Text" xml:space="preserve">
|
||||||
|
<value>本工具由nfc-mfclassic做少许修改而来。可用于1K大小CUID卡0块损坏的修复。
|
||||||
|
本工具可以修复:SAK写错(不认卡类型)、ATQA写错(不认卡大小),对于BCC写错暂时无能为力。
|
||||||
|
请准备好你最后一次写入该卡导致0块损坏的卡数据文件(如果卡片有加密)。</value>
|
||||||
|
</data>
|
||||||
|
<data name="label2.Text" xml:space="preserve">
|
||||||
|
<value>最后一次写卡导致0块损坏的卡数据文件:</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[0]" xml:space="preserve">
|
||||||
|
<value>每个人使用CUID卡的时候,总会因不了解或是不经意犯下一些小错误。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[1]" xml:space="preserve">
|
||||||
|
<value>比如使用编辑器修改UID却没有改BCC,SAK=28的卡片解密后的文件直接写入,又或是从S70卡片导入数据写入1K卡却没有更正ATQA。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[2]" xml:space="preserve">
|
||||||
|
<value>MFF08工具给了你一次修复这些损坏卡片的机会。</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Lines[3]" xml:space="preserve">
|
||||||
|
<value>------------------------------------------------------------------------</value>
|
||||||
|
</data>
|
||||||
|
<data name="logBox.Text" xml:space="preserve">
|
||||||
|
<value>每个人使用CUID卡的时候,总会因不了解或是不经意犯下一些小错误。
|
||||||
|
比如使用编辑器修改UID却没有改BCC,SAK=28的卡片解密后的文件直接写入,又或是从S70卡片导入数据写入1K卡却没有更正ATQA。
|
||||||
|
MFF08工具给了你一次修复这些损坏卡片的机会。
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -13,7 +14,7 @@ namespace MifareOneTool
|
|||||||
class GitHubUpdate
|
class GitHubUpdate
|
||||||
{
|
{
|
||||||
public Version localVersion;
|
public Version localVersion;
|
||||||
public string remoteVersion="未知";
|
public string remoteVersion=Resources.未知;
|
||||||
public void Update(string GitHubR)
|
public void Update(string GitHubR)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>..\..\Сборки\</OutputPath>
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
@ -95,30 +95,76 @@
|
|||||||
<Compile Include="FormHTool.Designer.cs">
|
<Compile Include="FormHTool.Designer.cs">
|
||||||
<DependentUpon>FormHTool.cs</DependentUpon>
|
<DependentUpon>FormHTool.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="FormMFF08.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FormMFF08.Designer.cs">
|
||||||
|
<DependentUpon>FormMFF08.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="GitHubUpdate.cs" />
|
<Compile Include="GitHubUpdate.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<EmbeddedResource Include="Form1.resx">
|
<EmbeddedResource Include="Form1.resx">
|
||||||
<DependentUpon>Form1.cs</DependentUpon>
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Form1.ru.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Form1.zh.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="FormDiff.resx">
|
<EmbeddedResource Include="FormDiff.resx">
|
||||||
<DependentUpon>FormDiff.cs</DependentUpon>
|
<DependentUpon>FormDiff.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormDiff.ru.resx">
|
||||||
|
<DependentUpon>FormDiff.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormDiff.zh.resx">
|
||||||
|
<DependentUpon>FormDiff.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="FormHardNes.resx">
|
<EmbeddedResource Include="FormHardNes.resx">
|
||||||
<DependentUpon>FormHardNes.cs</DependentUpon>
|
<DependentUpon>FormHardNes.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormHardNes.ru.resx">
|
||||||
|
<DependentUpon>FormHardNes.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormHardNes.zh.resx">
|
||||||
|
<DependentUpon>FormHardNes.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="FormHTool.resx">
|
<EmbeddedResource Include="FormHTool.resx">
|
||||||
<DependentUpon>FormHTool.cs</DependentUpon>
|
<DependentUpon>FormHTool.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormHTool.ru.resx">
|
||||||
|
<DependentUpon>FormHTool.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormHTool.zh.resx">
|
||||||
|
<DependentUpon>FormHTool.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormMFF08.resx">
|
||||||
|
<DependentUpon>FormMFF08.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormMFF08.ru.resx">
|
||||||
|
<DependentUpon>FormMFF08.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="FormMFF08.zh.resx">
|
||||||
|
<DependentUpon>FormMFF08.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Properties\Resources.resx">
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<Compile Include="Properties\Resources.Designer.cs">
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.ru.resx">
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.zh.resx">
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
@ -153,7 +199,25 @@
|
|||||||
</BootstrapperPackage>
|
</BootstrapperPackage>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Content Include="MifareOneTool_ml.xml" />
|
||||||
<Content Include="nfc_128.ico" />
|
<Content Include="nfc_128.ico" />
|
||||||
|
<None Include="Resources\round_sync_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\outline_info_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\round_info_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\round_timer_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\round_update_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\round_update_black_24pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_black_48pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_black_24pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_outline_black_24pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_24pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_36pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_18pt_1x.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_18pt_2x.png" />
|
||||||
|
<None Include="Resources\round_clear_black_24dp.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_36dp.png" />
|
||||||
|
<None Include="Resources\round_done_all_black_24dp.png" />
|
||||||
|
<None Include="Resources\round_chevron_right_black_24dp.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
|||||||
10074
MifareOneTool/MifareOneTool_ml.xml
Normal file
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using MifareOneTool.Properties;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@ -15,18 +16,17 @@ namespace MifareOneTool
|
|||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
bool ret;
|
if (Properties.Settings.Default.MultiMode)
|
||||||
System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
|
|
||||||
if (ret)
|
|
||||||
{
|
{
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new Form1());
|
Application.Run(new Form1());
|
||||||
mutex.ReleaseMutex();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (MessageBox.Show("您已经运行了MifareOne Tool,打开多个本程序可能会造成冲突及不可预料到的错误。\n确认要继续吗?", "您正在试图重复运行", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
|
bool ret;
|
||||||
|
System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
|
||||||
|
if (ret)
|
||||||
{
|
{
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
@ -35,7 +35,17 @@ namespace MifareOneTool
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Application.Exit();
|
if (MessageBox.Show(Resources.您已经运行了MifareOne_Tool_打开多个本程序可能, Resources.您正在试图重复运行, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new Form1());
|
||||||
|
mutex.ReleaseMutex();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Application.Exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("XciCode")]
|
[assembly: AssemblyCompany("XciCode")]
|
||||||
[assembly: AssemblyProduct("MifareOneTool")]
|
[assembly: AssemblyProduct("MifareOneTool")]
|
||||||
[assembly: AssemblyCopyright("Copyright © XciCode 2018")]
|
[assembly: AssemblyCopyright("Copyright © XciCode 2018-2019")]
|
||||||
[assembly: AssemblyTrademark("M1T")]
|
[assembly: AssemblyTrademark("M1T")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||||
// 方法是按如下所示使用“*”:
|
// 方法是按如下所示使用“*”:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.6.5.0")]
|
[assembly: AssemblyVersion("1.7.0.0")]
|
||||||
[assembly: AssemblyFileVersion("1.6.5.0")]
|
[assembly: AssemblyFileVersion("1.7.0.0")]
|
||||||
|
|||||||
1501
MifareOneTool/Properties/Resources.Designer.cs
generated
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
value : The object must be serialized with
|
value : The object must be serialized with
|
||||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
@ -60,6 +60,7 @@
|
|||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
-->
|
-->
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:choice maxOccurs="unbounded">
|
<xsd:choice maxOccurs="unbounded">
|
||||||
@ -68,9 +69,10 @@
|
|||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="assembly">
|
<xsd:element name="assembly">
|
||||||
@ -85,9 +87,10 @@
|
|||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="resheader">
|
<xsd:element name="resheader">
|
||||||
@ -109,9 +112,494 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<resheader name="reader">
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="_0_9A_Fa_f_32" xml:space="preserve">
|
||||||
|
<value>[0-9A-Fa-f]{32}</value>
|
||||||
|
</data>
|
||||||
|
<data name="_Nonce收集完毕" xml:space="preserve">
|
||||||
|
<value>##Nonce收集完毕##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_Sector" xml:space="preserve">
|
||||||
|
<value>+Sector: </value>
|
||||||
|
</data>
|
||||||
|
<data name="_个块不同" xml:space="preserve">
|
||||||
|
<value> 个块不同
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已保存" xml:space="preserve">
|
||||||
|
<value>##已保存-</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已自动保存" xml:space="preserve">
|
||||||
|
<value>##已自动保存-</value>
|
||||||
|
</data>
|
||||||
|
<data name="_扇区" xml:space="preserve">
|
||||||
|
<value>#扇区 </value>
|
||||||
|
</data>
|
||||||
|
<data name="_文件中的值错误" xml:space="preserve">
|
||||||
|
<value>##文件中的值错误##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有数据" xml:space="preserve">
|
||||||
|
<value> 有数据</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有错误" xml:space="preserve">
|
||||||
|
<value> 有错误</value>
|
||||||
|
</data>
|
||||||
|
<data name="_未保存" xml:space="preserve">
|
||||||
|
<value>##未保存##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_程序已被强制停止" xml:space="preserve">
|
||||||
|
<value>##程序已被强制停止##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_空扇区" xml:space="preserve">
|
||||||
|
<value> 空扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="_缓存文件异常" xml:space="preserve">
|
||||||
|
<value>##缓存文件异常##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_计算得到BCC" xml:space="preserve">
|
||||||
|
<value>,计算得到BCC=</value>
|
||||||
|
</data>
|
||||||
|
<data name="_软件版本" xml:space="preserve">
|
||||||
|
<value>#软件版本 </value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行出错" xml:space="preserve">
|
||||||
|
<value>##运行出错##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行完毕" xml:space="preserve">
|
||||||
|
<value>##运行完毕##</value>
|
||||||
|
</data>
|
||||||
|
<data name="AB文件中一个或两个无效" xml:space="preserve">
|
||||||
|
<value>AB文件中一个或两个无效。</value>
|
||||||
|
</data>
|
||||||
|
<data name="ACR122U支持已经打开过" xml:space="preserve">
|
||||||
|
<value>ACR122U支持已经打开过。</value>
|
||||||
|
</data>
|
||||||
|
<data name="DUMP文件_dump_MFD文件_mfd" xml:space="preserve">
|
||||||
|
<value>DUMP文件|*.dump|MFD文件|*.mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="Information" xml:space="preserve">
|
||||||
|
<value>Information</value>
|
||||||
|
</data>
|
||||||
|
<data name="InputError" xml:space="preserve">
|
||||||
|
<value>InputError</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyA_B_N" xml:space="preserve">
|
||||||
|
<value>KeyA/B/N</value>
|
||||||
|
</data>
|
||||||
|
<data name="MCT格式" xml:space="preserve">
|
||||||
|
<value>MCT格式|*.*</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_dump" xml:space="preserve">
|
||||||
|
<value>MFD文件|*.mfd;*.dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_DUMP文件_dump" xml:space="preserve">
|
||||||
|
<value>MFD文件|*.mfd|DUMP文件|*.dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已取消" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 已取消</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已终止" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 已终止</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行中" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 运行中</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行完毕" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 运行完毕</value>
|
||||||
|
</data>
|
||||||
|
<data name="nfc_bin_collect_exe" xml:space="preserve">
|
||||||
|
<value>nfc-bin/collect.exe</value>
|
||||||
|
</data>
|
||||||
|
<data name="res" xml:space="preserve">
|
||||||
|
<value>。</value>
|
||||||
|
</data>
|
||||||
|
<data name="txt文件_txt" xml:space="preserve">
|
||||||
|
<value>txt文件|*.txt</value>
|
||||||
|
</data>
|
||||||
|
<data name="UID已改为" xml:space="preserve">
|
||||||
|
<value>UID已改为</value>
|
||||||
|
</data>
|
||||||
|
<data name="不恰当的4字节UID长度" xml:space="preserve">
|
||||||
|
<value>不恰当的4字节UID长度</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否" xml:space="preserve">
|
||||||
|
<value>使用KeyA(是)或KeyB(否)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否_还是不使用_用于全新白卡_" xml:space="preserve">
|
||||||
|
<value>使用KeyA(是)或KeyB(否),还是不使用(用于全新白卡)(取消)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="俄语" xml:space="preserve">
|
||||||
|
<value>俄语</value>
|
||||||
|
</data>
|
||||||
|
<data name="共找到" xml:space="preserve">
|
||||||
|
<value>共找到 </value>
|
||||||
|
</data>
|
||||||
|
<data name="写入出错" xml:space="preserve">
|
||||||
|
<value>写入出错</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的S50卡文件大小异常" xml:space="preserve">
|
||||||
|
<value>加载的S50卡文件大小异常。</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的文件不存在" xml:space="preserve">
|
||||||
|
<value>加载的文件不存在。</value>
|
||||||
|
</data>
|
||||||
|
<data name="危险操作警告" xml:space="preserve">
|
||||||
|
<value>危险操作警告</value>
|
||||||
|
</data>
|
||||||
|
<data name="同时打开ACR122U支持可能会引起操作速度下降_请确认是否" xml:space="preserve">
|
||||||
|
<value>同时打开ACR122U支持可能会引起操作速度下降。
|
||||||
|
请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="字典文件_dic" xml:space="preserve">
|
||||||
|
<value>字典文件|*.dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="密钥字典文件_dic" xml:space="preserve">
|
||||||
|
<value>密钥字典文件|*.dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="将自动选择首个设备" xml:space="preserve">
|
||||||
|
<value>将自动选择首个设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="将要写入的文件存在错误_请用高级模式中的Hex工具打开查看" xml:space="preserve">
|
||||||
|
<value>将要写入的文件存在错误,请用高级模式中的Hex工具打开查看。</value>
|
||||||
|
</data>
|
||||||
|
<data name="已保存到" xml:space="preserve">
|
||||||
|
<value>已保存到</value>
|
||||||
|
</data>
|
||||||
|
<data name="已启用CUID空卡写入补丁" xml:space="preserve">
|
||||||
|
<value>已启用CUID空卡写入补丁</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出MCT文件" xml:space="preserve">
|
||||||
|
<value>已导出MCT文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出密钥字典文件" xml:space="preserve">
|
||||||
|
<value>已导出密钥字典文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="已打开" xml:space="preserve">
|
||||||
|
<value>已打开。</value>
|
||||||
|
</data>
|
||||||
|
<data name="已找到_K" xml:space="preserve">
|
||||||
|
<value>已找到!K=</value>
|
||||||
|
</data>
|
||||||
|
<data name="已指定使用该NFC设备" xml:space="preserve">
|
||||||
|
<value>已指定使用该NFC设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="已更新扇区" xml:space="preserve">
|
||||||
|
<value>已更新扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="已重置并新建卡" xml:space="preserve">
|
||||||
|
<value>已重置并新建卡。</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行CUID_FUID卡片写入" xml:space="preserve">
|
||||||
|
<value>开始执行CUID/FUID卡片写入……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested收集数据" xml:space="preserve">
|
||||||
|
<value>开始执行HardNested收集数据……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested解密强化卡" xml:space="preserve">
|
||||||
|
<value>开始执行HardNested解密强化卡……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行MFOC解密" xml:space="preserve">
|
||||||
|
<value>开始执行MFOC解密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UFUID卡片锁定" xml:space="preserve">
|
||||||
|
<value>开始执行UFUID卡片锁定……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片全格" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片全格……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片写入" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片写入……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片设定卡号" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片设定卡号……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片读取" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片读取……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行全加密卡片爆破" xml:space="preserve">
|
||||||
|
<value>开始执行全加密卡片爆破……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行写入M1卡片" xml:space="preserve">
|
||||||
|
<value>开始执行写入M1卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行字典模式MFOC解密" xml:space="preserve">
|
||||||
|
<value>开始执行字典模式MFOC解密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行扫描卡片" xml:space="preserve">
|
||||||
|
<value>开始执行扫描卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行格式化M1卡片" xml:space="preserve">
|
||||||
|
<value>开始执行格式化M1卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测卡片加密" xml:space="preserve">
|
||||||
|
<value>开始执行检测卡片加密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测设备" xml:space="preserve">
|
||||||
|
<value>开始执行检测设备……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行读取卡片" xml:space="preserve">
|
||||||
|
<value>开始执行读取卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行重置UID卡片卡号" xml:space="preserve">
|
||||||
|
<value>开始执行重置UID卡片卡号……</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前扇区数据仍有错误_不能执行修改" xml:space="preserve">
|
||||||
|
<value>当前扇区数据仍有错误,不能执行修改。</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区" xml:space="preserve">
|
||||||
|
<value>当前选定扇区:??</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区0" xml:space="preserve">
|
||||||
|
<value>当前选定扇区:</value>
|
||||||
|
</data>
|
||||||
|
<data name="您可以上传到云计算服务节点进行计算" xml:space="preserve">
|
||||||
|
<value>您可以上传到云计算服务节点进行计算。</value>
|
||||||
|
</data>
|
||||||
|
<data name="您已经运行了MifareOne_Tool_打开多个本程序可能" xml:space="preserve">
|
||||||
|
<value>您已经运行了MifareOne Tool,打开多个本程序可能会造成冲突及不可预料到的错误。
|
||||||
|
确认要继续吗?</value>
|
||||||
|
</data>
|
||||||
|
<data name="您正在试图重复运行" xml:space="preserve">
|
||||||
|
<value>您正在试图重复运行</value>
|
||||||
|
</data>
|
||||||
|
<data name="您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的" xml:space="preserve">
|
||||||
|
<value>您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的密钥源。
|
||||||
|
操作终止。</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区" xml:space="preserve">
|
||||||
|
<value>扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区0" xml:space="preserve">
|
||||||
|
<value>扇区 </value>
|
||||||
|
</data>
|
||||||
|
<data name="打开了" xml:space="preserve">
|
||||||
|
<value>打开了</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开出错" xml:space="preserve">
|
||||||
|
<value>打开出错</value>
|
||||||
|
</data>
|
||||||
|
<data name="提示信息" xml:space="preserve">
|
||||||
|
<value>提示信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="文件内不是含有64个块数据_可能不完整或不兼容" xml:space="preserve">
|
||||||
|
<value>文件内不是含有64个块数据,可能不完整或不兼容。</value>
|
||||||
|
</data>
|
||||||
|
<data name="无密钥" xml:space="preserve">
|
||||||
|
<value>无密钥</value>
|
||||||
|
</data>
|
||||||
|
<data name="无法找到MFF08程序文件_操作终止" xml:space="preserve">
|
||||||
|
<value>无法找到MFF08程序文件。
|
||||||
|
操作终止。</value>
|
||||||
|
</data>
|
||||||
|
<data name="显示扇区" xml:space="preserve">
|
||||||
|
<value>显示扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="有任务运行中_不可执行" xml:space="preserve">
|
||||||
|
<value>有任务运行中,不可执行。</value>
|
||||||
|
</data>
|
||||||
|
<data name="未知" xml:space="preserve">
|
||||||
|
<value>未知</value>
|
||||||
|
</data>
|
||||||
|
<data name="未选择有效key_mfd" xml:space="preserve">
|
||||||
|
<value>未选择有效key.mfd。</value>
|
||||||
|
</data>
|
||||||
|
<data name="本地版本" xml:space="preserve">
|
||||||
|
<value>本地版本 </value>
|
||||||
|
</data>
|
||||||
|
<data name="标准" xml:space="preserve">
|
||||||
|
<value>标准</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在使用智能KeyABN" xml:space="preserve">
|
||||||
|
<value>正在使用智能KeyABN…</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在打开ACR122U支持" xml:space="preserve">
|
||||||
|
<value>正在打开ACR122U支持……</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在检索是否存在key_mfd" xml:space="preserve">
|
||||||
|
<value>正在检索是否存在key.mfd…</value>
|
||||||
|
</data>
|
||||||
|
<data name="没有发现任何有效的NFC设备" xml:space="preserve">
|
||||||
|
<value>没有发现任何有效的NFC设备。</value>
|
||||||
|
</data>
|
||||||
|
<data name="秒" xml:space="preserve">
|
||||||
|
<value>秒</value>
|
||||||
|
</data>
|
||||||
|
<data name="空闲" xml:space="preserve">
|
||||||
|
<value>空闲</value>
|
||||||
|
</data>
|
||||||
|
<data name="终端内容已保存至m1t_log文件" xml:space="preserve">
|
||||||
|
<value>终端内容已保存至m1t.log文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备串口" xml:space="preserve">
|
||||||
|
<value>设备串口:</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备忙" xml:space="preserve">
|
||||||
|
<value>设备忙</value>
|
||||||
|
</data>
|
||||||
|
<data name="设置错误_请修改" xml:space="preserve">
|
||||||
|
<value>设置错误,请修改。</value>
|
||||||
|
</data>
|
||||||
|
<data name="识别了以下设备" xml:space="preserve">
|
||||||
|
<value>识别了以下设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已经自动为您更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,已经自动为您更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已自动更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,已自动更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_请点击打开扇区0来自动更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,请点击打开扇区0来自动更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区一切正常" xml:space="preserve">
|
||||||
|
<value>该扇区一切正常。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位损坏,写入将会损坏卡片,已重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位损坏,写入将会损坏卡片,请重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位无效,写入将会损坏卡片,已重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位无效,写入将会损坏卡片,请重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会清空UID卡内全部数据_清空后不可恢复_请确认是否" xml:space="preserve">
|
||||||
|
<value>该操作将会清空UID卡内全部数据!!!
|
||||||
|
清空后不可恢复!请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会锁死UFUID卡片_锁死后不可恢复_无法再次更改0" xml:space="preserve">
|
||||||
|
<value>该操作将会锁死UFUID卡片!!!
|
||||||
|
锁死后不可恢复!无法再次更改0块!请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件一切正常" xml:space="preserve">
|
||||||
|
<value>该文件一切正常。</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件存在以下错误" xml:space="preserve">
|
||||||
|
<value>该文件存在以下错误:
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="请检查接线是否正确_驱动是否正常安装_设备电源是否已经打开_" xml:space="preserve">
|
||||||
|
<value>请检查接线是否正确/驱动是否正常安装/设备电源是否已经打开(对于具有电源开关的型号)。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入UID号" xml:space="preserve">
|
||||||
|
<value>请输入UID号</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知Key" xml:space="preserve">
|
||||||
|
<value>请输入已知Key</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知的Key_以英文半角逗号分隔" xml:space="preserve">
|
||||||
|
<value>请输入已知的Key,以英文半角逗号分隔。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要写入的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>请输入需要写入的UID卡号,共8位十六进制数,如E44A3BF1。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要更改的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>请输入需要更改的UID卡号,共8位十六进制数,如E44A3BF1。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MCT_txt文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择MCT.txt文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MFD文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择MFD文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择一个包含目标卡密钥的MFD文件_通常是已经破解出的该卡" xml:space="preserve">
|
||||||
|
<value>请选择一个包含目标卡密钥的MFD文件(通常是已经破解出的该卡的MFD文件)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择密钥字典文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择密钥字典文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择最后一次写卡导致0块损坏的卡数据文件" xml:space="preserve">
|
||||||
|
<value>请选择最后一次写卡导致0块损坏的卡数据文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要写入的MFD文件" xml:space="preserve">
|
||||||
|
<value>请选择需要写入的MFD文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MCT格式文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MCT格式文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较A" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件(比较A)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较B" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件(比较B)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的密钥字典文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的密钥字典文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="输入的UID号不合法" xml:space="preserve">
|
||||||
|
<value>输入的UID号不合法</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行中" xml:space="preserve">
|
||||||
|
<value>运行中</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行时间" xml:space="preserve">
|
||||||
|
<value>运行时间:</value>
|
||||||
|
</data>
|
||||||
|
<data name="选择key_mfd" xml:space="preserve">
|
||||||
|
<value>选择key.mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="错误" xml:space="preserve">
|
||||||
|
<value>错误</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="round_chevron_right_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_chevron_right_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_clear_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_clear_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_done_all_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_done_all_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="outline_info_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\outline_info_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_done_all_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_done_all_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_done_all_black_24pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_done_all_black_24pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_done_black_24pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_done_black_24pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_done_outline_black_24pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_done_outline_black_24pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_info_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_info_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_sync_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_sync_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_timer_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_timer_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_update_black_18pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_update_black_18pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="round_update_black_24pt_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\round_update_black_24pt_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
556
MifareOneTool/Properties/Resources.ru.resx
Normal file
@ -0,0 +1,556 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="_Nonce收集完毕" xml:space="preserve">
|
||||||
|
<value>## Nonce собрано ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_Sector" xml:space="preserve">
|
||||||
|
<value>+ Сектор:</value>
|
||||||
|
</data>
|
||||||
|
<data name="_个块不同" xml:space="preserve">
|
||||||
|
<value> Разные блоки
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已保存" xml:space="preserve">
|
||||||
|
<value>## Сохранено-</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已自动保存" xml:space="preserve">
|
||||||
|
<value>## Был сохранен автоматически -</value>
|
||||||
|
</data>
|
||||||
|
<data name="_扇区" xml:space="preserve">
|
||||||
|
<value># сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="_文件中的值错误" xml:space="preserve">
|
||||||
|
<value>## Ошибка в значении файла ###</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有数据" xml:space="preserve">
|
||||||
|
<value> Есть данные</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有错误" xml:space="preserve">
|
||||||
|
<value> Есть ошибка</value>
|
||||||
|
</data>
|
||||||
|
<data name="_未保存" xml:space="preserve">
|
||||||
|
<value>## Несохраненный ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_程序已被强制停止" xml:space="preserve">
|
||||||
|
<value>## Программа была вынуждена остановить ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_空扇区" xml:space="preserve">
|
||||||
|
<value> Пустой сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="_缓存文件异常" xml:space="preserve">
|
||||||
|
<value>## Исключение файла кэша ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_计算得到BCC" xml:space="preserve">
|
||||||
|
<value>, рассчитать BCC =</value>
|
||||||
|
</data>
|
||||||
|
<data name="_软件版本" xml:space="preserve">
|
||||||
|
<value>Версия программного обеспечения - </value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行出错" xml:space="preserve">
|
||||||
|
<value>## Ошибка запуска ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行完毕" xml:space="preserve">
|
||||||
|
<value>## Завершение работы ##</value>
|
||||||
|
</data>
|
||||||
|
<data name="AB文件中一个或两个无效" xml:space="preserve">
|
||||||
|
<value>Один или два файла AB недействительны.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ACR122U支持已经打开过" xml:space="preserve">
|
||||||
|
<value>Поддержка ACR122U включена.</value>
|
||||||
|
</data>
|
||||||
|
<data name="DUMP文件_dump_MFD文件_mfd" xml:space="preserve">
|
||||||
|
<value>DUMP файл | * .dump | MFD файл | * .mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="Information" xml:space="preserve">
|
||||||
|
<value>информация</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyA_B_N" xml:space="preserve">
|
||||||
|
<value>Keya / B / N</value>
|
||||||
|
</data>
|
||||||
|
<data name="MCT格式" xml:space="preserve">
|
||||||
|
<value>Формат MCT | *. *</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_dump" xml:space="preserve">
|
||||||
|
<value>MFD файл | * .mfd; *. Dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_DUMP文件_dump" xml:space="preserve">
|
||||||
|
<value>MFD файл | * .mfd | DUMP файл | * .dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已取消" xml:space="preserve">
|
||||||
|
<value>Инструмент MifareOne - Отменено</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已终止" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - прекращено</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行中" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - Запуск</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行完毕" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - Операция завершена</value>
|
||||||
|
</data>
|
||||||
|
<data name="nfc_bin_collect_exe" xml:space="preserve">
|
||||||
|
<value>НФК-бен / Collect.exe</value>
|
||||||
|
</data>
|
||||||
|
<data name="res" xml:space="preserve">
|
||||||
|
<value>,</value>
|
||||||
|
</data>
|
||||||
|
<data name="txt文件_txt" xml:space="preserve">
|
||||||
|
<value>Txt файл | * .txt</value>
|
||||||
|
</data>
|
||||||
|
<data name="UID已改为" xml:space="preserve">
|
||||||
|
<value>UID был изменен на</value>
|
||||||
|
</data>
|
||||||
|
<data name="不恰当的4字节UID长度" xml:space="preserve">
|
||||||
|
<value>Недопустимая длина UID в 4 байта</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否" xml:space="preserve">
|
||||||
|
<value>Использовать KeyA (да) или KeyB (нет)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否_还是不使用_用于全新白卡_" xml:space="preserve">
|
||||||
|
<value>Использовать KeyA (да) или KeyB (нет) или нет (для новых белых карточек) (отменить)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="俄语" xml:space="preserve">
|
||||||
|
<value>Русский</value>
|
||||||
|
</data>
|
||||||
|
<data name="共找到" xml:space="preserve">
|
||||||
|
<value>найденный</value>
|
||||||
|
</data>
|
||||||
|
<data name="写入出错" xml:space="preserve">
|
||||||
|
<value>Ошибка записи</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的S50卡文件大小异常" xml:space="preserve">
|
||||||
|
<value>Размер загруженного файла карты S50 ненормальный.</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的文件不存在" xml:space="preserve">
|
||||||
|
<value>Загруженный файл не существует.</value>
|
||||||
|
</data>
|
||||||
|
<data name="危险操作警告" xml:space="preserve">
|
||||||
|
<value>Предупреждение об опасной работе</value>
|
||||||
|
</data>
|
||||||
|
<data name="同时打开ACR122U支持可能会引起操作速度下降_请确认是否" xml:space="preserve">
|
||||||
|
<value>Одновременное открытие опоры ACR122U может привести к снижению скорости работы.
|
||||||
|
Пожалуйста, подтвердите, если вы хотите продолжить?</value>
|
||||||
|
</data>
|
||||||
|
<data name="字典文件_dic" xml:space="preserve">
|
||||||
|
<value>Файл словаря | * .dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="密钥字典文件_dic" xml:space="preserve">
|
||||||
|
<value>Файл ключевого словаря | * .dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="将自动选择首个设备" xml:space="preserve">
|
||||||
|
<value>Первое устройство будет выбрано автоматически:</value>
|
||||||
|
</data>
|
||||||
|
<data name="将要写入的文件存在错误_请用高级模式中的Hex工具打开查看" xml:space="preserve">
|
||||||
|
<value>Существует ошибка в файле, который будет записан. Откройте вид с помощью инструмента Hex в расширенном режиме.</value>
|
||||||
|
</data>
|
||||||
|
<data name="已保存到" xml:space="preserve">
|
||||||
|
<value>Сохранено в</value>
|
||||||
|
</data>
|
||||||
|
<data name="已启用CUID空卡写入补丁" xml:space="preserve">
|
||||||
|
<value>CUID патч для записи пустой карты включен</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出MCT文件" xml:space="preserve">
|
||||||
|
<value>MCT файл был экспортирован</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出密钥字典文件" xml:space="preserve">
|
||||||
|
<value>Файл словаря экспортированного ключа</value>
|
||||||
|
</data>
|
||||||
|
<data name="已打开" xml:space="preserve">
|
||||||
|
<value>Он открыт.</value>
|
||||||
|
</data>
|
||||||
|
<data name="已找到_K" xml:space="preserve">
|
||||||
|
<value>Найдено! K =</value>
|
||||||
|
</data>
|
||||||
|
<data name="已指定使用该NFC设备" xml:space="preserve">
|
||||||
|
<value>Устройство NFC было указано для использования:</value>
|
||||||
|
</data>
|
||||||
|
<data name="已更新扇区" xml:space="preserve">
|
||||||
|
<value>Обновленный сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="已重置并新建卡" xml:space="preserve">
|
||||||
|
<value>Карта была сброшена и создана.</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行CUID_FUID卡片写入" xml:space="preserve">
|
||||||
|
<value>Начать выполнение записи CUID / FUID карты ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested收集数据" xml:space="preserve">
|
||||||
|
<value>Начните выполнять HardNested для сбора данных ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested解密强化卡" xml:space="preserve">
|
||||||
|
<value>Запустите карточку улучшения расшифровки HardNested ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行MFOC解密" xml:space="preserve">
|
||||||
|
<value>Начните выполнять расшифровку MFOC ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UFUID卡片锁定" xml:space="preserve">
|
||||||
|
<value>Начать выполнение блокировки карты UFUID ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片全格" xml:space="preserve">
|
||||||
|
<value>Начните выполнять UID карты в полноэкранном режиме ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片写入" xml:space="preserve">
|
||||||
|
<value>Начните выполнять запись UID карты ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片设定卡号" xml:space="preserve">
|
||||||
|
<value>Начните выполнять номер карты установки карты UID ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片读取" xml:space="preserve">
|
||||||
|
<value>Начать чтение карты UID...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行全加密卡片爆破" xml:space="preserve">
|
||||||
|
<value>Начните выполнять полное шифрование карты взрыва ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行写入M1卡片" xml:space="preserve">
|
||||||
|
<value>Начните запись на карту M1...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行字典模式MFOC解密" xml:space="preserve">
|
||||||
|
<value>Начать выполнение словарного режима MFOC для расшифровки ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行扫描卡片" xml:space="preserve">
|
||||||
|
<value>Начать сканирование карт...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行格式化M1卡片" xml:space="preserve">
|
||||||
|
<value>Начните выполнять отформатированную карту M1 ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测卡片加密" xml:space="preserve">
|
||||||
|
<value>Начните выполнять проверку карты шифрованием ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测设备" xml:space="preserve">
|
||||||
|
<value>Запуск испытательного оборудования...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行读取卡片" xml:space="preserve">
|
||||||
|
<value>Начать чтение карты...</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行重置UID卡片卡号" xml:space="preserve">
|
||||||
|
<value>Начните выполнять сброс номера карты UID ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前扇区数据仍有错误_不能执行修改" xml:space="preserve">
|
||||||
|
<value>Данные текущего сектора все еще находятся в ошибке и не могут быть изменены.</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区" xml:space="preserve">
|
||||||
|
<value>Текущий выбранный сектор: ?</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区0" xml:space="preserve">
|
||||||
|
<value>Текущий выбранный сектор:</value>
|
||||||
|
</data>
|
||||||
|
<data name="您可以上传到云计算服务节点进行计算" xml:space="preserve">
|
||||||
|
<value>Вы можете загрузить на узел службы облачных вычислений для расчета.</value>
|
||||||
|
</data>
|
||||||
|
<data name="您已经运行了MifareOne_Tool_打开多个本程序可能" xml:space="preserve">
|
||||||
|
<value>Вы уже запустили MifareOne Tool, и открытие нескольких программ может вызвать конфликты и непредсказуемые ошибки.
|
||||||
|
Вы уверены, что хотите продолжить?</value>
|
||||||
|
</data>
|
||||||
|
<data name="您正在试图重复运行" xml:space="preserve">
|
||||||
|
<value>Вы пытаетесь запустить несколько раз</value>
|
||||||
|
</data>
|
||||||
|
<data name="您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的" xml:space="preserve">
|
||||||
|
<value>Вы не предоставили файл данных карты, который вызвал 0 блоков повреждения, когда последняя запись была сделана в качестве ключевого источника при записи карты.
|
||||||
|
Операция прекращена.</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区" xml:space="preserve">
|
||||||
|
<value>Cектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区0" xml:space="preserve">
|
||||||
|
<value>сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开了" xml:space="preserve">
|
||||||
|
<value>Открыть</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开出错" xml:space="preserve">
|
||||||
|
<value>Ошибка открытия</value>
|
||||||
|
</data>
|
||||||
|
<data name="提示信息" xml:space="preserve">
|
||||||
|
<value>Быстрое сообщение</value>
|
||||||
|
</data>
|
||||||
|
<data name="文件内不是含有64个块数据_可能不完整或不兼容" xml:space="preserve">
|
||||||
|
<value>Файл не содержит 64 блоков данных и может быть неполным или несовместимым.</value>
|
||||||
|
</data>
|
||||||
|
<data name="无密钥" xml:space="preserve">
|
||||||
|
<value>Нет ключа</value>
|
||||||
|
</data>
|
||||||
|
<data name="无法找到MFF08程序文件_操作终止" xml:space="preserve">
|
||||||
|
<value>Не удалось найти программный файл MFF08.
|
||||||
|
Операция прекращена.</value>
|
||||||
|
</data>
|
||||||
|
<data name="显示扇区" xml:space="preserve">
|
||||||
|
<value>Показать сектор</value>
|
||||||
|
</data>
|
||||||
|
<data name="有任务运行中_不可执行" xml:space="preserve">
|
||||||
|
<value>Когда задача выполняется, она не может быть выполнена.</value>
|
||||||
|
</data>
|
||||||
|
<data name="未知" xml:space="preserve">
|
||||||
|
<value>неизвестный</value>
|
||||||
|
</data>
|
||||||
|
<data name="未选择有效key_mfd" xml:space="preserve">
|
||||||
|
<value>Действительный key.mfd не был выбран.</value>
|
||||||
|
</data>
|
||||||
|
<data name="本地版本" xml:space="preserve">
|
||||||
|
<value>Версия - </value>
|
||||||
|
</data>
|
||||||
|
<data name="标准" xml:space="preserve">
|
||||||
|
<value>Китайский</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在使用智能KeyABN" xml:space="preserve">
|
||||||
|
<value>Использование Smart KeyABN ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在打开ACR122U支持" xml:space="preserve">
|
||||||
|
<value>Открытие ACR122U поддержки ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在检索是否存在key_mfd" xml:space="preserve">
|
||||||
|
<value>Поиск key.mfd ...</value>
|
||||||
|
</data>
|
||||||
|
<data name="没有发现任何有效的NFC设备" xml:space="preserve">
|
||||||
|
<value>Не было обнаружено никаких активных устройств NFC.</value>
|
||||||
|
</data>
|
||||||
|
<data name="秒" xml:space="preserve">
|
||||||
|
<value> с.</value>
|
||||||
|
</data>
|
||||||
|
<data name="空闲" xml:space="preserve">
|
||||||
|
<value>Ожидание операции</value>
|
||||||
|
</data>
|
||||||
|
<data name="终端内容已保存至m1t_log文件" xml:space="preserve">
|
||||||
|
<value>Содержимое терминала сохранено в файле m1t.log</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备串口" xml:space="preserve">
|
||||||
|
<value>Последовательный порт устройства:</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备忙" xml:space="preserve">
|
||||||
|
<value>Устройство занято</value>
|
||||||
|
</data>
|
||||||
|
<data name="设置错误_请修改" xml:space="preserve">
|
||||||
|
<value>Неверная настройка, пожалуйста, измените ее.</value>
|
||||||
|
</data>
|
||||||
|
<data name="识别了以下设备" xml:space="preserve">
|
||||||
|
<value>Определены следующие устройства:</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已经自动为您更正" xml:space="preserve">
|
||||||
|
<value>Значение проверки UID сектора неверно и было автоматически исправлено для вас.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已自动更正" xml:space="preserve">
|
||||||
|
<value>Значение проверки UID сектора неверно и было автоматически исправлено.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_请点击打开扇区0来自动更正" xml:space="preserve">
|
||||||
|
<value>Неверное значение проверки UID сектора. Нажмите, чтобы открыть сектор 0 для автоматического исправления.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区一切正常" xml:space="preserve">
|
||||||
|
<value>Сектор все хорошо.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>Бит контроля доступа к сектору поврежден, и запись повредит карту и будет сброшена.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>Бит контроля доступа к сектору поврежден, и запись повредит карту. Пожалуйста, сбросьте ее.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>Бит контроля доступа к сектору недействителен, запись повредит карту и будет сброшена.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>Недопустимый бит контроля доступа к сектору. Запись повредит карту. Пожалуйста, сбросьте ее.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会清空UID卡内全部数据_清空后不可恢复_请确认是否" xml:space="preserve">
|
||||||
|
<value>Это удалит все данные в UID-карте! ! !
|
||||||
|
Не может быть восстановлено после опустошения! Пожалуйста, подтвердите, если вы хотите продолжить?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会锁死UFUID卡片_锁死后不可恢复_无法再次更改0" xml:space="preserve">
|
||||||
|
<value>Это заблокирует карту UFUID! ! !
|
||||||
|
Невозможно восстановить после блокировки! Невозможно изменить 0 блоков снова! Пожалуйста, подтвердите, если вы хотите продолжить?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件一切正常" xml:space="preserve">
|
||||||
|
<value>С файлом все нормально.</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件存在以下错误" xml:space="preserve">
|
||||||
|
<value>Файл имеет следующую ошибку:
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="请检查接线是否正确_驱动是否正常安装_设备电源是否已经打开_" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, проверьте правильность подключения/драйвер правильно установлен/питание устройства включено (для моделей с выключателем питания).</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入UID号" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, введите номер UID</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知Key" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, введите известный ключ</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知的Key_以英文半角逗号分隔" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, введите известный ключ, разделенный запятой.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要写入的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, введите номер карты UID для записи, всего 8 шестнадцатеричных чисел, например, E44A3BF1.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要更改的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, введите номер карты UID для изменения, всего 8 шестнадцатеричных чисел, таких как E44A3BF1.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MCT_txt文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл MCT.txt, чтобы сохранить местоположение и имя файла.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MFD文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите место сохранения файла MFD и имя файла</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择一个包含目标卡密钥的MFD文件_通常是已经破解出的该卡" xml:space="preserve">
|
||||||
|
<value>Выберите файл MFD, содержащий ключ целевой карты (обычно это файл MFD карты, которая была взломана)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择密钥字典文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл словаря ключа, сохраните местоположение и имя файла</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择最后一次写卡导致0块损坏的卡数据文件" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл данных карты, который вызвал повреждение последней 0 карты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要写入的MFD文件" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл MFD для записи</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MCT格式文件" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл формата MCT, который вы хотите открыть.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл MFD, который вы хотите открыть.</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较A" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл MFD, который вы хотите открыть (сравните A)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较B" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите файл MFD, который вы хотите открыть (сравните B)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的密钥字典文件" xml:space="preserve">
|
||||||
|
<value>Пожалуйста, выберите ключевой файл словаря, который вы хотите открыть.</value>
|
||||||
|
</data>
|
||||||
|
<data name="输入的UID号不合法" xml:space="preserve">
|
||||||
|
<value>Введенный номер UID недействителен.</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行中" xml:space="preserve">
|
||||||
|
<value>Операция выполняется</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行时间" xml:space="preserve">
|
||||||
|
<value>Время выполнения: </value>
|
||||||
|
</data>
|
||||||
|
<data name="选择key_mfd" xml:space="preserve">
|
||||||
|
<value>Выбрать key.mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="错误" xml:space="preserve">
|
||||||
|
<value>Ошибка</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
565
MifareOneTool/Properties/Resources.zh.resx
Normal file
@ -0,0 +1,565 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="_0_9A_Fa_f_32" xml:space="preserve">
|
||||||
|
<value>[0-9A-Fa-f]{32}</value>
|
||||||
|
</data>
|
||||||
|
<data name="_Nonce收集完毕" xml:space="preserve">
|
||||||
|
<value>##Nonce收集完毕##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_Sector" xml:space="preserve">
|
||||||
|
<value>+Sector: </value>
|
||||||
|
</data>
|
||||||
|
<data name="_个块不同" xml:space="preserve">
|
||||||
|
<value> 个块不同
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已保存" xml:space="preserve">
|
||||||
|
<value>##已保存-</value>
|
||||||
|
</data>
|
||||||
|
<data name="_已自动保存" xml:space="preserve">
|
||||||
|
<value>##已自动保存-</value>
|
||||||
|
</data>
|
||||||
|
<data name="_扇区" xml:space="preserve">
|
||||||
|
<value>#扇区 </value>
|
||||||
|
</data>
|
||||||
|
<data name="_文件中的值错误" xml:space="preserve">
|
||||||
|
<value>##文件中的值错误##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有数据" xml:space="preserve">
|
||||||
|
<value> 有数据</value>
|
||||||
|
</data>
|
||||||
|
<data name="_有错误" xml:space="preserve">
|
||||||
|
<value> 有错误</value>
|
||||||
|
</data>
|
||||||
|
<data name="_未保存" xml:space="preserve">
|
||||||
|
<value>##未保存##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_程序已被强制停止" xml:space="preserve">
|
||||||
|
<value>##程序已被强制停止##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_空扇区" xml:space="preserve">
|
||||||
|
<value> 空扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="_缓存文件异常" xml:space="preserve">
|
||||||
|
<value>##缓存文件异常##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_计算得到BCC" xml:space="preserve">
|
||||||
|
<value>,计算得到BCC=</value>
|
||||||
|
</data>
|
||||||
|
<data name="_软件版本" xml:space="preserve">
|
||||||
|
<value>#软件版本 </value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行出错" xml:space="preserve">
|
||||||
|
<value>##运行出错##</value>
|
||||||
|
</data>
|
||||||
|
<data name="_运行完毕" xml:space="preserve">
|
||||||
|
<value>##运行完毕##</value>
|
||||||
|
</data>
|
||||||
|
<data name="AB文件中一个或两个无效" xml:space="preserve">
|
||||||
|
<value>AB文件中一个或两个无效。</value>
|
||||||
|
</data>
|
||||||
|
<data name="ACR122U支持已经打开过" xml:space="preserve">
|
||||||
|
<value>ACR122U支持已经打开过。</value>
|
||||||
|
</data>
|
||||||
|
<data name="DUMP文件_dump_MFD文件_mfd" xml:space="preserve">
|
||||||
|
<value>DUMP文件|*.dump|MFD文件|*.mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="Information" xml:space="preserve">
|
||||||
|
<value>Information</value>
|
||||||
|
</data>
|
||||||
|
<data name="InputError" xml:space="preserve">
|
||||||
|
<value>InputError</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyA_B_N" xml:space="preserve">
|
||||||
|
<value>KeyA/B/N</value>
|
||||||
|
</data>
|
||||||
|
<data name="MCT格式" xml:space="preserve">
|
||||||
|
<value>MCT格式|*.*</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_dump" xml:space="preserve">
|
||||||
|
<value>MFD文件|*.mfd;*.dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MFD文件_mfd_DUMP文件_dump" xml:space="preserve">
|
||||||
|
<value>MFD文件|*.mfd|DUMP文件|*.dump</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已取消" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 已取消</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_已终止" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 已终止</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行中" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 运行中</value>
|
||||||
|
</data>
|
||||||
|
<data name="MifareOne_Tool_运行完毕" xml:space="preserve">
|
||||||
|
<value>MifareOne Tool - 运行完毕</value>
|
||||||
|
</data>
|
||||||
|
<data name="nfc_bin_collect_exe" xml:space="preserve">
|
||||||
|
<value>nfc-bin/collect.exe</value>
|
||||||
|
</data>
|
||||||
|
<data name="res" xml:space="preserve">
|
||||||
|
<value>。</value>
|
||||||
|
</data>
|
||||||
|
<data name="txt文件_txt" xml:space="preserve">
|
||||||
|
<value>txt文件|*.txt</value>
|
||||||
|
</data>
|
||||||
|
<data name="UID已改为" xml:space="preserve">
|
||||||
|
<value>UID已改为</value>
|
||||||
|
</data>
|
||||||
|
<data name="不恰当的4字节UID长度" xml:space="preserve">
|
||||||
|
<value>不恰当的4字节UID长度</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否" xml:space="preserve">
|
||||||
|
<value>使用KeyA(是)或KeyB(否)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="使用KeyA_是_或KeyB_否_还是不使用_用于全新白卡_" xml:space="preserve">
|
||||||
|
<value>使用KeyA(是)或KeyB(否),还是不使用(用于全新白卡)(取消)?</value>
|
||||||
|
</data>
|
||||||
|
<data name="俄语" xml:space="preserve">
|
||||||
|
<value>俄语</value>
|
||||||
|
</data>
|
||||||
|
<data name="共找到" xml:space="preserve">
|
||||||
|
<value>共找到 </value>
|
||||||
|
</data>
|
||||||
|
<data name="写入出错" xml:space="preserve">
|
||||||
|
<value>写入出错</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的S50卡文件大小异常" xml:space="preserve">
|
||||||
|
<value>加载的S50卡文件大小异常。</value>
|
||||||
|
</data>
|
||||||
|
<data name="加载的文件不存在" xml:space="preserve">
|
||||||
|
<value>加载的文件不存在。</value>
|
||||||
|
</data>
|
||||||
|
<data name="危险操作警告" xml:space="preserve">
|
||||||
|
<value>危险操作警告</value>
|
||||||
|
</data>
|
||||||
|
<data name="同时打开ACR122U支持可能会引起操作速度下降_请确认是否" xml:space="preserve">
|
||||||
|
<value>同时打开ACR122U支持可能会引起操作速度下降。
|
||||||
|
请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="字典文件_dic" xml:space="preserve">
|
||||||
|
<value>字典文件|*.dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="密钥字典文件_dic" xml:space="preserve">
|
||||||
|
<value>密钥字典文件|*.dic</value>
|
||||||
|
</data>
|
||||||
|
<data name="将自动选择首个设备" xml:space="preserve">
|
||||||
|
<value>将自动选择首个设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="将要写入的文件存在错误_请用高级模式中的Hex工具打开查看" xml:space="preserve">
|
||||||
|
<value>将要写入的文件存在错误,请用高级模式中的Hex工具打开查看。</value>
|
||||||
|
</data>
|
||||||
|
<data name="已保存到" xml:space="preserve">
|
||||||
|
<value>已保存到</value>
|
||||||
|
</data>
|
||||||
|
<data name="已启用CUID空卡写入补丁" xml:space="preserve">
|
||||||
|
<value>已启用CUID空卡写入补丁</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出MCT文件" xml:space="preserve">
|
||||||
|
<value>已导出MCT文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="已导出密钥字典文件" xml:space="preserve">
|
||||||
|
<value>已导出密钥字典文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="已打开" xml:space="preserve">
|
||||||
|
<value>已打开。</value>
|
||||||
|
</data>
|
||||||
|
<data name="已找到_K" xml:space="preserve">
|
||||||
|
<value>已找到!K=</value>
|
||||||
|
</data>
|
||||||
|
<data name="已指定使用该NFC设备" xml:space="preserve">
|
||||||
|
<value>已指定使用该NFC设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="已更新扇区" xml:space="preserve">
|
||||||
|
<value>已更新扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="已重置并新建卡" xml:space="preserve">
|
||||||
|
<value>已重置并新建卡。</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行CUID_FUID卡片写入" xml:space="preserve">
|
||||||
|
<value>开始执行CUID/FUID卡片写入……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested收集数据" xml:space="preserve">
|
||||||
|
<value>开始执行HardNested收集数据……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行HardNested解密强化卡" xml:space="preserve">
|
||||||
|
<value>开始执行HardNested解密强化卡……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行MFOC解密" xml:space="preserve">
|
||||||
|
<value>开始执行MFOC解密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UFUID卡片锁定" xml:space="preserve">
|
||||||
|
<value>开始执行UFUID卡片锁定……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片全格" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片全格……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片写入" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片写入……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片设定卡号" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片设定卡号……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行UID卡片读取" xml:space="preserve">
|
||||||
|
<value>开始执行UID卡片读取……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行全加密卡片爆破" xml:space="preserve">
|
||||||
|
<value>开始执行全加密卡片爆破……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行写入M1卡片" xml:space="preserve">
|
||||||
|
<value>开始执行写入M1卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行字典模式MFOC解密" xml:space="preserve">
|
||||||
|
<value>开始执行字典模式MFOC解密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行扫描卡片" xml:space="preserve">
|
||||||
|
<value>开始执行扫描卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行格式化M1卡片" xml:space="preserve">
|
||||||
|
<value>开始执行格式化M1卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测卡片加密" xml:space="preserve">
|
||||||
|
<value>开始执行检测卡片加密……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行检测设备" xml:space="preserve">
|
||||||
|
<value>开始执行检测设备……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行读取卡片" xml:space="preserve">
|
||||||
|
<value>开始执行读取卡片……</value>
|
||||||
|
</data>
|
||||||
|
<data name="开始执行重置UID卡片卡号" xml:space="preserve">
|
||||||
|
<value>开始执行重置UID卡片卡号……</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前扇区数据仍有错误_不能执行修改" xml:space="preserve">
|
||||||
|
<value>当前扇区数据仍有错误,不能执行修改。</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区" xml:space="preserve">
|
||||||
|
<value>当前选定扇区:??</value>
|
||||||
|
</data>
|
||||||
|
<data name="当前选定扇区0" xml:space="preserve">
|
||||||
|
<value>当前选定扇区:</value>
|
||||||
|
</data>
|
||||||
|
<data name="您可以上传到云计算服务节点进行计算" xml:space="preserve">
|
||||||
|
<value>您可以上传到云计算服务节点进行计算。</value>
|
||||||
|
</data>
|
||||||
|
<data name="您已经运行了MifareOne_Tool_打开多个本程序可能" xml:space="preserve">
|
||||||
|
<value>您已经运行了MifareOne Tool,打开多个本程序可能会造成冲突及不可预料到的错误。
|
||||||
|
确认要继续吗?</value>
|
||||||
|
</data>
|
||||||
|
<data name="您正在试图重复运行" xml:space="preserve">
|
||||||
|
<value>您正在试图重复运行</value>
|
||||||
|
</data>
|
||||||
|
<data name="您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的" xml:space="preserve">
|
||||||
|
<value>您没有给定最后一次写卡导致0块损坏的卡数据文件来作为写卡时的密钥源。
|
||||||
|
操作终止。</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区" xml:space="preserve">
|
||||||
|
<value>扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="扇区0" xml:space="preserve">
|
||||||
|
<value>扇区 </value>
|
||||||
|
</data>
|
||||||
|
<data name="打开了" xml:space="preserve">
|
||||||
|
<value>打开了</value>
|
||||||
|
</data>
|
||||||
|
<data name="打开出错" xml:space="preserve">
|
||||||
|
<value>打开出错</value>
|
||||||
|
</data>
|
||||||
|
<data name="提示信息" xml:space="preserve">
|
||||||
|
<value>提示信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="文件内不是含有64个块数据_可能不完整或不兼容" xml:space="preserve">
|
||||||
|
<value>文件内不是含有64个块数据,可能不完整或不兼容。</value>
|
||||||
|
</data>
|
||||||
|
<data name="无密钥" xml:space="preserve">
|
||||||
|
<value>无密钥</value>
|
||||||
|
</data>
|
||||||
|
<data name="无法找到MFF08程序文件_操作终止" xml:space="preserve">
|
||||||
|
<value>无法找到MFF08程序文件。
|
||||||
|
操作终止。</value>
|
||||||
|
</data>
|
||||||
|
<data name="显示扇区" xml:space="preserve">
|
||||||
|
<value>显示扇区</value>
|
||||||
|
</data>
|
||||||
|
<data name="有任务运行中_不可执行" xml:space="preserve">
|
||||||
|
<value>有任务运行中,不可执行。</value>
|
||||||
|
</data>
|
||||||
|
<data name="未知" xml:space="preserve">
|
||||||
|
<value>未知</value>
|
||||||
|
</data>
|
||||||
|
<data name="未选择有效key_mfd" xml:space="preserve">
|
||||||
|
<value>未选择有效key.mfd。</value>
|
||||||
|
</data>
|
||||||
|
<data name="本地版本" xml:space="preserve">
|
||||||
|
<value>本地版本 </value>
|
||||||
|
</data>
|
||||||
|
<data name="标准" xml:space="preserve">
|
||||||
|
<value>标准</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在使用智能KeyABN" xml:space="preserve">
|
||||||
|
<value>正在使用智能KeyABN…</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在打开ACR122U支持" xml:space="preserve">
|
||||||
|
<value>正在打开ACR122U支持……</value>
|
||||||
|
</data>
|
||||||
|
<data name="正在检索是否存在key_mfd" xml:space="preserve">
|
||||||
|
<value>正在检索是否存在key.mfd…</value>
|
||||||
|
</data>
|
||||||
|
<data name="没有发现任何有效的NFC设备" xml:space="preserve">
|
||||||
|
<value>没有发现任何有效的NFC设备。</value>
|
||||||
|
</data>
|
||||||
|
<data name="秒" xml:space="preserve">
|
||||||
|
<value>秒</value>
|
||||||
|
</data>
|
||||||
|
<data name="空闲" xml:space="preserve">
|
||||||
|
<value>空闲</value>
|
||||||
|
</data>
|
||||||
|
<data name="终端内容已保存至m1t_log文件" xml:space="preserve">
|
||||||
|
<value>终端内容已保存至m1t.log文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备串口" xml:space="preserve">
|
||||||
|
<value>设备串口:</value>
|
||||||
|
</data>
|
||||||
|
<data name="设备忙" xml:space="preserve">
|
||||||
|
<value>设备忙</value>
|
||||||
|
</data>
|
||||||
|
<data name="设置错误_请修改" xml:space="preserve">
|
||||||
|
<value>设置错误,请修改。</value>
|
||||||
|
</data>
|
||||||
|
<data name="识别了以下设备" xml:space="preserve">
|
||||||
|
<value>识别了以下设备:</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已经自动为您更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,已经自动为您更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_已自动更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,已自动更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区UID校验值错误_请点击打开扇区0来自动更正" xml:space="preserve">
|
||||||
|
<value>该扇区UID校验值错误,请点击打开扇区0来自动更正。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区一切正常" xml:space="preserve">
|
||||||
|
<value>该扇区一切正常。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位损坏,写入将会损坏卡片,已重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位损坏_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位损坏,写入将会损坏卡片,请重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_已重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位无效,写入将会损坏卡片,已重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该扇区访问控制位无效_写入将会损坏卡片_请重新设置" xml:space="preserve">
|
||||||
|
<value>该扇区访问控制位无效,写入将会损坏卡片,请重新设置。
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会清空UID卡内全部数据_清空后不可恢复_请确认是否" xml:space="preserve">
|
||||||
|
<value>该操作将会清空UID卡内全部数据!!!
|
||||||
|
清空后不可恢复!请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该操作将会锁死UFUID卡片_锁死后不可恢复_无法再次更改0" xml:space="preserve">
|
||||||
|
<value>该操作将会锁死UFUID卡片!!!
|
||||||
|
锁死后不可恢复!无法再次更改0块!请确认是否要继续操作?</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件一切正常" xml:space="preserve">
|
||||||
|
<value>该文件一切正常。</value>
|
||||||
|
</data>
|
||||||
|
<data name="该文件存在以下错误" xml:space="preserve">
|
||||||
|
<value>该文件存在以下错误:
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="请检查接线是否正确_驱动是否正常安装_设备电源是否已经打开_" xml:space="preserve">
|
||||||
|
<value>请检查接线是否正确/驱动是否正常安装/设备电源是否已经打开(对于具有电源开关的型号)。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入UID号" xml:space="preserve">
|
||||||
|
<value>请输入UID号</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知Key" xml:space="preserve">
|
||||||
|
<value>请输入已知Key</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入已知的Key_以英文半角逗号分隔" xml:space="preserve">
|
||||||
|
<value>请输入已知的Key,以英文半角逗号分隔。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要写入的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>请输入需要写入的UID卡号,共8位十六进制数,如E44A3BF1。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请输入需要更改的UID卡号_共8位十六进制数_如E44A3B" xml:space="preserve">
|
||||||
|
<value>请输入需要更改的UID卡号,共8位十六进制数,如E44A3BF1。</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MCT_txt文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择MCT.txt文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择MFD文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择MFD文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择一个包含目标卡密钥的MFD文件_通常是已经破解出的该卡" xml:space="preserve">
|
||||||
|
<value>请选择一个包含目标卡密钥的MFD文件(通常是已经破解出的该卡的MFD文件)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择密钥字典文件保存位置及文件名" xml:space="preserve">
|
||||||
|
<value>请选择密钥字典文件保存位置及文件名</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择最后一次写卡导致0块损坏的卡数据文件" xml:space="preserve">
|
||||||
|
<value>请选择最后一次写卡导致0块损坏的卡数据文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要写入的MFD文件" xml:space="preserve">
|
||||||
|
<value>请选择需要写入的MFD文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MCT格式文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MCT格式文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较A" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件(比较A)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的MFD文件_比较B" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的MFD文件(比较B)</value>
|
||||||
|
</data>
|
||||||
|
<data name="请选择需要打开的密钥字典文件" xml:space="preserve">
|
||||||
|
<value>请选择需要打开的密钥字典文件</value>
|
||||||
|
</data>
|
||||||
|
<data name="输入的UID号不合法" xml:space="preserve">
|
||||||
|
<value>输入的UID号不合法</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行中" xml:space="preserve">
|
||||||
|
<value>运行中</value>
|
||||||
|
</data>
|
||||||
|
<data name="运行时间" xml:space="preserve">
|
||||||
|
<value>运行时间:</value>
|
||||||
|
</data>
|
||||||
|
<data name="选择key_mfd" xml:space="preserve">
|
||||||
|
<value>选择key.mfd</value>
|
||||||
|
</data>
|
||||||
|
<data name="错误" xml:space="preserve">
|
||||||
|
<value>错误</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
50
MifareOneTool/Properties/Settings.Designer.cs
generated
@ -1,10 +1,10 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// 此代码由工具生成。
|
// Этот код создан программой.
|
||||||
// 运行时版本:4.0.30319.42000
|
// Исполняемая версия:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||||
// 重新生成代码,这些更改将会丢失。
|
// повторной генерации кода.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ namespace MifareOneTool.Properties {
|
|||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
@ -58,7 +58,7 @@ namespace MifareOneTool.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||||
public bool AutoLoadUidKey {
|
public bool AutoLoadUidKey {
|
||||||
get {
|
get {
|
||||||
return ((bool)(this["AutoLoadUidKey"]));
|
return ((bool)(this["AutoLoadUidKey"]));
|
||||||
@ -70,7 +70,7 @@ namespace MifareOneTool.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("Lime")]
|
[global::System.Configuration.DefaultSettingValueAttribute("192, 255, 255")]
|
||||||
public global::System.Drawing.Color MainCLIColor {
|
public global::System.Drawing.Color MainCLIColor {
|
||||||
get {
|
get {
|
||||||
return ((global::System.Drawing.Color)(this["MainCLIColor"]));
|
return ((global::System.Drawing.Color)(this["MainCLIColor"]));
|
||||||
@ -151,5 +151,41 @@ namespace MifareOneTool.Properties {
|
|||||||
this["NewScan"] = value;
|
this["NewScan"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||||
|
public bool MultiMode {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["MultiMode"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["MultiMode"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||||
|
public bool CuidKeyOver {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["CuidKeyOver"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["CuidKeyOver"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
|
public string Language {
|
||||||
|
get {
|
||||||
|
return ((string)(this["Language"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["Language"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="AutoLoadUidKey" Type="System.Boolean" Scope="User">
|
<Setting Name="AutoLoadUidKey" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">False</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="MainCLIColor" Type="System.Drawing.Color" Scope="User">
|
<Setting Name="MainCLIColor" Type="System.Drawing.Color" Scope="User">
|
||||||
<Value Profile="(Default)">Lime</Value>
|
<Value Profile="(Default)">192, 255, 255</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="MainCLIFontSize" Type="System.Single" Scope="User">
|
<Setting Name="MainCLIFontSize" Type="System.Single" Scope="User">
|
||||||
<Value Profile="(Default)">9</Value>
|
<Value Profile="(Default)">9</Value>
|
||||||
@ -35,5 +35,14 @@
|
|||||||
<Setting Name="NewScan" Type="System.Boolean" Scope="User">
|
<Setting Name="NewScan" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="MultiMode" Type="System.Boolean" Scope="User">
|
||||||
|
<Value Profile="(Default)">False</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="CuidKeyOver" Type="System.Boolean" Scope="User">
|
||||||
|
<Value Profile="(Default)">True</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="Language" Type="System.String" Scope="User">
|
||||||
|
<Value Profile="(Default)" />
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
BIN
MifareOneTool/Resources/outline_info_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 247 B |
BIN
MifareOneTool/Resources/round_chevron_right_black_24dp.png
Normal file
|
After Width: | Height: | Size: 146 B |
BIN
MifareOneTool/Resources/round_clear_black_24dp.png
Normal file
|
After Width: | Height: | Size: 200 B |
BIN
MifareOneTool/Resources/round_done_all_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 191 B |
BIN
MifareOneTool/Resources/round_done_all_black_18pt_2x.png
Normal file
|
After Width: | Height: | Size: 309 B |
BIN
MifareOneTool/Resources/round_done_all_black_24dp.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
MifareOneTool/Resources/round_done_all_black_24pt_1x.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
MifareOneTool/Resources/round_done_all_black_36dp.png
Normal file
|
After Width: | Height: | Size: 309 B |
BIN
MifareOneTool/Resources/round_done_all_black_36pt_1x.png
Normal file
|
After Width: | Height: | Size: 309 B |
BIN
MifareOneTool/Resources/round_done_black_24pt_1x.png
Normal file
|
After Width: | Height: | Size: 162 B |
BIN
MifareOneTool/Resources/round_done_black_48pt_1x.png
Normal file
|
After Width: | Height: | Size: 248 B |
BIN
MifareOneTool/Resources/round_done_outline_black_24pt_1x.png
Normal file
|
After Width: | Height: | Size: 273 B |
BIN
MifareOneTool/Resources/round_info_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
MifareOneTool/Resources/round_sync_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 214 B |
BIN
MifareOneTool/Resources/round_timer_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 278 B |
BIN
MifareOneTool/Resources/round_update_black_18pt_1x.png
Normal file
|
After Width: | Height: | Size: 271 B |
BIN
MifareOneTool/Resources/round_update_black_24pt_1x.png
Normal file
|
After Width: | Height: | Size: 328 B |
286
MifareOneTool/SelectLanguage.cs
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
using MultiLang;
|
||||||
|
using System;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Collections;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.IO.IsolatedStorage;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Text;
|
||||||
|
using System.Xml;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace MultiLang
|
||||||
|
{
|
||||||
|
public partial class SelectLanguage : Form
|
||||||
|
{
|
||||||
|
public SelectLanguage()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
//Enums
|
||||||
|
//----------------------------------------------
|
||||||
|
public enum enumStartupMode
|
||||||
|
{
|
||||||
|
UseDefaultCulture = 0,
|
||||||
|
UseSavedCulture = 1,
|
||||||
|
ShowDialog = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum enumCultureMatch
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Language = 1,
|
||||||
|
Neutral = 2,
|
||||||
|
Region = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
//Member Variables
|
||||||
|
//----------------------------------------------
|
||||||
|
private enumStartupMode StartupMode;
|
||||||
|
private CultureInfo SelectedCulture;
|
||||||
|
|
||||||
|
// The array of supported cultures is updated automatically by Multi-Language for Visual Studio
|
||||||
|
private static string[] SupportedCultures = { "ru", "zh" } ; //MLHIDE
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
//Public Methods
|
||||||
|
//----------------------------------------------
|
||||||
|
public void LoadSettingsAndShow()
|
||||||
|
{
|
||||||
|
LoadSettingsAndShow(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void LoadSettingsAndShow(Boolean ForceShow)
|
||||||
|
{
|
||||||
|
LoadSettings();
|
||||||
|
|
||||||
|
if (ForceShow || (StartupMode == enumStartupMode.ShowDialog))
|
||||||
|
{
|
||||||
|
this.ShowDialog();
|
||||||
|
|
||||||
|
if (lstCultures.SelectedItem != null)
|
||||||
|
{
|
||||||
|
SelectedCulture = (CultureInfo)lstCultures.SelectedItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
SaveSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StartupMode != enumStartupMode.UseDefaultCulture)
|
||||||
|
{
|
||||||
|
if (SelectedCulture != null)
|
||||||
|
{
|
||||||
|
// Actually change the culture of the current thread.
|
||||||
|
Thread.CurrentThread.CurrentUICulture = SelectedCulture;
|
||||||
|
|
||||||
|
if (ForceShow)
|
||||||
|
{
|
||||||
|
#if true
|
||||||
|
// The code generated by VS.NET cannot be used to change the
|
||||||
|
// language of an active form. Show a message to this effect.
|
||||||
|
MessageBox.Show("The settings have been saved.\n" +
|
||||||
|
"The language change will take full effect the next time you start the program.",
|
||||||
|
"Select language",
|
||||||
|
MessageBoxButtons.OK);
|
||||||
|
#else
|
||||||
|
MLRuntime.MLRuntime.BroadcastLanguageChanged() ;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
//Private Methods
|
||||||
|
//----------------------------------------------
|
||||||
|
|
||||||
|
//
|
||||||
|
// SaveSettings and LoadSettings use an XML file, saved in so called
|
||||||
|
// Isolated Storage.
|
||||||
|
//
|
||||||
|
// I'm not convinced that this is really the best way or the best place
|
||||||
|
// to store this information, but it's certainly a .NET way to do it.
|
||||||
|
//
|
||||||
|
private void LoadSettings()
|
||||||
|
{
|
||||||
|
// Set the defaults
|
||||||
|
StartupMode = enumStartupMode.ShowDialog;
|
||||||
|
SelectedCulture = Thread.CurrentThread.CurrentUICulture;
|
||||||
|
|
||||||
|
// Create an IsolatedStorageFile object and get the store
|
||||||
|
// for this application.
|
||||||
|
IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForDomain();
|
||||||
|
|
||||||
|
// Check whether the file exists
|
||||||
|
if (isoStorage.GetFileNames("CultureSettings.xml").Length > 0) //MLHIDE
|
||||||
|
{
|
||||||
|
// Create isoStorage StreamReader.
|
||||||
|
StreamReader stmReader = new StreamReader
|
||||||
|
(new IsolatedStorageFileStream
|
||||||
|
("CultureSettings.xml",
|
||||||
|
FileMode.Open,
|
||||||
|
isoStorage)); //MLHIDE
|
||||||
|
|
||||||
|
XmlTextReader xmlReader = new XmlTextReader(stmReader);
|
||||||
|
|
||||||
|
// Loop through the XML file until all Nodes have been read and processed.
|
||||||
|
while (xmlReader.Read())
|
||||||
|
{
|
||||||
|
switch (xmlReader.Name)
|
||||||
|
{
|
||||||
|
case "StartupMode": //MLHIDE
|
||||||
|
StartupMode = (enumStartupMode)int.Parse(xmlReader.ReadString());
|
||||||
|
break;
|
||||||
|
case "Culture": //MLHIDE
|
||||||
|
String CultName = xmlReader.ReadString();
|
||||||
|
CultureInfo CultInfo = new CultureInfo(CultName);
|
||||||
|
SelectedCulture = CultInfo;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close the reader
|
||||||
|
xmlReader.Close();
|
||||||
|
stmReader.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
isoStorage.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SaveSettings()
|
||||||
|
{
|
||||||
|
|
||||||
|
// Get an isolated store for user, domain, and assembly and put it into
|
||||||
|
// an IsolatedStorageFile object.
|
||||||
|
IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForDomain();
|
||||||
|
|
||||||
|
// Create isoStorage StreamWriter and assign it to an XmlTextWriter variable.
|
||||||
|
IsolatedStorageFileStream stmWriter = new IsolatedStorageFileStream("CultureSettings.xml", FileMode.Create, isoStorage); //MLHIDE
|
||||||
|
XmlTextWriter writer = new XmlTextWriter(stmWriter, Encoding.UTF8);
|
||||||
|
|
||||||
|
writer.Formatting = Formatting.Indented;
|
||||||
|
writer.WriteStartDocument();
|
||||||
|
writer.WriteStartElement("CultureSettings"); //MLHIDE
|
||||||
|
writer.WriteStartElement("StartupMode"); //MLHIDE
|
||||||
|
writer.WriteString(((int)StartupMode).ToString());
|
||||||
|
writer.WriteEndElement();
|
||||||
|
writer.WriteStartElement("Culture"); //MLHIDE
|
||||||
|
writer.WriteString(SelectedCulture.Name);
|
||||||
|
writer.WriteEndElement();
|
||||||
|
writer.WriteEndElement();
|
||||||
|
writer.Flush();
|
||||||
|
writer.Close();
|
||||||
|
|
||||||
|
stmWriter.Close();
|
||||||
|
isoStorage.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SelectLanguage_Load(object sender, System.EventArgs e)
|
||||||
|
{
|
||||||
|
enumCultureMatch Match = enumCultureMatch.None;
|
||||||
|
enumCultureMatch NewMatch = enumCultureMatch.None;
|
||||||
|
|
||||||
|
// Version 1 detected which subdirectories are present.
|
||||||
|
|
||||||
|
// String AsmLocation = Assembly.GetExecutingAssembly ( ).Location;
|
||||||
|
// String AsmPath = Path.GetDirectoryName ( AsmLocation );
|
||||||
|
// List<String> DirList = new List<String> ( );
|
||||||
|
//
|
||||||
|
// DirList.AddRange ( Directory.GetDirectories ( AsmPath, "??" ) );
|
||||||
|
// DirList.AddRange ( Directory.GetDirectories ( AsmPath, "??-??*" ) );
|
||||||
|
//
|
||||||
|
// foreach ( String SubDirName in DirList )
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// String BaseName = Path.GetFileName ( SubDirName );
|
||||||
|
// CultureInfo Cult = new CultureInfo ( BaseName );
|
||||||
|
|
||||||
|
// Version 2 used the SupportedCultures array in MlString.h,
|
||||||
|
// which is autoamatically updated by Multi-Language for Visual Studio
|
||||||
|
// foreach ( String IetfTag in ml.SupportedCultures )
|
||||||
|
|
||||||
|
// Version 3 uses the SupportedCultures array in this file,
|
||||||
|
// which is autoamatically updated by Multi-Language for Visual Studio
|
||||||
|
foreach (String IetfTag in SupportedCultures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
CultureInfo Cult = new CultureInfo(IetfTag);
|
||||||
|
|
||||||
|
// Note: The property lstCultures.DisplayName is set to "NativeName" in order to
|
||||||
|
// show language name in its own language.
|
||||||
|
lstCultures.Items.Add(Cult);
|
||||||
|
|
||||||
|
// The rest of this logic is just to find the nearest match to the
|
||||||
|
// current UI culture.
|
||||||
|
// How well does this culture match?
|
||||||
|
if (SelectedCulture.Equals(Cult))
|
||||||
|
{
|
||||||
|
NewMatch = enumCultureMatch.Region;
|
||||||
|
}
|
||||||
|
else if (Cult.TwoLetterISOLanguageName == SelectedCulture.TwoLetterISOLanguageName)
|
||||||
|
{
|
||||||
|
if (Cult.IsNeutralCulture)
|
||||||
|
NewMatch = enumCultureMatch.Neutral;
|
||||||
|
else
|
||||||
|
NewMatch = enumCultureMatch.Language;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Is that better than the best match so far?
|
||||||
|
if (NewMatch > Match)
|
||||||
|
{
|
||||||
|
Match = NewMatch;
|
||||||
|
lstCultures.SelectedItem = Cult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (StartupMode)
|
||||||
|
{
|
||||||
|
case enumStartupMode.ShowDialog:
|
||||||
|
rbShow.Checked = true;
|
||||||
|
break;
|
||||||
|
case enumStartupMode.UseDefaultCulture:
|
||||||
|
rbDefault.Checked = true;
|
||||||
|
break;
|
||||||
|
case enumStartupMode.UseSavedCulture:
|
||||||
|
rbSelected.Checked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btOK_Click(object sender, System.EventArgs e)
|
||||||
|
{
|
||||||
|
if (lstCultures.SelectedItem != null)
|
||||||
|
{
|
||||||
|
SelectedCulture = (CultureInfo)lstCultures.SelectedItem;
|
||||||
|
}
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStartup_CheckedChanged(object sender, System.EventArgs e)
|
||||||
|
{
|
||||||
|
if (rbShow.Checked)
|
||||||
|
StartupMode = enumStartupMode.ShowDialog;
|
||||||
|
else if (rbSelected.Checked)
|
||||||
|
StartupMode = enumStartupMode.UseSavedCulture;
|
||||||
|
else if (rbDefault.Checked)
|
||||||
|
StartupMode = enumStartupMode.UseDefaultCulture;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
161
MifareOneTool/SelectLanguage.designer.cs
generated
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
namespace MultiLang
|
||||||
|
{
|
||||||
|
partial class SelectLanguage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.rbSelected = new System.Windows.Forms.RadioButton();
|
||||||
|
this.rbShow = new System.Windows.Forms.RadioButton();
|
||||||
|
this.lblStartup = new System.Windows.Forms.Label();
|
||||||
|
this.rbDefault = new System.Windows.Forms.RadioButton();
|
||||||
|
this.lstCultures = new System.Windows.Forms.ListBox();
|
||||||
|
this.btOK = new System.Windows.Forms.Button();
|
||||||
|
this.Panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.Panel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// rbSelected
|
||||||
|
//
|
||||||
|
this.rbSelected.AccessibleDescription = "";
|
||||||
|
this.rbSelected.AccessibleName = "";
|
||||||
|
this.rbSelected.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||||
|
this.rbSelected.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
|
this.rbSelected.Location = new System.Drawing.Point(4, 40);
|
||||||
|
this.rbSelected.Name = "rbSelected";
|
||||||
|
this.rbSelected.Size = new System.Drawing.Size(209, 20);
|
||||||
|
this.rbSelected.TabIndex = 2;
|
||||||
|
this.rbSelected.Text = "Use the selected language";
|
||||||
|
this.rbSelected.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
|
||||||
|
//
|
||||||
|
// rbShow
|
||||||
|
//
|
||||||
|
this.rbShow.AccessibleDescription = "";
|
||||||
|
this.rbShow.AccessibleName = "";
|
||||||
|
this.rbShow.Checked = true;
|
||||||
|
this.rbShow.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||||
|
this.rbShow.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
|
this.rbShow.Location = new System.Drawing.Point(4, 20);
|
||||||
|
this.rbShow.Name = "rbShow";
|
||||||
|
this.rbShow.Size = new System.Drawing.Size(209, 20);
|
||||||
|
this.rbShow.TabIndex = 1;
|
||||||
|
this.rbShow.TabStop = true;
|
||||||
|
this.rbShow.Text = "Show this form again";
|
||||||
|
this.rbShow.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
|
||||||
|
//
|
||||||
|
// lblStartup
|
||||||
|
//
|
||||||
|
this.lblStartup.AccessibleDescription = "";
|
||||||
|
this.lblStartup.AccessibleName = "";
|
||||||
|
this.lblStartup.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
|
this.lblStartup.Location = new System.Drawing.Point(4, 3);
|
||||||
|
this.lblStartup.Name = "lblStartup";
|
||||||
|
this.lblStartup.Size = new System.Drawing.Size(209, 17);
|
||||||
|
this.lblStartup.TabIndex = 0;
|
||||||
|
this.lblStartup.Text = "Next time ...";
|
||||||
|
//
|
||||||
|
// rbDefault
|
||||||
|
//
|
||||||
|
this.rbDefault.AccessibleDescription = "";
|
||||||
|
this.rbDefault.AccessibleName = "";
|
||||||
|
this.rbDefault.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||||
|
this.rbDefault.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
|
this.rbDefault.Location = new System.Drawing.Point(4, 60);
|
||||||
|
this.rbDefault.Name = "rbDefault";
|
||||||
|
this.rbDefault.Size = new System.Drawing.Size(209, 20);
|
||||||
|
this.rbDefault.TabIndex = 3;
|
||||||
|
this.rbDefault.Text = "Use the default language";
|
||||||
|
this.rbDefault.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
|
||||||
|
//
|
||||||
|
// lstCultures
|
||||||
|
//
|
||||||
|
this.lstCultures.AccessibleDescription = "";
|
||||||
|
this.lstCultures.AccessibleName = "";
|
||||||
|
this.lstCultures.DisplayMember = "NativeName";
|
||||||
|
this.lstCultures.Font = new System.Drawing.Font("Arial", 9.75F);
|
||||||
|
this.lstCultures.IntegralHeight = false;
|
||||||
|
this.lstCultures.ItemHeight = 16;
|
||||||
|
this.lstCultures.Location = new System.Drawing.Point(4, 4);
|
||||||
|
this.lstCultures.Name = "lstCultures";
|
||||||
|
this.lstCultures.Size = new System.Drawing.Size(264, 220);
|
||||||
|
this.lstCultures.TabIndex = 7;
|
||||||
|
this.lstCultures.DoubleClick += new System.EventHandler(this.btOK_Click);
|
||||||
|
//
|
||||||
|
// btOK
|
||||||
|
//
|
||||||
|
this.btOK.AccessibleDescription = "";
|
||||||
|
this.btOK.AccessibleName = "";
|
||||||
|
this.btOK.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
|
this.btOK.Location = new System.Drawing.Point(180, 316);
|
||||||
|
this.btOK.Name = "btOK";
|
||||||
|
this.btOK.Size = new System.Drawing.Size(90, 32);
|
||||||
|
this.btOK.TabIndex = 8;
|
||||||
|
this.btOK.Text = "OK";
|
||||||
|
this.btOK.Click += new System.EventHandler(this.btOK_Click);
|
||||||
|
//
|
||||||
|
// Panel1
|
||||||
|
//
|
||||||
|
this.Panel1.AccessibleDescription = "";
|
||||||
|
this.Panel1.AccessibleName = "";
|
||||||
|
this.Panel1.BackColor = System.Drawing.SystemColors.Control;
|
||||||
|
this.Panel1.Controls.Add(this.rbDefault);
|
||||||
|
this.Panel1.Controls.Add(this.rbSelected);
|
||||||
|
this.Panel1.Controls.Add(this.rbShow);
|
||||||
|
this.Panel1.Controls.Add(this.lblStartup);
|
||||||
|
this.Panel1.Location = new System.Drawing.Point(4, 228);
|
||||||
|
this.Panel1.Name = "Panel1";
|
||||||
|
this.Panel1.Size = new System.Drawing.Size(264, 84);
|
||||||
|
this.Panel1.TabIndex = 9;
|
||||||
|
//
|
||||||
|
// SelectLanguage
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(272, 352);
|
||||||
|
this.Controls.Add(this.lstCultures);
|
||||||
|
this.Controls.Add(this.btOK);
|
||||||
|
this.Controls.Add(this.Panel1);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||||
|
this.Name = "SelectLanguage";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "SelectLanguage";
|
||||||
|
this.Load += new System.EventHandler(this.SelectLanguage_Load);
|
||||||
|
this.Panel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
internal System.Windows.Forms.RadioButton rbSelected;
|
||||||
|
internal System.Windows.Forms.RadioButton rbShow;
|
||||||
|
internal System.Windows.Forms.Label lblStartup;
|
||||||
|
internal System.Windows.Forms.RadioButton rbDefault;
|
||||||
|
internal System.Windows.Forms.ListBox lstCultures;
|
||||||
|
internal System.Windows.Forms.Button btOK;
|
||||||
|
internal System.Windows.Forms.Panel Panel1;
|
||||||
|
}
|
||||||
|
}
|
||||||
120
MifareOneTool/SelectLanguage.resx
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
@ -24,10 +24,10 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="AutoLoadUidKey" serializeAs="String">
|
<setting name="AutoLoadUidKey" serializeAs="String">
|
||||||
<value>False</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="MainCLIColor" serializeAs="String">
|
<setting name="MainCLIColor" serializeAs="String">
|
||||||
<value>Lime</value>
|
<value>192, 255, 255</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="MainCLIFontSize" serializeAs="String">
|
<setting name="MainCLIFontSize" serializeAs="String">
|
||||||
<value>9</value>
|
<value>9</value>
|
||||||
@ -47,6 +47,15 @@
|
|||||||
<setting name="NewScan" serializeAs="String">
|
<setting name="NewScan" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="MultiMode" serializeAs="String">
|
||||||
|
<value>False</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="CuidKeyOver" serializeAs="String">
|
||||||
|
<value>True</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="Language" serializeAs="String">
|
||||||
|
<value />
|
||||||
|
</setting>
|
||||||
</MifareOneTool.Properties.Settings>
|
</MifareOneTool.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
3450
MifareOneTool/ml_temp_ControlsScan.xml
Normal file
10449
MifareOneTool/ml_temp_SourceScan.xml
Normal file
38
README.md
@ -1,40 +1,4 @@
|
|||||||
# MifareOneTool
|
# MifareOneTool
|
||||||
A GUI Mifare Classic tool on Windows
|
A GUI Mifare Classic tool on Windows
|
||||||
|
|
||||||
## 文档版本
|
因作者事务繁忙,软件不再更新。
|
||||||
- v1.5.0
|
|
||||||
|
|
||||||
## 安装
|
|
||||||
1. [下载最新发布](https://github.com/xcicode/MifareOneTool/releases/latest)
|
|
||||||
2. 解压M1T-Release.zip到独立目录(建议目录中不要出现空格)
|
|
||||||
3. 就绪!
|
|
||||||
|
|
||||||
## 兼容设备
|
|
||||||
PN532-UART
|
|
||||||
ACR122U(需要手动打开支持)
|
|
||||||
|
|
||||||
## 高级界面功能说明
|
|
||||||
检测:检测NFC设备连接状态
|
|
||||||
手动扫描: 扫描读卡器上的卡片并显示基本信息
|
|
||||||
手动CLI: 打开cmd,切换到nfc-bin/下,可手动调用命令行工具
|
|
||||||
读卡: 读取普通卡片,需要指定KeyA/B,如果不是默认密码或空白卡片,需要指定密钥文件
|
|
||||||
写卡: 写入普通卡片,需要指定KeyA/B,如果不是默认密码或空白卡片,需要指定密钥文件
|
|
||||||
选择key.mfd: 指定密钥文件
|
|
||||||
UID重置: 将UID卡的UID重置为随机数
|
|
||||||
UID全格: 执行[UID重置]并清空所有扇区数据、恢复访问控制位
|
|
||||||
UID写号: 将UID卡的UID设置为指定号码
|
|
||||||
MFOC: 执行半加密卡Nested破解(仅建议针对SAK=08的卡片使用)
|
|
||||||
`注:按住Ctrl点击该按钮可添加已知密钥。`
|
|
||||||
后门读: 读取UID卡,忽视扇区密钥
|
|
||||||
后门写: 写入UID卡,忽视扇区密钥
|
|
||||||
清空终端: 清空终端缓冲区显示的文本
|
|
||||||
保存日志: 将终端缓冲区的文本保存至m1t.log文件中
|
|
||||||
停止运行: 强行停止正在运行的功能
|
|
||||||
MFCUK爆密钥: 调用MFCUK工具爆破全加密卡的密钥
|
|
||||||
CUID写: 写入CUID卡(一种使用普通指令写0块的卡片)
|
|
||||||
锁Ufuid: 锁定Ufuid卡片的0扇区使其不可再写入
|
|
||||||
清M1卡: 使用选择的key.mfd清空卡内数据
|
|
||||||
启用ACR122U支持: 打开对ACR122U的支持
|
|
||||||
`注:打开后可能会导致运行速度变慢。`
|
|
||||||
Hex编辑器: 打开集成编辑器S50HTool
|
|
||||||
检加密:查看M1卡的加密情况
|
|
||||||
|
|||||||