russian tranlate

This commit is contained in:
Semen8991 2019-05-08 15:05:50 +03:00
parent cdcbd66770
commit 9887b82c63
29 changed files with 29976 additions and 930 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1772
MifareOneTool/Form1.ru.resx Normal file

File diff suppressed because it is too large Load Diff

1268
MifareOneTool/Form1.zh.resx Normal file

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,7 @@
/// </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();
@ -38,52 +39,36 @@
// //
this.richTextBox1.BackColor = System.Drawing.Color.Black; this.richTextBox1.BackColor = System.Drawing.Color.Black;
this.richTextBox1.ForeColor = System.Drawing.Color.Orange; this.richTextBox1.ForeColor = System.Drawing.Color.Orange;
this.richTextBox1.Location = new System.Drawing.Point(12, 74); 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.ForcedVertical;
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);
// //
// 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.button3); this.Controls.Add(this.button3);
this.Controls.Add(this.button2); this.Controls.Add(this.button2);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
@ -91,7 +76,6 @@
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.ResumeLayout(false); this.ResumeLayout(false);

View File

@ -117,4 +117,161 @@
<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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="richTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 99</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="richTextBox1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 4, 3, 4</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>527, 631</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="&gt;&gt;richTextBox1.Name" xml:space="preserve">
<value>richTextBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;richTextBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;richTextBox1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 16</value>
</data>
<data name="button1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 4, 3, 4</value>
</data>
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 33</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="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 57</value>
</data>
<data name="button2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 4, 3, 4</value>
</data>
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 33</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="&gt;&gt;button2.Name" xml:space="preserve">
<value>button2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;button2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="button3.Location" type="System.Drawing.Point, System.Drawing">
<value>457, 16</value>
</data>
<data name="button3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 4, 3, 4</value>
</data>
<data name="button3.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 75</value>
</data>
<data name="button3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;button3.Name" xml:space="preserve">
<value>button3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;button3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button3.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>555, 747</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 4, 3, 4</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>FormDiff</value>
</data>
<data name="&gt;&gt;$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>

View File

@ -0,0 +1,148 @@
<?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 />
</data>
<data name="button2.Text" xml:space="preserve">
<value>В</value>
</data>
<data name="button3.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>Добро пожаловать во встроенный инструмент различий M1T!
Описание:
Нажмите две кнопки AB выше, чтобы выбрать файл MFD.
Затем нажмите «Сравнить», чтобы увидеть результаты.
</value>
</data>
</root>

View 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>

View File

