[代码反篡改] stm32反篡改注册机和keil工程测试源码下载

[复制链接]
 楼主| hotpower 发表于 2023-10-30 13:46 | 显示全部楼层 |阅读模式
本帖最后由 hotpower 于 2023-10-31 09:08 编辑

菜农电子淘宝:https://hotcomlock.taobao.com/ 准备出书:http://hotcomlock.com/hotcomlock.html
  1. namespace Stm32DataCheck
  2. {
  3.     partial class Form1
  4.     {
  5.         /// <summary>
  6.         /// 必需的设计器变量。
  7.         /// </summary>
  8.         private System.ComponentModel.IContainer components = null;

  9.         /// <summary>
  10.         /// 清理所有正在使用的资源。
  11.         /// </summary>
  12.         /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
  13.         protected override void Dispose(bool disposing)
  14.         {
  15.             if (disposing && (components != null))
  16.             {
  17.                 components.Dispose();
  18.             }
  19.             base.Dispose(disposing);
  20.         }

  21.         #region Windows 窗体设计器生成的代码

  22.         /// <summary>
  23.         /// 设计器支持所需的方法 - 不要修改
  24.         /// 使用代码编辑器修改此方法的内容。
  25.         /// </summary>
  26.         private void InitializeComponent()
  27.         {
  28.             this.components = new System.ComponentModel.Container();
  29.             this.groupBox1 = new System.Windows.Forms.GroupBox();
  30.             this.textBox8 = new System.Windows.Forms.TextBox();
  31.             this.label8 = new System.Windows.Forms.Label();
  32.             this.textBox7 = new System.Windows.Forms.TextBox();
  33.             this.label7 = new System.Windows.Forms.Label();
  34.             this.textBox6 = new System.Windows.Forms.TextBox();
  35.             this.label6 = new System.Windows.Forms.Label();
  36.             this.textBox5 = new System.Windows.Forms.TextBox();
  37.             this.label5 = new System.Windows.Forms.Label();
  38.             this.textBox4 = new System.Windows.Forms.TextBox();
  39.             this.label4 = new System.Windows.Forms.Label();
  40.             this.textBox3 = new System.Windows.Forms.TextBox();
  41.             this.label3 = new System.Windows.Forms.Label();
  42.             this.textBox2 = new System.Windows.Forms.TextBox();
  43.             this.label2 = new System.Windows.Forms.Label();
  44.             this.textBox1 = new System.Windows.Forms.TextBox();
  45.             this.label1 = new System.Windows.Forms.Label();
  46.             this.groupBox2 = new System.Windows.Forms.GroupBox();
  47.             this.textBox9 = new System.Windows.Forms.TextBox();
  48.             this.label9 = new System.Windows.Forms.Label();
  49.             this.textBox10 = new System.Windows.Forms.TextBox();
  50.             this.label10 = new System.Windows.Forms.Label();
  51.             this.textBox11 = new System.Windows.Forms.TextBox();
  52.             this.label11 = new System.Windows.Forms.Label();
  53.             this.textBox12 = new System.Windows.Forms.TextBox();
  54.             this.label12 = new System.Windows.Forms.Label();
  55.             this.textBox13 = new System.Windows.Forms.TextBox();
  56.             this.label13 = new System.Windows.Forms.Label();
  57.             this.textBox14 = new System.Windows.Forms.TextBox();
  58.             this.label14 = new System.Windows.Forms.Label();
  59.             this.textBox15 = new System.Windows.Forms.TextBox();
  60.             this.label15 = new System.Windows.Forms.Label();
  61.             this.textBox16 = new System.Windows.Forms.TextBox();
  62.             this.label16 = new System.Windows.Forms.Label();
  63.             this.groupBox3 = new System.Windows.Forms.GroupBox();
  64.             this.listBox1 = new System.Windows.Forms.ListBox();
  65.             this.button1 = new System.Windows.Forms.Button();
  66.             this.textBox17 = new System.Windows.Forms.TextBox();
  67.             this.label17 = new System.Windows.Forms.Label();
  68.             this.timer1 = new System.Windows.Forms.Timer(this.components);
  69.             this.statusStrip1 = new System.Windows.Forms.StatusStrip();
  70.             this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
  71.             this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
  72.             this.toolStripStatusLabel3 = new System.Windows.Forms.ToolStripStatusLabel();
  73.             this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
  74.             this.button2 = new System.Windows.Forms.Button();
  75.             this.checkBox1 = new System.Windows.Forms.CheckBox();
  76.             this.groupBox4 = new System.Windows.Forms.GroupBox();
  77.             this.textBox20 = new System.Windows.Forms.TextBox();
  78.             this.textBox19 = new System.Windows.Forms.TextBox();
  79.             this.textBox18 = new System.Windows.Forms.TextBox();
  80.             this.button3 = new System.Windows.Forms.Button();
  81.             this.button4 = new System.Windows.Forms.Button();
  82.             this.groupBox1.SuspendLayout();
  83.             this.groupBox2.SuspendLayout();
  84.             this.groupBox3.SuspendLayout();
  85.             this.statusStrip1.SuspendLayout();
  86.             this.groupBox4.SuspendLayout();
  87.             this.SuspendLayout();
  88.             //
  89.             // groupBox1
  90.             //
  91.             this.groupBox1.Controls.Add(this.textBox8);
  92.             this.groupBox1.Controls.Add(this.label8);
  93.             this.groupBox1.Controls.Add(this.textBox7);
  94.             this.groupBox1.Controls.Add(this.label7);
  95.             this.groupBox1.Controls.Add(this.textBox6);
  96.             this.groupBox1.Controls.Add(this.label6);
  97.             this.groupBox1.Controls.Add(this.textBox5);
  98.             this.groupBox1.Controls.Add(this.label5);
  99.             this.groupBox1.Controls.Add(this.textBox4);
  100.             this.groupBox1.Controls.Add(this.label4);
  101.             this.groupBox1.Controls.Add(this.textBox3);
  102.             this.groupBox1.Controls.Add(this.label3);
  103.             this.groupBox1.Controls.Add(this.textBox2);
  104.             this.groupBox1.Controls.Add(this.label2);
  105.             this.groupBox1.Controls.Add(this.textBox1);
  106.             this.groupBox1.Controls.Add(this.label1);
  107.             this.groupBox1.Location = new System.Drawing.Point(12, 48);
  108.             this.groupBox1.Name = "groupBox1";
  109.             this.groupBox1.Size = new System.Drawing.Size(213, 294);
  110.             this.groupBox1.TabIndex = 0;
  111.             this.groupBox1.TabStop = false;
  112.             this.groupBox1.Text = "原始数组";
  113.             //
  114.             // textBox8
  115.             //
  116.             this.textBox8.Enabled = false;
  117.             this.textBox8.Location = new System.Drawing.Point(67, 251);
  118.             this.textBox8.Name = "textBox8";
  119.             this.textBox8.Size = new System.Drawing.Size(133, 25);
  120.             this.textBox8.TabIndex = 15;
  121.             //
  122.             // label8
  123.             //
  124.             this.label8.AutoSize = true;
  125.             this.label8.Location = new System.Drawing.Point(16, 254);
  126.             this.label8.Name = "label8";
  127.             this.label8.Size = new System.Drawing.Size(45, 15);
  128.             this.label8.TabIndex = 14;
  129.             this.label8.Text = "初值2";
  130.             //
  131.             // textBox7
  132.             //
  133.             this.textBox7.Enabled = false;
  134.             this.textBox7.Location = new System.Drawing.Point(67, 220);
  135.             this.textBox7.Name = "textBox7";
  136.             this.textBox7.Size = new System.Drawing.Size(133, 25);
  137.             this.textBox7.TabIndex = 13;
  138.             //
  139.             // label7
  140.             //
  141.             this.label7.AutoSize = true;
  142.             this.label7.Location = new System.Drawing.Point(16, 223);
  143.             this.label7.Name = "label7";
  144.             this.label7.Size = new System.Drawing.Size(45, 15);
  145.             this.label7.TabIndex = 12;
  146.             this.label7.Text = "初值1";
  147.             //
  148.             // textBox6
  149.             //
  150.             this.textBox6.Enabled = false;
  151.             this.textBox6.Location = new System.Drawing.Point(67, 189);
  152.             this.textBox6.Name = "textBox6";
  153.             this.textBox6.Size = new System.Drawing.Size(133, 25);
  154.             this.textBox6.TabIndex = 11;
  155.             //
  156.             // label6
  157.             //
  158.             this.label6.AutoSize = true;
  159.             this.label6.Location = new System.Drawing.Point(16, 192);
  160.             this.label6.Name = "label6";
  161.             this.label6.Size = new System.Drawing.Size(52, 15);
  162.             this.label6.TabIndex = 10;
  163.             this.label6.Text = "总长度";
  164.             //
  165.             // textBox5
  166.             //
  167.             this.textBox5.Location = new System.Drawing.Point(67, 158);
  168.             this.textBox5.Name = "textBox5";
  169.             this.textBox5.Size = new System.Drawing.Size(133, 25);
  170.             this.textBox5.TabIndex = 9;
  171.             this.textBox5.Text = "08000000";
  172.             //
  173.             // label5
  174.             //
  175.             this.label5.AutoSize = true;
  176.             this.label5.Location = new System.Drawing.Point(16, 161);
  177.             this.label5.Name = "label5";
  178.             this.label5.Size = new System.Drawing.Size(52, 15);
  179.             this.label5.TabIndex = 8;
  180.             this.label5.Text = "基地址";
  181.             //
  182.             // textBox4
  183.             //
  184.             this.textBox4.Enabled = false;
  185.             this.textBox4.Location = new System.Drawing.Point(67, 127);
  186.             this.textBox4.Name = "textBox4";
  187.             this.textBox4.Size = new System.Drawing.Size(133, 25);
  188.             this.textBox4.TabIndex = 7;
  189.             //
  190.             // label4
  191.             //
  192.             this.label4.AutoSize = true;
  193.             this.label4.Location = new System.Drawing.Point(16, 130);
  194.             this.label4.Name = "label4";
  195.             this.label4.Size = new System.Drawing.Size(52, 15);
  196.             this.label4.TabIndex = 6;
  197.             this.label4.Text = "多项式";
  198.             //
  199.             // textBox3
  200.             //
  201.             this.textBox3.Enabled = false;
  202.             this.textBox3.Location = new System.Drawing.Point(67, 96);
  203.             this.textBox3.Name = "textBox3";
  204.             this.textBox3.Size = new System.Drawing.Size(133, 25);
  205.             this.textBox3.TabIndex = 5;
  206.             //
  207.             // label3
  208.             //
  209.             this.label3.AutoSize = true;
  210.             this.label3.Location = new System.Drawing.Point(16, 99);
  211.             this.label3.Name = "label3";
  212.             this.label3.Size = new System.Drawing.Size(47, 15);
  213.             this.label3.TabIndex = 4;
  214.             this.label3.Text = "ID123";
  215.             //
  216.             // textBox2
  217.             //
  218.             this.textBox2.Location = new System.Drawing.Point(67, 65);
  219.             this.textBox2.Name = "textBox2";
  220.             this.textBox2.Size = new System.Drawing.Size(133, 25);
  221.             this.textBox2.TabIndex = 3;
  222.             this.textBox2.Text = "AAAAAAAA";
  223.             //
  224.             // label2
  225.             //
  226.             this.label2.AutoSize = true;
  227.             this.label2.Location = new System.Drawing.Point(16, 68);
  228.             this.label2.Name = "label2";
  229.             this.label2.Size = new System.Drawing.Size(45, 15);
  230.             this.label2.TabIndex = 2;
  231.             this.label2.Text = "索引2";
  232.             //
  233.             // textBox1
  234.             //
  235.             this.textBox1.Location = new System.Drawing.Point(67, 34);
  236.             this.textBox1.Name = "textBox1";
  237.             this.textBox1.Size = new System.Drawing.Size(133, 25);
  238.             this.textBox1.TabIndex = 1;
  239.             this.textBox1.Text = "55555555";
  240.             //
  241.             // label1
  242.             //
  243.             this.label1.AutoSize = true;
  244.             this.label1.Location = new System.Drawing.Point(16, 37);
  245.             this.label1.Name = "label1";
  246.             this.label1.Size = new System.Drawing.Size(45, 15);
  247.             this.label1.TabIndex = 0;
  248.             this.label1.Text = "索引1";
  249.             //
  250.             // groupBox2
  251.             //
  252.             this.groupBox2.Controls.Add(this.textBox9);
  253.             this.groupBox2.Controls.Add(this.label9);
  254.             this.groupBox2.Controls.Add(this.textBox10);
  255.             this.groupBox2.Controls.Add(this.label10);
  256.             this.groupBox2.Controls.Add(this.textBox11);
  257.             this.groupBox2.Controls.Add(this.label11);
  258.             this.groupBox2.Controls.Add(this.textBox12);
  259.             this.groupBox2.Controls.Add(this.label12);
  260.             this.groupBox2.Controls.Add(this.textBox13);
  261.             this.groupBox2.Controls.Add(this.label13);
  262.             this.groupBox2.Controls.Add(this.textBox14);
  263.             this.groupBox2.Controls.Add(this.label14);
  264.             this.groupBox2.Controls.Add(this.textBox15);
  265.             this.groupBox2.Controls.Add(this.label15);
  266.             this.groupBox2.Controls.Add(this.textBox16);
  267.             this.groupBox2.Controls.Add(this.label16);
  268.             this.groupBox2.Location = new System.Drawing.Point(12, 348);
  269.             this.groupBox2.Name = "groupBox2";
  270.             this.groupBox2.Size = new System.Drawing.Size(213, 294);
  271.             this.groupBox2.TabIndex = 1;
  272.             this.groupBox2.TabStop = false;
  273.             this.groupBox2.Text = "结果数组";
  274.             //
  275.             // textBox9
  276.             //
  277.             this.textBox9.Location = new System.Drawing.Point(67, 251);
  278.             this.textBox9.Name = "textBox9";
  279.             this.textBox9.Size = new System.Drawing.Size(133, 25);
  280.             this.textBox9.TabIndex = 15;
  281.             this.textBox9.TextChanged += new System.EventHandler(this.textBox9_TextChanged);
  282.             //
  283.             // label9
  284.             //
  285.             this.label9.AutoSize = true;
  286.             this.label9.Location = new System.Drawing.Point(16, 254);
  287.             this.label9.Name = "label9";
  288.             this.label9.Size = new System.Drawing.Size(45, 15);
  289.             this.label9.TabIndex = 14;
  290.             this.label9.Text = "初值2";
  291.             //
  292.             // textBox10
  293.             //
  294.             this.textBox10.Location = new System.Drawing.Point(67, 220);
  295.             this.textBox10.Name = "textBox10";
  296.             this.textBox10.Size = new System.Drawing.Size(133, 25);
  297.             this.textBox10.TabIndex = 13;
  298.             this.textBox10.TextChanged += new System.EventHandler(this.textBox10_TextChanged);
  299.             //
  300.             // label10
  301.             //
  302.             this.label10.AutoSize = true;
  303.             this.label10.Location = new System.Drawing.Point(16, 223);
  304.             this.label10.Name = "label10";
  305.             this.label10.Size = new System.Drawing.Size(45, 15);
  306.             this.label10.TabIndex = 12;
  307.             this.label10.Text = "初值1";
  308.             //
  309.             // textBox11
  310.             //
  311.             this.textBox11.Location = new System.Drawing.Point(67, 189);
  312.             this.textBox11.Name = "textBox11";
  313.             this.textBox11.Size = new System.Drawing.Size(133, 25);
  314.             this.textBox11.TabIndex = 11;
  315.             this.textBox11.TextChanged += new System.EventHandler(this.textBox11_TextChanged);
  316.             //
  317.             // label11
  318.             //
  319.             this.label11.AutoSize = true;
  320.             this.label11.Location = new System.Drawing.Point(16, 192);
  321.             this.label11.Name = "label11";
  322.             this.label11.Size = new System.Drawing.Size(52, 15);
  323.             this.label11.TabIndex = 10;
  324.             this.label11.Text = "总长度";
  325.             //
  326.             // textBox12
  327.             //
  328.             this.textBox12.Location = new System.Drawing.Point(67, 158);
  329.             this.textBox12.Name = "textBox12";
  330.             this.textBox12.Size = new System.Drawing.Size(133, 25);
  331.             this.textBox12.TabIndex = 9;
  332.             this.textBox12.TextChanged += new System.EventHandler(this.textBox12_TextChanged);
  333.             //
  334.             // label12
  335.             //
  336.             this.label12.AutoSize = true;
  337.             this.label12.Location = new System.Drawing.Point(16, 161);
  338.             this.label12.Name = "label12";
  339.             this.label12.Size = new System.Drawing.Size(52, 15);
  340.             this.label12.TabIndex = 8;
  341.             this.label12.Text = "基地址";
  342.             //
  343.             // textBox13
  344.             //
  345.             this.textBox13.Location = new System.Drawing.Point(67, 127);
  346.             this.textBox13.Name = "textBox13";
  347.             this.textBox13.Size = new System.Drawing.Size(133, 25);
  348.             this.textBox13.TabIndex = 7;
  349.             this.textBox13.TextChanged += new System.EventHandler(this.textBox13_TextChanged);
  350.             //
  351.             // label13
  352.             //
  353.             this.label13.AutoSize = true;
  354.             this.label13.Location = new System.Drawing.Point(16, 130);
  355.             this.label13.Name = "label13";
  356.             this.label13.Size = new System.Drawing.Size(52, 15);
  357.             this.label13.TabIndex = 6;
  358.             this.label13.Text = "多项式";
  359.             //
  360.             // textBox14
  361.             //
  362.             this.textBox14.Location = new System.Drawing.Point(67, 96);
  363.             this.textBox14.Name = "textBox14";
  364.             this.textBox14.Size = new System.Drawing.Size(133, 25);
  365.             this.textBox14.TabIndex = 5;
  366.             this.textBox14.TextChanged += new System.EventHandler(this.textBox14_TextChanged);
  367.             //
  368.             // label14
  369.             //
  370.             this.label14.AutoSize = true;
  371.             this.label14.Location = new System.Drawing.Point(16, 99);
  372.             this.label14.Name = "label14";
  373.             this.label14.Size = new System.Drawing.Size(47, 15);
  374.             this.label14.TabIndex = 4;
  375.             this.label14.Text = "ID123";
  376.             //
  377.             // textBox15
  378.             //
  379.             this.textBox15.Location = new System.Drawing.Point(67, 65);
  380.             this.textBox15.Name = "textBox15";
  381.             this.textBox15.Size = new System.Drawing.Size(133, 25);
  382.             this.textBox15.TabIndex = 3;
  383.             this.textBox15.TextChanged += new System.EventHandler(this.textBox15_TextChanged);
  384.             //
  385.             // label15
  386.             //
  387.             this.label15.AutoSize = true;
  388.             this.label15.Location = new System.Drawing.Point(16, 68);
  389.             this.label15.Name = "label15";
  390.             this.label15.Size = new System.Drawing.Size(45, 15);
  391.             this.label15.TabIndex = 2;
  392.             this.label15.Text = "索引2";
  393.             //
  394.             // textBox16
  395.             //
  396.             this.textBox16.Location = new System.Drawing.Point(67, 34);
  397.             this.textBox16.Name = "textBox16";
  398.             this.textBox16.Size = new System.Drawing.Size(133, 25);
  399.             this.textBox16.TabIndex = 1;
  400.             this.textBox16.TextChanged += new System.EventHandler(this.textBox16_TextChanged);
  401.             //
  402.             // label16
  403.             //
  404.             this.label16.AutoSize = true;
  405.             this.label16.Location = new System.Drawing.Point(16, 37);
  406.             this.label16.Name = "label16";
  407.             this.label16.Size = new System.Drawing.Size(45, 15);
  408.             this.label16.TabIndex = 0;
  409.             this.label16.Text = "索引1";
  410.             //
  411.             // groupBox3
  412.             //
  413.             this.groupBox3.Controls.Add(this.listBox1);
  414.             this.groupBox3.Location = new System.Drawing.Point(231, 48);
  415.             this.groupBox3.Name = "groupBox3";
  416.             this.groupBox3.Size = new System.Drawing.Size(483, 507);
  417.             this.groupBox3.TabIndex = 2;
  418.             this.groupBox3.TabStop = false;
  419.             this.groupBox3.Text = "Hex文件";
  420.             //
  421.             // listBox1
  422.             //
  423.             this.listBox1.FormattingEnabled = true;
  424.             this.listBox1.ItemHeight = 15;
  425.             this.listBox1.Location = new System.Drawing.Point(6, 24);
  426.             this.listBox1.Name = "listBox1";
  427.             this.listBox1.Size = new System.Drawing.Size(471, 469);
  428.             this.listBox1.TabIndex = 0;
  429.             //
  430.             // button1
  431.             //
  432.             this.button1.Location = new System.Drawing.Point(493, 17);
  433.             this.button1.Name = "button1";
  434.             this.button1.Size = new System.Drawing.Size(75, 25);
  435.             this.button1.TabIndex = 14;
  436.             this.button1.Text = "装载";
  437.             this.button1.UseVisualStyleBackColor = true;
  438.             this.button1.Click += new System.EventHandler(this.button1_Click);
  439.             //
  440.             // textBox17
  441.             //
  442.             this.textBox17.Location = new System.Drawing.Point(110, 17);
  443.             this.textBox17.Name = "textBox17";
  444.             this.textBox17.Size = new System.Drawing.Size(377, 25);
  445.             this.textBox17.TabIndex = 13;
  446.             //
  447.             // label17
  448.             //
  449.             this.label17.AutoSize = true;
  450.             this.label17.Location = new System.Drawing.Point(28, 20);
  451.             this.label17.Name = "label17";
  452.             this.label17.Size = new System.Drawing.Size(76, 15);
  453.             this.label17.TabIndex = 12;
  454.             this.label17.Text = "Hex文件名";
  455.             //
  456.             // timer1
  457.             //
  458.             this.timer1.Enabled = true;
  459.             this.timer1.Interval = 500;
  460.             this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
  461.             //
  462.             // statusStrip1
  463.             //
  464.             this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
  465.             this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
  466.             this.toolStripStatusLabel1,
  467.             this.toolStripStatusLabel2,
  468.             this.toolStripStatusLabel3});
  469.             this.statusStrip1.Location = new System.Drawing.Point(0, 650);
  470.             this.statusStrip1.Name = "statusStrip1";
  471.             this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 19, 0);
  472.             this.statusStrip1.Size = new System.Drawing.Size(729, 25);
  473.             this.statusStrip1.TabIndex = 18;
  474.             this.statusStrip1.Text = "statusStrip1";
  475.             //
  476.             // toolStripStatusLabel1
  477.             //
  478.             this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
  479.             this.toolStripStatusLabel1.Size = new System.Drawing.Size(84, 20);
  480.             this.toolStripStatusLabel1.Text = "系统提示:";
  481.             //
  482.             // toolStripStatusLabel2
  483.             //
  484.             this.toolStripStatusLabel2.AutoSize = false;
  485.             this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
  486.             this.toolStripStatusLabel2.Size = new System.Drawing.Size(251, 20);
  487.             this.toolStripStatusLabel2.Text = "雁塔菜农HotPower[url=home.php?mod=space&uid=516618]@163.com[/url]  2023.10.27   ";
  488.             this.toolStripStatusLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
  489.             //
  490.             // toolStripStatusLabel3
  491.             //
  492.             this.toolStripStatusLabel3.AutoSize = false;
  493.             this.toolStripStatusLabel3.Name = "toolStripStatusLabel3";
  494.             this.toolStripStatusLabel3.Size = new System.Drawing.Size(208, 20);
  495.             this.toolStripStatusLabel3.Text = "2023-11-19 18:18:18 星期四";
  496.             this.toolStripStatusLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
  497.             //
  498.             // openFileDialog1
  499.             //
  500.             this.openFileDialog1.FileName = "openFileDialog1";
  501.             //
  502.             // button2
  503.             //
  504.             this.button2.Location = new System.Drawing.Point(639, 17);
  505.             this.button2.Name = "button2";
  506.             this.button2.Size = new System.Drawing.Size(75, 25);
  507.             this.button2.TabIndex = 19;
  508.             this.button2.Text = "计算";
  509.             this.button2.UseVisualStyleBackColor = true;
  510.             this.button2.Click += new System.EventHandler(this.button2_Click);
  511.             //
  512.             // checkBox1
  513.             //
  514.             this.checkBox1.AutoSize = true;
  515.             this.checkBox1.Location = new System.Drawing.Point(574, 20);
  516.             this.checkBox1.Name = "checkBox1";
  517.             this.checkBox1.Size = new System.Drawing.Size(59, 19);
  518.             this.checkBox1.TabIndex = 20;
  519.             this.checkBox1.Text = "随机";
  520.             this.checkBox1.UseVisualStyleBackColor = true;
  521.             //
  522.             // groupBox4
  523.             //
  524.             this.groupBox4.Controls.Add(this.button4);
  525.             this.groupBox4.Controls.Add(this.button3);
  526.             this.groupBox4.Controls.Add(this.textBox20);
  527.             this.groupBox4.Controls.Add(this.textBox19);
  528.             this.groupBox4.Controls.Add(this.textBox18);
  529.             this.groupBox4.Location = new System.Drawing.Point(231, 567);
  530.             this.groupBox4.Name = "groupBox4";
  531.             this.groupBox4.Size = new System.Drawing.Size(483, 57);
  532.             this.groupBox4.TabIndex = 21;
  533.             this.groupBox4.TabStop = false;
  534.             this.groupBox4.Text = "ID";
  535.             //
  536.             // textBox20
  537.             //
  538.             this.textBox20.Location = new System.Drawing.Point(192, 24);
  539.             this.textBox20.Name = "textBox20";
  540.             this.textBox20.Size = new System.Drawing.Size(87, 25);
  541.             this.textBox20.TabIndex = 6;
  542.             this.textBox20.Text = "1A55C84B";
  543.             //
  544.             // textBox19
  545.             //
  546.             this.textBox19.Location = new System.Drawing.Point(99, 24);
  547.             this.textBox19.Name = "textBox19";
  548.             this.textBox19.Size = new System.Drawing.Size(87, 25);
  549.             this.textBox19.TabIndex = 5;
  550.             this.textBox19.Text = "45734649";
  551.             //
  552.             // textBox18
  553.             //
  554.             this.textBox18.Location = new System.Drawing.Point(6, 24);
  555.             this.textBox18.Name = "textBox18";
  556.             this.textBox18.Size = new System.Drawing.Size(87, 25);
  557.             this.textBox18.TabIndex = 4;
  558.             this.textBox18.Text = "77EFA51F";
  559.             //
  560.             // button3
  561.             //
  562.             this.button3.Location = new System.Drawing.Point(393, 24);
  563.             this.button3.Name = "button3";
  564.             this.button3.Size = new System.Drawing.Size(75, 25);
  565.             this.button3.TabIndex = 20;
  566.             this.button3.Text = "计算";
  567.             this.button3.UseVisualStyleBackColor = true;
  568.             this.button3.Click += new System.EventHandler(this.button3_Click);
  569.             //
  570.             // button4
  571.             //
  572.             this.button4.Location = new System.Drawing.Point(312, 24);
  573.             this.button4.Name = "button4";
  574.             this.button4.Size = new System.Drawing.Size(75, 25);
  575.             this.button4.TabIndex = 21;
  576.             this.button4.Text = "随机";
  577.             this.button4.UseVisualStyleBackColor = true;
  578.             this.button4.Click += new System.EventHandler(this.button4_Click);
  579.             //
  580.             // Form1
  581.             //
  582.             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
  583.             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  584.             this.ClientSize = new System.Drawing.Size(729, 675);
  585.             this.Controls.Add(this.groupBox4);
  586.             this.Controls.Add(this.checkBox1);
  587.             this.Controls.Add(this.button2);
  588.             this.Controls.Add(this.button1);
  589.             this.Controls.Add(this.statusStrip1);
  590.             this.Controls.Add(this.textBox17);
  591.             this.Controls.Add(this.label17);
  592.             this.Controls.Add(this.groupBox3);
  593.             this.Controls.Add(this.groupBox2);
  594.             this.Controls.Add(this.groupBox1);
  595.             this.Name = "Form1";
  596.             this.Text = "Stm32利用CRC初值碰撞反篡改(V1.0.1)";
  597.             this.groupBox1.ResumeLayout(false);
  598.             this.groupBox1.PerformLayout();
  599.             this.groupBox2.ResumeLayout(false);
  600.             this.groupBox2.PerformLayout();
  601.             this.groupBox3.ResumeLayout(false);
  602.             this.statusStrip1.ResumeLayout(false);
  603.             this.statusStrip1.PerformLayout();
  604.             this.groupBox4.ResumeLayout(false);
  605.             this.groupBox4.PerformLayout();
  606.             this.ResumeLayout(false);
  607.             this.PerformLayout();

  608.         }

  609.         #endregion

  610.         private System.Windows.Forms.GroupBox groupBox1;
  611.         private System.Windows.Forms.TextBox textBox1;
  612.         private System.Windows.Forms.Label label1;
  613.         private System.Windows.Forms.TextBox textBox8;
  614.         private System.Windows.Forms.Label label8;
  615.         private System.Windows.Forms.TextBox textBox7;
  616.         private System.Windows.Forms.Label label7;
  617.         private System.Windows.Forms.TextBox textBox6;
  618.         private System.Windows.Forms.Label label6;
  619.         private System.Windows.Forms.TextBox textBox5;
  620.         private System.Windows.Forms.Label label5;
  621.         private System.Windows.Forms.TextBox textBox4;
  622.         private System.Windows.Forms.Label label4;
  623.         private System.Windows.Forms.TextBox textBox3;
  624.         private System.Windows.Forms.Label label3;
  625.         private System.Windows.Forms.TextBox textBox2;
  626.         private System.Windows.Forms.Label label2;
  627.         private System.Windows.Forms.GroupBox groupBox2;
  628.         private System.Windows.Forms.TextBox textBox9;
  629.         private System.Windows.Forms.Label label9;
  630.         private System.Windows.Forms.TextBox textBox10;
  631.         private System.Windows.Forms.Label label10;
  632.         private System.Windows.Forms.TextBox textBox11;
  633.         private System.Windows.Forms.Label label11;
  634.         private System.Windows.Forms.TextBox textBox12;
  635.         private System.Windows.Forms.Label label12;
  636.         private System.Windows.Forms.TextBox textBox13;
  637.         private System.Windows.Forms.Label label13;
  638.         private System.Windows.Forms.TextBox textBox14;
  639.         private System.Windows.Forms.Label label14;
  640.         private System.Windows.Forms.TextBox textBox15;
  641.         private System.Windows.Forms.Label label15;
  642.         private System.Windows.Forms.TextBox textBox16;
  643.         private System.Windows.Forms.Label label16;
  644.         private System.Windows.Forms.GroupBox groupBox3;
  645.         private System.Windows.Forms.ListBox listBox1;
  646.         private System.Windows.Forms.Button button1;
  647.         private System.Windows.Forms.TextBox textBox17;
  648.         private System.Windows.Forms.Label label17;
  649.         private System.Windows.Forms.Timer timer1;
  650.         private System.Windows.Forms.StatusStrip statusStrip1;
  651.         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
  652.         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
  653.         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3;
  654.         private System.Windows.Forms.OpenFileDialog openFileDialog1;
  655.         private System.Windows.Forms.Button button2;
  656.         private System.Windows.Forms.CheckBox checkBox1;
  657.         private System.Windows.Forms.GroupBox groupBox4;
  658.         private System.Windows.Forms.TextBox textBox20;
  659.         private System.Windows.Forms.TextBox textBox19;
  660.         private System.Windows.Forms.TextBox textBox18;
  661.         private System.Windows.Forms.Button button4;
  662.         private System.Windows.Forms.Button button3;
  663.     }
  664. }

  1. using System;
  2. using System.Management;
  3. using System.IO;
  4. using System.Text;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using System.Text.RegularExpressions;
  13. using System.Security.Cryptography;
  14. using Microsoft.Win32;

  15. namespace Stm32DataCheck
  16. {
  17.     public partial class Form1 : Form
  18.     {
  19.         UInt32[] CRCDataBuffers;
  20.         int CRCDataAddress = 0;
  21.         public Form1()
  22.         {
  23.             InitializeComponent();
  24.         }
  25.         public UInt32 CRC32Valx(UInt32 output, UInt32 poly, UInt32 init, UInt32 xorout)
  26.         {
  27.             output ^= xorout;
  28.             if ((poly & 0x80000001) == 0)
  29.             {
  30.                 output ^= (UInt32)(poly ^ 0x80000001);
  31.             }
  32.             if ((poly & 1) > 0)
  33.             {
  34.                 for (int i = 0; i < 32; i++)
  35.                 {
  36.                     if ((output & 1) > 0)
  37.                     {
  38.                         output ^= poly;
  39.                         output >>= 1;
  40.                         output |= 0x80000000;
  41.                     }
  42.                     else
  43.                     {
  44.                         output >>= 1;
  45.                     }
  46.                 }
  47.             }
  48.             else
  49.             {
  50.                 for (int i = 0; i < 32; i++)
  51.                 {
  52.                     if ((output & 0x80000000) > 0)
  53.                     {
  54.                         output ^= poly;
  55.                         output <<= 1;
  56.                         output |= 1;
  57.                     }
  58.                     else
  59.                     {
  60.                         output <<= 1;
  61.                     }
  62.                 }
  63.                 output &= 0xffffffff;
  64.             }
  65.             output ^= init;
  66.             return output;
  67.         }

  68.         private Byte GetHexCheckSum(string str)
  69.         {
  70.             Byte CheckSum = 0xFF;
  71.             if (str.Length >= 11 && (str.Length & 1) == 1 && str.Substring(0, 1) == ":")
  72.             {
  73.                 string Data = str.Substring(1, str.Length - 1);
  74.                 CheckSum = 0;
  75.                 for(int i = 0; i < Data.Length; i += 2)
  76.                 {
  77.                     CheckSum += Convert.ToByte(Data.Substring(i, 2), 16);
  78.                 }
  79.             }
  80.             return CheckSum;
  81.         }
  82.         private Byte GetHexLength(string str)
  83.         {
  84.             Byte len = 0;
  85.             if (str.Length >= 11 && (str.Length & 1) == 1 && str.Substring(0, 1) == ":")
  86.             {
  87.                 len = Convert.ToByte(str.Substring(1, 2), 16);
  88.             }
  89.             return len;
  90.         }
  91.         private UInt16 GetHexAddress(string str)
  92.         {
  93.             UInt16 Address = 0;
  94.             if (str.Length >= 11 && (str.Length & 1) == 1 && str.Substring(0, 1) == ":")
  95.             {
  96.                 Address = Convert.ToUInt16(str.Substring(3, 4), 16);
  97.             }
  98.             return Address;
  99.         }
  100.         private string GetHexRecordType(string str)
  101.         {
  102.             string RecordType = "";
  103.             if (str.Length >= 11 && (str.Length & 1) == 1 && str.Substring(0, 1) == ":")
  104.             {
  105.                 RecordType = str.Substring(7, 2);
  106.             }
  107.             return RecordType;
  108.         }
  109.         private string GetHexData(string str)
  110.         {
  111.             string Data = "";
  112.             if (str.Length >= 13 && (str.Length & 1) == 1 && str.Substring(0, 1) == ":")
  113.             {
  114.                 Data = str.Substring(9, str.Length - 11);
  115.             }
  116.             return Data;
  117.         }


  118.         private void LoadHexFile(ListBox listBox1)
  119.         {
  120.             UInt32 len = 0;
  121.             UInt32 FLASH_BASE0 = 0;
  122.             UInt32 FLASH_BASE1 = 0;
  123.             string str = listBox1.Items[0].ToString();
  124.             string ptr = listBox1.Items[1].ToString();
  125.             string ctr;
  126.             if (GetHexRecordType(str) == "04" && GetHexRecordType(ptr) == "00")
  127.             {
  128.                 textBox12.Text = GetHexData(str) + GetHexAddress(ptr).ToString("X4");
  129.                 FLASH_BASE0 = Convert.ToUInt32(textBox12.Text, 16);
  130.             }
  131.             FLASH_BASE1 = FLASH_BASE0;
  132.             for(int i = 1;i < listBox1.Items.Count; i++)
  133.             {
  134.                 str = listBox1.Items[i].ToString();
  135.                 if(GetHexRecordType(str) == "04")
  136.                 {
  137.                     ptr = listBox1.Items[i + 1].ToString();
  138.                     ctr = GetHexData(str) + GetHexAddress(ptr).ToString("X4");
  139.                     FLASH_BASE1 = Convert.ToUInt32(ctr, 16);
  140.                 }
  141.                 else if (GetHexRecordType(str) == "00")
  142.                 {
  143.                     len = FLASH_BASE1 + GetHexAddress(str) + GetHexLength(str);
  144.                 }
  145.                 else if (GetHexRecordType(str) == "01")
  146.                 {
  147.                     len -= FLASH_BASE0;
  148.                     textBox11.Text = len.ToString("X8");
  149.                     CRCDataBuffers = new UInt32[len];
  150.                     int pos = 0;
  151.                     for(int k = 1;k < listBox1.Items.Count - 1; k ++)
  152.                     {
  153.                         str = listBox1.Items[k].ToString();
  154.                         if (GetHexRecordType(str) == "00")
  155.                         {
  156.                             ptr = GetHexData(str);
  157.                             int size = GetHexLength(str);
  158.                             for (int n = 0; n < size / 4; n ++)
  159.                             {
  160.                                 ctr = ptr.Substring(n * 8 + 6, 2) + ptr.Substring(n * 8 + 4, 2) + ptr.Substring(n * 8 + 2, 2) + ptr.Substring(n * 8, 2);
  161.                                 CRCDataBuffers[pos++] = Convert.ToUInt32(ctr, 16);
  162.                             }
  163.                         }
  164.                     }
  165.                 }
  166.             }
  167.         }
  168.         private void button1_Click(object sender, EventArgs e)
  169.         {
  170.             if (openFileDialog1.ShowDialog() == DialogResult.OK)
  171.             {
  172.                 string filename = openFileDialog1.FileName;
  173.                 if(Path.GetExtension(filename).ToUpper() == ".HEX")
  174.                 {
  175.                     textBox17.Text = filename;
  176.                     listBox1.Items.Clear();
  177.                     FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
  178.                     StreamReader sr = new StreamReader(fs);
  179.                     int line = 1;
  180.                     while (true)
  181.                     {
  182.                         string text = sr.ReadLine();
  183.                         if (text == null) break;
  184.                         if(GetHexCheckSum(text) != 0)
  185.                         {
  186.                             toolStripStatusLabel2.Text = "第" + line.ToString() + "行出错";
  187.                             break;
  188.                         }
  189.                         listBox1.Items.Add(text);
  190.                         line++;
  191.                         Application.DoEvents();
  192.                     }
  193.                     sr.Close();
  194.                     fs.Close();
  195.                     if(listBox1.Items.Count < 4)
  196.                     {
  197.                         MessageBox.Show("文件" + filename + "行数太少!!!", "文件错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  198.                     }
  199.                     LoadHexFile(listBox1);
  200.                 }
  201.             }
  202.         }
  203.         private void DataCheck()
  204.         {
  205.             int len = (int)CRCDataBuffers[CRCDataAddress + 5] / 4;
  206.             UInt32 CRC32Init;
  207.             UInt32 crc32;
  208.             UInt32 crcpoly = CRCDataBuffers[CRCDataAddress + 3];
  209.             int pos1 = (int)(CRCDataAddress + 6);
  210.             int pos2 = (int)(CRCDataAddress + 7);
  211.             CRC32Init = 0;
  212.             int i;
  213.             for (i = len - 1; i >= 0; i--)
  214.             {
  215.                 crc32 = CRCDataBuffers[i];
  216.                 if (!(i == pos1 || i == pos2))
  217.                 {
  218.                     CRC32Init = CRC32Valx(CRC32Init, crcpoly, crc32, 0);
  219.                 }
  220.             }
  221.             CRCDataBuffers[pos1] = CRC32Init;
  222.             textBox10.Text = CRC32Init.ToString("X8");
  223.             CRC32Init = 0;
  224.             for (i = 0; i < len; i++)
  225.             {
  226.                 crc32 = CRCDataBuffers[i];
  227.                 if (!(i == pos2))
  228.                 {
  229.                     CRC32Init = CRC32Valx(CRC32Init, crcpoly, crc32, 0);
  230.                 }
  231.             }
  232.             CRCDataBuffers[pos2] = CRC32Init;
  233.             textBox9.Text = CRC32Init.ToString("X8");
  234.         }
  235.         private void timer1_Tick(object sender, EventArgs e)
  236.         {
  237.             DateTime sysDateTime = DateTime.Now;
  238.             toolStripStatusLabel3.Text = sysDateTime.ToString("yyyy-MM-dd HH:mm:ss dddd");
  239.         }

  240.         private void button2_Click(object sender, EventArgs e)
  241.         {
  242.             textBox10.Text = "";
  243.             textBox9.Text = "";
  244.             CRCDataAddress = 0;
  245.             if (textBox18.Text.Length == 8 && textBox19.Text.Length == 8 && textBox20.Text.Length == 8)
  246.             {
  247.                 UInt32 poly = Convert.ToUInt32(textBox18.Text, 16);
  248.                 UInt32 init = Convert.ToUInt32(textBox19.Text, 16);
  249.                 UInt32 xorout = Convert.ToUInt32(textBox20.Text, 16);
  250.                 textBox14.Text = CRC32Valx(0, poly, init, xorout).ToString("X8");
  251.             }
  252.             if (textBox1.Text.Length == 8 && textBox2.Text.Length == 8 && textBox5.Text.Length == 8)
  253.             {
  254.                 if (CRCDataBuffers != null && textBox11.Text.Length == 8 && textBox12.Text.Length == 8)
  255.                 {
  256.                     int len = Convert.ToInt32(textBox11.Text, 16);
  257.                     UInt32 index1 = Convert.ToUInt32(textBox1.Text, 16);
  258.                     UInt32 index2 = Convert.ToUInt32(textBox2.Text, 16);
  259.                     UInt32 FLASH_BASE = Convert.ToUInt32(textBox5.Text, 16);
  260.                     UInt32 FLASH_BASE0 = Convert.ToUInt32(textBox12.Text, 16);
  261.                     if(FLASH_BASE == FLASH_BASE0)
  262.                     {
  263.                         for (int i = 0; i < len / 4; i++)
  264.                         {
  265.                             if(CRCDataBuffers[i] == index1)
  266.                             {
  267.                                 if (CRCDataBuffers[i + 1] == index2)
  268.                                 {
  269.                                     if (CRCDataBuffers[i + 4] == FLASH_BASE0)
  270.                                     {
  271.                                         if(CRCDataAddress != 0)
  272.                                         {
  273.                                             MessageBox.Show("索引1和索引2有多个,请更换!!!", "参数错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  274.                                             return;
  275.                                         }
  276.                                         CRCDataAddress = i;
  277.                                         textBox3.Text = CRCDataBuffers[i + 2].ToString("X8");
  278.                                         textBox4.Text = CRCDataBuffers[i + 3].ToString("X8");
  279.                                         textBox5.Text = CRCDataBuffers[i + 4].ToString("X8");
  280.                                         textBox6.Text = CRCDataBuffers[i + 5].ToString("X8");
  281.                                         textBox7.Text = CRCDataBuffers[i + 6].ToString("X8");
  282.                                         textBox8.Text = CRCDataBuffers[i + 7].ToString("X8");
  283.                                         textBox16.Text = CRCDataBuffers[i].ToString("X8");
  284.                                         textBox15.Text = CRCDataBuffers[i + 1].ToString("X8");
  285.                                         //textBox14.Text = CRCDataBuffers[i + 2].ToString("X8");
  286.                                         CRCDataBuffers[i + 2] = Convert.ToUInt32(textBox14.Text, 16);
  287.                                         //textBox13.Text = CRCDataBuffers[i + 3].ToString("X8");
  288.                                         if (checkBox1.Checked)
  289.                                         {
  290.                                             Random systemrd = new Random();
  291.                                             textBox13.Text = systemrd.Next(0, 0x7fffffff).ToString("X8");
  292.                                         }
  293.                                         else
  294.                                         {
  295.                                             textBox13.Text = CRCDataBuffers[i + 3].ToString("X8");
  296.                                         }
  297.                                         CRCDataBuffers[i + 3] = Convert.ToUInt32(textBox13.Text, 16);
  298.                                         textBox12.Text = CRCDataBuffers[i + 4].ToString("X8");
  299.                                         //textBox11.Text = CRCDataBuffers[i + 5].ToString("X8");
  300.                                         CRCDataBuffers[i + 5] = Convert.ToUInt32(textBox11.Text, 16);
  301.                                         //textBox10.Text = CRCDataBuffers[i + 6].ToString("X8");
  302.                                         //textBox9.Text = CRCDataBuffers[i + 7].ToString("X8");
  303.                                         DataCheck();
  304.                                     }
  305.                                 }
  306.                             }
  307.                         }
  308.                     }
  309.                     else
  310.                     {
  311.                         MessageBox.Show("基地址输入错误!!!", "参数错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  312.                     }
  313.                 }
  314.                 else
  315.                 {
  316.                     MessageBox.Show("HEX文件装载错误!!!", "装载错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  317.                 }
  318.             }
  319.             else
  320.             {
  321.                 MessageBox.Show("请输入索引1、索引2、基地址!!!", "参数错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  322.             }
  323.             if(textBox9.Text == "" && textBox10.Text == "")
  324.             {
  325.                 textBox16.Text = "";
  326.                 textBox15.Text = "";
  327.                 textBox14.Text = "";
  328.                 textBox13.Text = "";
  329.             }
  330.         }

  331.         private void button4_Click(object sender, EventArgs e)
  332.         {
  333.             Random systemrd = new Random();
  334.             textBox18.Text = systemrd.Next(0, 0x7fffffff).ToString("X8");
  335.             textBox19.Text = systemrd.Next(0, 0x7fffffff).ToString("X8");
  336.             textBox20.Text = systemrd.Next(0, 0x7fffffff).ToString("X8");
  337.         }

  338.         private void button3_Click(object sender, EventArgs e)
  339.         {
  340.             if (textBox18.Text.Length == 8 && textBox19.Text.Length == 8 && textBox20.Text.Length == 8)
  341.             {
  342.                 UInt32 poly = Convert.ToUInt32(textBox18.Text, 16);
  343.                 UInt32 init = Convert.ToUInt32(textBox19.Text, 16);
  344.                 UInt32 xorout = Convert.ToUInt32(textBox20.Text, 16);
  345.                 textBox14.Text = CRC32Valx(0, poly, init, xorout).ToString("X8");
  346.             }
  347.         }

  348.         private void textBox16_TextChanged(object sender, EventArgs e)
  349.         {

  350.         }

  351.         private void textBox15_TextChanged(object sender, EventArgs e)
  352.         {

  353.         }

  354.         private void textBox14_TextChanged(object sender, EventArgs e)
  355.         {

  356.         }

  357.         private void textBox13_TextChanged(object sender, EventArgs e)
  358.         {

  359.         }

  360.         private void textBox12_TextChanged(object sender, EventArgs e)
  361.         {

  362.         }

  363.         private void textBox11_TextChanged(object sender, EventArgs e)
  364.         {

  365.         }

  366.         private void textBox10_TextChanged(object sender, EventArgs e)
  367.         {

  368.         }

  369.         private void textBox9_TextChanged(object sender, EventArgs e)
  370.         {

  371.         }
  372.     }
  373. }


反篡改模拟ID和测试结果恒为零.png
反篡改数组.png
反篡改文件夹.png

HexEdit.rar

266.62 KB, 下载次数: 24

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:[url=http://www.21ic.com/tools/HotWC3_V1.23.html]

1460

主题

21619

帖子

508

粉丝
快速回复 在线客服 返回列表 返回顶部