@ -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();
@ -85,15 +86,12 @@
// //
// 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.Padding = new System.Windows.Forms.Padding(4, 2, 0, 2);
this.menuStrip1.Size = new System.Drawing.Size(628, 25);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
// //
// 文件ToolStripMenuItem // 文件ToolStripMenuItem
// //
@ -105,53 +103,41 @@
this.toolStripSeparator1, this.toolStripSeparator1,
this.退ToolStripMenuItem}); this.退ToolStripMenuItem});
this.ToolStripMenuItem.Name = "文件ToolStripMenuItem"; this.ToolStripMenuItem.Name = "文件ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); 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(190, 22);
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(190, 22);
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(190, 22);
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(190, 22);
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(187, 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(190, 22);
this.退ToolStripMenuItem.Text = "退出";
this.退ToolStripMenuItem.Click += new System.EventHandler(this.退ToolStripMenuItem_Click); this.退ToolStripMenuItem.Click += new System.EventHandler(this.退ToolStripMenuItem_Click);
// //
// 工具ToolStripMenuItem // 工具ToolStripMenuItem
@ -168,91 +154,71 @@
this.toolStripSeparator4, this.toolStripSeparator4,
this.ToolStripMenuItem}); this.ToolStripMenuItem});
this.ToolStripMenuItem.Name = "工具ToolStripMenuItem"; this.ToolStripMenuItem.Name = "工具ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); 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(212, 22);
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(209, 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(212, 22);
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(212, 22);
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(209, 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(212, 22);
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(212, 22);
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(212, 22);
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(209, 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(212, 22);
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(9, 25); resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Size = new System.Drawing.Size(188, 327);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "扇区列表";
// //
// dataGridView1 // dataGridView1
// //
@ -264,25 +230,19 @@
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(2, 16);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
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(184, 309);
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;
@ -309,23 +269,14 @@
this.groupBox2.Controls.Add(this.block0Edit); this.groupBox2.Controls.Add(this.block0Edit);
this.groupBox2.Controls.Add(this.label1); this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Controls.Add(this.labelCurSec); this.groupBox2.Controls.Add(this.labelCurSec);
this.groupBox2.Location = new System.Drawing.Point(201, 25); resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Size = new System.Drawing.Size(219, 327);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "扇区信息";
// //
// buttonSaveSectorEdit // buttonSaveSectorEdit
// //
this.buttonSaveSectorEdit.Location = new System.Drawing.Point(110, 13); resources.ApplyResources(this.buttonSaveSectorEdit, "buttonSaveSectorEdit");
this.buttonSaveSectorEdit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.buttonSaveSectorEdit.Name = "buttonSaveSectorEdit"; this.buttonSaveSectorEdit.Name = "buttonSaveSectorEdit";
this.buttonSaveSectorEdit.Size = new System.Drawing.Size(104, 20);
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);
// //
@ -335,19 +286,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(4, 303); resources.ApplyResources(this.comboBox4, "comboBox4");
this.comboBox4.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.comboBox4.Name = "comboBox4"; this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(211, 20);
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
@ -355,19 +303,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(4, 268); resources.ApplyResources(this.comboBox3, "comboBox3");
this.comboBox3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.comboBox3.Name = "comboBox3"; this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(211, 20);
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
@ -375,19 +320,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(4, 233); resources.ApplyResources(this.comboBox2, "comboBox2");
this.comboBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.comboBox2.Name = "comboBox2"; this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(211, 20);
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
@ -395,191 +337,113 @@
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(4, 198); resources.ApplyResources(this.comboBox1, "comboBox1");
this.comboBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.comboBox1.Name = "comboBox1"; this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(211, 20);
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(2, 289);
this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label9.Name = "label9"; this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(89, 12);
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(4, 254);
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label8.Name = "label8"; this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(47, 12);
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(2, 218);
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(47, 12);
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(4, 183);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(47, 12);
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(124, 146);
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
this.label5.TabIndex = 11;
this.label5.Text = "KeyB";
// //
// keyBEdit // keyBEdit
// //
this.keyBEdit.Location = new System.Drawing.Point(124, 161); resources.ApplyResources(this.keyBEdit, "keyBEdit");
this.keyBEdit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.keyBEdit.Name = "keyBEdit"; this.keyBEdit.Name = "keyBEdit";
this.keyBEdit.Size = new System.Drawing.Size(91, 21);
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(4, 161); resources.ApplyResources(this.keyAEdit, "keyAEdit");
this.keyAEdit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.keyAEdit.Name = "keyAEdit"; this.keyAEdit.Name = "keyAEdit";
this.keyAEdit.Size = new System.Drawing.Size(91, 21);
this.keyAEdit.TabIndex = 9;
this.keyAEdit.TextChanged += new System.EventHandler(this.keyAEdit_TextChanged); this.keyAEdit.TextChanged += new System.EventHandler(this.keyAEdit_TextChanged);
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(4, 124); resources.ApplyResources(this.block2Edit, "block2Edit");
this.block2Edit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.block2Edit.Name = "block2Edit"; this.block2Edit.Name = "block2Edit";
this.block2Edit.Size = new System.Drawing.Size(211, 21);
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(4, 146);
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label4.Name = "label4"; this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
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(4, 110);
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(35, 12);
this.label3.TabIndex = 5;
this.label3.Text = "第2块";
// //
// block1Edit // block1Edit
// //
this.block1Edit.Location = new System.Drawing.Point(4, 87); resources.ApplyResources(this.block1Edit, "block1Edit");
this.block1Edit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.block1Edit.Name = "block1Edit"; this.block1Edit.Name = "block1Edit";
this.block1Edit.Size = new System.Drawing.Size(211, 21);
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(4, 73);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(35, 12);
this.label2.TabIndex = 3;
this.label2.Text = "第1块";
// //
// block0Edit // block0Edit
// //
this.block0Edit.Location = new System.Drawing.Point(4, 50); resources.ApplyResources(this.block0Edit, "block0Edit");
this.block0Edit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.block0Edit.Name = "block0Edit"; this.block0Edit.Name = "block0Edit";
this.block0Edit.Size = new System.Drawing.Size(211, 21);
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(4, 36);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 12);
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(4, 17);
this.labelCurSec.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelCurSec.Name = "labelCurSec"; this.labelCurSec.Name = "labelCurSec";
this.labelCurSec.Size = new System.Drawing.Size(113, 12);
this.labelCurSec.TabIndex = 0;
this.labelCurSec.Text = "当前选定扇区:??";
// //
// groupBox3 // groupBox3
// //
this.groupBox3.Controls.Add(this.richTextBox1); this.groupBox3.Controls.Add(this.richTextBox1);
this.groupBox3.Location = new System.Drawing.Point(424, 25); resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox3.Size = new System.Drawing.Size(195, 327);
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(4, 19); resources.ApplyResources(this.richTextBox1, "richTextBox1");
this.richTextBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
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(187, 304);
this.richTextBox1.TabIndex = 0;
this.richTextBox1.Text = "欢迎使用M1T的集成编辑器S50HTool\n打开文件请点左上角文件-打开或Ctrl+O\n";
// //
// s50BindingSource // s50BindingSource
// //
@ -588,19 +452,16 @@
// FormHTool // FormHTool
// //
this.AcceptButton = this.buttonSaveSectorEdit; this.AcceptButton = this.buttonSaveSectorEdit;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(628, 362);
this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1); 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.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
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();

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,126 @@
<?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="label4.Text" xml:space="preserve">
<value>KEYA</value>
</data>
<data name="label5.Text" xml:space="preserve">
<value>KEYB</value>
</data>
</root>

View 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>

View File

@ -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();
@ -52,24 +53,16 @@
// //
// button1 // button1
// //
this.button1.Location = new System.Drawing.Point(231, 150); resources.ApplyResources(this.button1, "button1");
this.button1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(56, 20);
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
// //
this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.button2.Location = new System.Drawing.Point(170, 150); resources.ApplyResources(this.button2, "button2");
this.button2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.button2.Name = "button2"; this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(56, 20);
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);
// //
@ -82,141 +75,78 @@
this.groupBox1.Controls.Add(this.sector1); this.groupBox1.Controls.Add(this.sector1);
this.groupBox1.Controls.Add(this.keyEdit); this.groupBox1.Controls.Add(this.keyEdit);
this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Location = new System.Drawing.Point(9, 10); resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Size = new System.Drawing.Size(278, 65);
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(194, 32);
this.radioKey1B.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKey1B.Name = "radioKey1B"; this.radioKey1B.Name = "radioKey1B";
this.radioKey1B.Size = new System.Drawing.Size(47, 16);
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(145, 32);
this.radioKey1A.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKey1A.Name = "radioKey1A"; this.radioKey1A.Name = "radioKey1A";
this.radioKey1A.Size = new System.Drawing.Size(47, 16);
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(142, 17);
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label4.Name = "label4"; this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
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(99, 17);
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 12;
this.label3.Text = "扇区号";
// //
// sector1 // sector1
// //
this.sector1.Location = new System.Drawing.Point(101, 31); resources.ApplyResources(this.sector1, "sector1");
this.sector1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.sector1.Name = "sector1"; this.sector1.Name = "sector1";
this.sector1.Size = new System.Drawing.Size(36, 21);
this.sector1.TabIndex = 11;
this.sector1.Text = "0";
// //
// keyEdit // keyEdit
// //
this.keyEdit.Location = new System.Drawing.Point(7, 31); resources.ApplyResources(this.keyEdit, "keyEdit");
this.keyEdit.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.keyEdit.Name = "keyEdit"; this.keyEdit.Name = "keyEdit";
this.keyEdit.Size = new System.Drawing.Size(91, 21);
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(4, 17);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(59, 12);
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(9, 154);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(161, 12);
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(194, 32);
this.radioKey2B.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKey2B.Name = "radioKey2B"; this.radioKey2B.Name = "radioKey2B";
this.radioKey2B.Size = new System.Drawing.Size(47, 16);
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(145, 32);
this.radioKey2A.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKey2A.Name = "radioKey2A"; this.radioKey2A.Name = "radioKey2A";
this.radioKey2A.Size = new System.Drawing.Size(47, 16);
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(142, 17);
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
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(99, 17);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 12;
this.label6.Text = "扇区号";
// //
// groupBox2 // groupBox2
// //
@ -226,41 +156,27 @@
this.groupBox2.Controls.Add(this.label5); this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.sector2); this.groupBox2.Controls.Add(this.sector2);
this.groupBox2.Location = new System.Drawing.Point(9, 79); resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Size = new System.Drawing.Size(278, 65);
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(5, 19);
this.checkBoxColOnly.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.checkBoxColOnly.Name = "checkBoxColOnly"; this.checkBoxColOnly.Name = "checkBoxColOnly";
this.checkBoxColOnly.Size = new System.Drawing.Size(96, 16);
this.checkBoxColOnly.TabIndex = 17;
this.checkBoxColOnly.Text = "只采集不计算";
this.checkBoxColOnly.UseVisualStyleBackColor = true; this.checkBoxColOnly.UseVisualStyleBackColor = true;
// //
// sector2 // sector2
// //
this.sector2.Location = new System.Drawing.Point(101, 31); resources.ApplyResources(this.sector2, "sector2");
this.sector2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.sector2.Name = "sector2"; this.sector2.Name = "sector2";
this.sector2.Size = new System.Drawing.Size(36, 21);
this.sector2.TabIndex = 11;
// //
// FormHardNes // FormHardNes
// //
this.AcceptButton = this.button1; this.AcceptButton = this.button1;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 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(296, 179);
this.ControlBox = false; this.ControlBox = false;
this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox2);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
@ -268,11 +184,9 @@
this.Controls.Add(this.button2); this.Controls.Add(this.button2);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
this.KeyPreview = true; this.KeyPreview = true;
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
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);

View File

@ -117,4 +117,492 @@
<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="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>346, 250</value>
</data>
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 33</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="button1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
<value>255, 250</value>
</data>
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 33</value>
</data>
<data name="button2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;button2.Name" xml:space="preserve">
<value>button2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;button2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button2.ZOrder" xml:space="preserve">
<value>3</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>291, 53</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="&gt;&gt;radioKey1B.Name" xml:space="preserve">
<value>radioKey1B</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;radioKey1B.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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>218, 53</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="&gt;&gt;radioKey1A.Name" xml:space="preserve">
<value>radioKey1A</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;radioKey1A.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;radioKey1A.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>213, 28</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label4.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>148, 28</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="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label3.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="sector1.Location" type="System.Drawing.Point, System.Drawing">
<value>152, 52</value>
</data>
<data name="sector1.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 26</value>
</data>
<data name="sector1.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;sector1.Name" xml:space="preserve">
<value>sector1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;sector1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;sector1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="keyEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 52</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="&gt;&gt;keyEdit.Name" xml:space="preserve">
<value>keyEdit</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;keyEdit.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;keyEdit.ZOrder" xml:space="preserve">
<value>5</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>6, 28</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>83, 20</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label2.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 17</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>417, 108</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 257</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>217, 20</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>1</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>291, 53</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="&gt;&gt;radioKey2B.Name" xml:space="preserve">
<value>radioKey2B</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;radioKey2B.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;radioKey2B.ZOrder" xml:space="preserve">
<value>1</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>218, 53</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="&gt;&gt;radioKey2A.Name" xml:space="preserve">
<value>radioKey2A</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;radioKey2A.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;radioKey2A.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>213, 28</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;label5.Name" xml:space="preserve">
<value>label5</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label5.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>148, 28</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="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label6.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="checkBoxColOnly.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBoxColOnly.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 32</value>
</data>
<data name="checkBoxColOnly.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 24</value>
</data>
<data name="checkBoxColOnly.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="&gt;&gt;checkBoxColOnly.Name" xml:space="preserve">
<value>checkBoxColOnly</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;checkBoxColOnly.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;checkBoxColOnly.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="sector2.Location" type="System.Drawing.Point, System.Drawing">
<value>152, 52</value>
</data>
<data name="sector2.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 26</value>
</data>
<data name="sector2.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;sector2.Name" xml:space="preserve">
<value>sector2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;sector2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;sector2.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 132</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>417, 108</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.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>444, 298</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>FormHardNes</value>
</data>
<data name="&gt;&gt;$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>

View File

@ -0,0 +1,174 @@
<?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>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>
</root>

View 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>

View File

@ -48,24 +48,15 @@
// groupBox1 // groupBox1
// //
this.groupBox1.Controls.Add(this.label1); this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Location = new System.Drawing.Point(12, 12); resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(635, 100);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "说明";
// //
// label1 // label1
// //
this.label1.AutoSize = true; resources.ApplyResources(this.label1, "label1");
this.label1.Font = new System.Drawing.Font("宋体", 9.5F);
this.label1.ForeColor = System.Drawing.Color.Blue; this.label1.ForeColor = System.Drawing.Color.Blue;
this.label1.Location = new System.Drawing.Point(6, 17);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(584, 39);
this.label1.TabIndex = 0;
this.label1.Text = "本工具由nfc-mfclassic做少许修改而来。可用于1K大小CUID卡0块损坏的修复。\r\n本工具可以修复SAK写错不认卡类型、ATQA写错不认卡大小" +
"对于BCC写错暂时无能为力。\r\n请准备好你最后一次写入该卡导致0块损坏的卡数据文件如果卡片有加密。";
// //
// groupBox2 // groupBox2
// //
@ -75,106 +66,73 @@
this.groupBox2.Controls.Add(this.label2); this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Controls.Add(this.buttonKeyWrite); this.groupBox2.Controls.Add(this.buttonKeyWrite);
this.groupBox2.Controls.Add(this.buttonWriteEmpty); this.groupBox2.Controls.Add(this.buttonWriteEmpty);
this.groupBox2.Location = new System.Drawing.Point(12, 118); resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(635, 100);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "操作";
// //
// buttonClr // buttonClr
// //
this.buttonClr.Location = new System.Drawing.Point(585, 33); resources.ApplyResources(this.buttonClr, "buttonClr");
this.buttonClr.Name = "buttonClr"; this.buttonClr.Name = "buttonClr";
this.buttonClr.Size = new System.Drawing.Size(44, 23);
this.buttonClr.TabIndex = 4;
this.buttonClr.Text = "清除";
this.buttonClr.UseVisualStyleBackColor = true; this.buttonClr.UseVisualStyleBackColor = true;
this.buttonClr.Click += new System.EventHandler(this.buttonClr_Click); this.buttonClr.Click += new System.EventHandler(this.buttonClr_Click);
// //
// buttonLoadKey // buttonLoadKey
// //
this.buttonLoadKey.Location = new System.Drawing.Point(504, 33); resources.ApplyResources(this.buttonLoadKey, "buttonLoadKey");
this.buttonLoadKey.Name = "buttonLoadKey"; this.buttonLoadKey.Name = "buttonLoadKey";
this.buttonLoadKey.Size = new System.Drawing.Size(75, 23);
this.buttonLoadKey.TabIndex = 1;
this.buttonLoadKey.Text = "加载…";
this.buttonLoadKey.UseVisualStyleBackColor = true; this.buttonLoadKey.UseVisualStyleBackColor = true;
this.buttonLoadKey.Click += new System.EventHandler(this.buttonLoadKey_Click); this.buttonLoadKey.Click += new System.EventHandler(this.buttonLoadKey_Click);
// //
// keyfileBox // keyfileBox
// //
this.keyfileBox.Location = new System.Drawing.Point(237, 35); resources.ApplyResources(this.keyfileBox, "keyfileBox");
this.keyfileBox.Name = "keyfileBox"; this.keyfileBox.Name = "keyfileBox";
this.keyfileBox.Size = new System.Drawing.Size(261, 21);
this.keyfileBox.TabIndex = 3;
// //
// label2 // label2
// //
this.label2.AutoSize = true; resources.ApplyResources(this.label2, "label2");
this.label2.Location = new System.Drawing.Point(235, 20);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(227, 12);
this.label2.TabIndex = 2;
this.label2.Text = "最后一次写卡导致0块损坏的卡数据文件";
// //
// buttonKeyWrite // buttonKeyWrite
// //
this.buttonKeyWrite.Font = new System.Drawing.Font("宋体", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); resources.ApplyResources(this.buttonKeyWrite, "buttonKeyWrite");
this.buttonKeyWrite.Location = new System.Drawing.Point(121, 20);
this.buttonKeyWrite.Name = "buttonKeyWrite"; this.buttonKeyWrite.Name = "buttonKeyWrite";
this.buttonKeyWrite.Size = new System.Drawing.Size(83, 74);
this.buttonKeyWrite.TabIndex = 1;
this.buttonKeyWrite.Text = "修复写入\r\n有密码\r\nCUID卡";
this.buttonKeyWrite.UseVisualStyleBackColor = true; this.buttonKeyWrite.UseVisualStyleBackColor = true;
this.buttonKeyWrite.Click += new System.EventHandler(this.buttonKeyWrite_Click); this.buttonKeyWrite.Click += new System.EventHandler(this.buttonKeyWrite_Click);
// //
// buttonWriteEmpty // buttonWriteEmpty
// //
this.buttonWriteEmpty.Font = new System.Drawing.Font("宋体", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); resources.ApplyResources(this.buttonWriteEmpty, "buttonWriteEmpty");
this.buttonWriteEmpty.Location = new System.Drawing.Point(8, 20);
this.buttonWriteEmpty.Name = "buttonWriteEmpty"; this.buttonWriteEmpty.Name = "buttonWriteEmpty";
this.buttonWriteEmpty.Size = new System.Drawing.Size(83, 74);
this.buttonWriteEmpty.TabIndex = 0;
this.buttonWriteEmpty.Text = "修复写入\r\n无密空白\r\nCUID卡";
this.buttonWriteEmpty.UseVisualStyleBackColor = true; this.buttonWriteEmpty.UseVisualStyleBackColor = true;
this.buttonWriteEmpty.Click += new System.EventHandler(this.buttonWriteEmpty_Click); this.buttonWriteEmpty.Click += new System.EventHandler(this.buttonWriteEmpty_Click);
// //
// groupBox3 // groupBox3
// //
this.groupBox3.Controls.Add(this.logBox); this.groupBox3.Controls.Add(this.logBox);
this.groupBox3.Location = new System.Drawing.Point(12, 224); resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(635, 188);
this.groupBox3.TabIndex = 0;
this.groupBox3.TabStop = false; this.groupBox3.TabStop = false;
this.groupBox3.Text = "日志";
// //
// logBox // logBox
// //
this.logBox.BackColor = System.Drawing.Color.Black; this.logBox.BackColor = System.Drawing.Color.Black;
this.logBox.Dock = System.Windows.Forms.DockStyle.Fill; resources.ApplyResources(this.logBox, "logBox");
this.logBox.ForeColor = System.Drawing.Color.Gold; this.logBox.ForeColor = System.Drawing.Color.Gold;
this.logBox.Location = new System.Drawing.Point(3, 17);
this.logBox.Name = "logBox"; this.logBox.Name = "logBox";
this.logBox.ReadOnly = true; this.logBox.ReadOnly = true;
this.logBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;
this.logBox.Size = new System.Drawing.Size(629, 168);
this.logBox.TabIndex = 0;
this.logBox.Text = resources.GetString("logBox.Text");
// //
// FormMFF08 // FormMFF08
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(659, 424);
this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false; this.MaximizeBox = false;
this.Name = "FormMFF08"; this.Name = "FormMFF08";
this.Text = "MFF08 Tool-CUID修复工具";
this.Load += new System.EventHandler(this.FormMFF08_Load); this.Load += new System.EventHandler(this.FormMFF08_Load);
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();

View File

@ -117,6 +117,54 @@
<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="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却没有改BCCSAK=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"> <data name="logBox.Text" xml:space="preserve">
<value>每个人使用CUID卡的时候总会因不了解或是不经意犯下一些小错误。 <value>每个人使用CUID卡的时候总会因不了解或是不经意犯下一些小错误。
比如使用编辑器修改UID却没有改BCCSAK=28的卡片解密后的文件直接写入又或是从S70卡片导入数据写入1K卡却没有更正ATQA。 比如使用编辑器修改UID却没有改BCCSAK=28的卡片解密后的文件直接写入又或是从S70卡片导入数据写入1K卡却没有更正ATQA。
@ -125,4 +173,319 @@ MFF08工具给了你一次修复这些损坏卡片的机会。
</value> </value>
</data> </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="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonClr.Name" xml:space="preserve">
<value>buttonClr</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonClr.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonLoadKey.Name" xml:space="preserve">
<value>buttonLoadKey</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonLoadKey.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;keyfileBox.Name" xml:space="preserve">
<value>keyfileBox</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;keyfileBox.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;label2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonKeyWrite.Name" xml:space="preserve">
<value>buttonKeyWrite</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonKeyWrite.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonWriteEmpty.Name" xml:space="preserve">
<value>buttonWriteEmpty</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;buttonWriteEmpty.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;logBox.Name" xml:space="preserve">
<value>logBox</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;logBox.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;$this.Name" xml:space="preserve">
<value>FormMFF08</value>
</data>
<data name="&gt;&gt;$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>

View 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>

View 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却没有改BCCSAK=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却没有改BCCSAK=28的卡片解密后的文件直接写入又或是从S70卡片导入数据写入1K卡却没有更正ATQA。
MFF08工具给了你一次修复这些损坏卡片的机会。
------------------------------------------------------------------------
</value>
</data>
</root>

View File

@ -104,21 +104,57 @@
<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" />
<Compile Include="SelectLanguage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SelectLanguage.designer.cs">
<DependentUpon>SelectLanguage.cs</DependentUpon>
</Compile>
<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"> <EmbeddedResource Include="FormMFF08.resx">
<DependentUpon>FormMFF08.cs</DependentUpon> <DependentUpon>FormMFF08.cs</DependentUpon>
</EmbeddedResource> </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>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@ -128,6 +164,12 @@
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
</Compile> </Compile>
<EmbeddedResource Include="SelectLanguage.resx">
<DependentUpon>SelectLanguage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SelectLanguage.zh.resx">
<DependentUpon>SelectLanguage.cs</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>
@ -162,6 +204,7 @@
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="MifareOneTool_ml.xml" />
<Content Include="nfc_128.ico" /> <Content Include="nfc_128.ico" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,13 @@ namespace MifareOneTool
{ {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
//Show the language select dialog
MultiLang.SelectLanguage frmLang = new MultiLang.SelectLanguage() ;
frmLang.LoadSettingsAndShow() ;
frmLang.Dispose() ;
frmLang = null ;
Application.Run(new Form1()); Application.Run(new Form1());
} }
else else

View 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;
}
}
}

115
MifareOneTool/SelectLanguage.designer.cs generated Normal file
View File

@ -0,0 +1,115 @@
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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectLanguage));
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
//
resources.ApplyResources(this.rbSelected, "rbSelected");
this.rbSelected.Name = "rbSelected";
this.rbSelected.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
//
// rbShow
//
resources.ApplyResources(this.rbShow, "rbShow");
this.rbShow.Checked = true;
this.rbShow.Name = "rbShow";
this.rbShow.TabStop = true;
this.rbShow.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
//
// lblStartup
//
resources.ApplyResources(this.lblStartup, "lblStartup");
this.lblStartup.Name = "lblStartup";
//
// rbDefault
//
resources.ApplyResources(this.rbDefault, "rbDefault");
this.rbDefault.Name = "rbDefault";
this.rbDefault.CheckedChanged += new System.EventHandler(this.OnStartup_CheckedChanged);
//
// lstCultures
//
resources.ApplyResources(this.lstCultures, "lstCultures");
this.lstCultures.DisplayMember = "NativeName";
this.lstCultures.Name = "lstCultures";
this.lstCultures.DoubleClick += new System.EventHandler(this.btOK_Click);
//
// btOK
//
resources.ApplyResources(this.btOK, "btOK");
this.btOK.Name = "btOK";
this.btOK.Click += new System.EventHandler(this.btOK_Click);
//
// Panel1
//
resources.ApplyResources(this.Panel1, "Panel1");
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.Name = "Panel1";
//
// SelectLanguage
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
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.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;
}
}

View File

@ -0,0 +1,405 @@
<?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="btOK.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="lblStartup.Text" xml:space="preserve">
<value>Next time ...</value>
</data>
<data name="rbDefault.Text" xml:space="preserve">
<value>Use the default language</value>
</data>
<data name="rbSelected.Text" xml:space="preserve">
<value>Use the selected language</value>
</data>
<data name="rbShow.Text" xml:space="preserve">
<value>Show this form again</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>SelectLanguage</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="rbSelected.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="rbSelected.AccessibleName" xml:space="preserve">
<value />
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="rbSelected.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>System</value>
</data>
<data name="rbSelected.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="rbSelected.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 62</value>
</data>
<data name="rbSelected.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="rbSelected.Size" type="System.Drawing.Size, System.Drawing">
<value>314, 31</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="rbSelected.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;rbSelected.Name" xml:space="preserve">
<value>rbSelected</value>
</data>
<data name="&gt;&gt;rbSelected.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="&gt;&gt;rbSelected.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;rbSelected.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rbShow.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="rbShow.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="rbShow.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>System</value>
</data>
<data name="rbShow.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="rbShow.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 31</value>
</data>
<data name="rbShow.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="rbShow.Size" type="System.Drawing.Size, System.Drawing">
<value>314, 31</value>
</data>
<data name="rbShow.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rbShow.Name" xml:space="preserve">
<value>rbShow</value>
</data>
<data name="&gt;&gt;rbShow.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="&gt;&gt;rbShow.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;rbShow.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="lblStartup.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="lblStartup.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="lblStartup.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lblStartup.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 5</value>
</data>
<data name="lblStartup.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblStartup.Size" type="System.Drawing.Size, System.Drawing">
<value>314, 26</value>
</data>
<data name="lblStartup.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;lblStartup.Name" xml:space="preserve">
<value>lblStartup</value>
</data>
<data name="&gt;&gt;lblStartup.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="&gt;&gt;lblStartup.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;lblStartup.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="rbDefault.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="rbDefault.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="rbDefault.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>System</value>
</data>
<data name="rbDefault.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="rbDefault.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 92</value>
</data>
<data name="rbDefault.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="rbDefault.Size" type="System.Drawing.Size, System.Drawing">
<value>314, 31</value>
</data>
<data name="rbDefault.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;rbDefault.Name" xml:space="preserve">
<value>rbDefault</value>
</data>
<data name="&gt;&gt;rbDefault.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="&gt;&gt;rbDefault.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;rbDefault.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lstCultures.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="lstCultures.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="lstCultures.Font" type="System.Drawing.Font, System.Drawing">
<value>Arial, 9.75pt</value>
</data>
<data name="lstCultures.IntegralHeight" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="lstCultures.ItemHeight" type="System.Int32, mscorlib">
<value>23</value>
</data>
<data name="lstCultures.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="lstCultures.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="lstCultures.Size" type="System.Drawing.Size, System.Drawing">
<value>394, 336</value>
</data>
<data name="lstCultures.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;lstCultures.Name" xml:space="preserve">
<value>lstCultures</value>
</data>
<data name="&gt;&gt;lstCultures.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lstCultures.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lstCultures.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btOK.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="btOK.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="btOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btOK.Location" type="System.Drawing.Point, System.Drawing">
<value>270, 486</value>
</data>
<data name="btOK.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="btOK.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 49</value>
</data>
<data name="btOK.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;btOK.Name" xml:space="preserve">
<value>btOK</value>
</data>
<data name="&gt;&gt;btOK.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="&gt;&gt;btOK.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btOK.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="Panel1.AccessibleDescription" xml:space="preserve">
<value />
</data>
<data name="Panel1.AccessibleName" xml:space="preserve">
<value />
</data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 351</value>
</data>
<data name="Panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>396, 129</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;Panel1.Name" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>2</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>408, 542</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SelectLanguage</value>
</data>
<data name="&gt;&gt;$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>

View File

@ -0,0 +1,138 @@
<?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="btOK.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="lblStartup.Text" xml:space="preserve">
<value>Next time ...</value>
</data>
<data name="rbDefault.Text" xml:space="preserve">
<value>Use the default language</value>
</data>
<data name="rbSelected.Text" xml:space="preserve">
<value>Use the selected language</value>
</data>
<data name="rbShow.Text" xml:space="preserve">
<value>Show this form again</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>SelectLanguage</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff