diff --git a/Navicat_Keygen_Patch_By_DFoX.sln b/Navicat_Keygen_Patch_By_DFoX.sln new file mode 100644 index 0000000..739eabc --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2010 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Navicat_Keygen_Patch_By_DFoX", "Navicat_Keygen_Patch_By_DFoX\Navicat_Keygen_Patch_By_DFoX.csproj", "{B745377E-4807-4998-A8FC-0BD3333A8096}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B745377E-4807-4998-A8FC-0BD3333A8096}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B745377E-4807-4998-A8FC-0BD3333A8096}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B745377E-4807-4998-A8FC-0BD3333A8096}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B745377E-4807-4998-A8FC-0BD3333A8096}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D47D8EB7-0FE0-4C2C-BEE4-F08B92A31A04} + EndGlobalSection +EndGlobal diff --git a/Navicat_Keygen_Patch_By_DFoX/BouncyCastle.Crypto.dll b/Navicat_Keygen_Patch_By_DFoX/BouncyCastle.Crypto.dll new file mode 100644 index 0000000..ef5a5bb Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/BouncyCastle.Crypto.dll differ diff --git a/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs b/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs new file mode 100644 index 0000000..489d1ce --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs @@ -0,0 +1,872 @@ +namespace Navicat_Keygen_Patch_By_DFoX +{ + partial class FNavicat + { + /// + /// Variabile di progettazione necessaria. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Pulire le risorse in uso. + /// + /// ha valore true se le risorse gestite devono essere eliminate, false in caso contrario. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Codice generato da Progettazione Windows Form + + /// + /// Metodo necessario per il supporto della finestra di progettazione. Non modificare + /// il contenuto del metodo con l'editor di codice. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.trequestcode = new System.Windows.Forms.TextBox(); + this.bexit = new System.Windows.Forms.Button(); + this.rn11 = new System.Windows.Forms.RadioButton(); + this.rn12 = new System.Windows.Forms.RadioButton(); + this.tactivationcode = new System.Windows.Forms.TextBox(); + this.bgenerateactivation = new System.Windows.Forms.Button(); + this.g1 = new System.Windows.Forms.GroupBox(); + this.repo = new System.Windows.Forms.RadioButton(); + this.resse12 = new System.Windows.Forms.RadioButton(); + this.resse11 = new System.Windows.Forms.RadioButton(); + this.rmod = new System.Windows.Forms.RadioButton(); + this.patchhost = new System.Windows.Forms.CheckBox(); + this.bPatch = new System.Windows.Forms.Button(); + this.controlloBackup = new System.Windows.Forms.CheckBox(); + this.cMac = new System.Windows.Forms.CheckBox(); + this.linkue = new System.Windows.Forms.LinkLabel(); + this.g2 = new System.Windows.Forms.GroupBox(); + this.label5 = new System.Windows.Forms.Label(); + this.combolang = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.comboprod = new System.Windows.Forms.ComboBox(); + this.label10 = new System.Windows.Forms.Label(); + this.ress = new System.Windows.Forms.RadioButton(); + this.rstd = new System.Windows.Forms.RadioButton(); + this.rent = new System.Windows.Forms.RadioButton(); + this.redu = new System.Windows.Forms.RadioButton(); + this.g3 = new System.Windows.Forms.GroupBox(); + this.comboCustom = new System.Windows.Forms.ComboBox(); + this.rcs = new System.Windows.Forms.RadioButton(); + this.rnfrl = new System.Windows.Forms.RadioButton(); + this.rnfr365 = new System.Windows.Forms.RadioButton(); + this.rnfr90 = new System.Windows.Forms.RadioButton(); + this.rsl = new System.Windows.Forms.RadioButton(); + this.label2 = new System.Windows.Forms.Label(); + this.rnfr30 = new System.Windows.Forms.RadioButton(); + this.g4 = new System.Windows.Forms.GroupBox(); + this.cautoi = new System.Windows.Forms.CheckBox(); + this.bcopyrc = new System.Windows.Forms.Button(); + this.bpaste = new System.Windows.Forms.Button(); + this.bcleara = new System.Windows.Forms.Button(); + this.bclearr = new System.Windows.Forms.Button(); + this.bcopyserial = new System.Windows.Forms.Button(); + this.bgenrates = new System.Windows.Forms.Button(); + this.tserial = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.bcopyactivationcode = new System.Windows.Forms.Button(); + this.torganization = new System.Windows.Forms.TextBox(); + this.tname = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.g1.SuspendLayout(); + this.g2.SuspendLayout(); + this.g3.SuspendLayout(); + this.g4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.SuspendLayout(); + // + // trequestcode + // + this.trequestcode.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.trequestcode.ForeColor = System.Drawing.Color.Indigo; + this.trequestcode.Location = new System.Drawing.Point(126, 88); + this.trequestcode.MaxLength = 500; + this.trequestcode.Multiline = true; + this.trequestcode.Name = "trequestcode"; + this.trequestcode.Size = new System.Drawing.Size(435, 94); + this.trequestcode.TabIndex = 0; + this.toolTip1.SetToolTip(this.trequestcode, "Put the PC Offline, Click on Manual Activation and Paste the Request Code Here..." + + ""); + this.trequestcode.TextChanged += new System.EventHandler(this.trequestcode_TextChanged); + // + // bexit + // + this.bexit.Location = new System.Drawing.Point(6, 264); + this.bexit.Name = "bexit"; + this.bexit.Size = new System.Drawing.Size(43, 23); + this.bexit.TabIndex = 1; + this.bexit.Text = "Exit"; + this.bexit.UseVisualStyleBackColor = true; + this.bexit.Click += new System.EventHandler(this.bexit_Click); + // + // rn11 + // + this.rn11.AutoSize = true; + this.rn11.Location = new System.Drawing.Point(225, 18); + this.rn11.Name = "rn11"; + this.rn11.Size = new System.Drawing.Size(94, 17); + this.rn11.TabIndex = 2; + this.rn11.Text = "Navicat v11"; + this.rn11.UseVisualStyleBackColor = true; + this.rn11.CheckedChanged += new System.EventHandler(this.rn11_CheckedChanged); + // + // rn12 + // + this.rn12.AutoSize = true; + this.rn12.Checked = true; + this.rn12.Location = new System.Drawing.Point(379, 18); + this.rn12.Name = "rn12"; + this.rn12.Size = new System.Drawing.Size(94, 17); + this.rn12.TabIndex = 3; + this.rn12.TabStop = true; + this.rn12.Text = "Navicat v12"; + this.rn12.UseVisualStyleBackColor = true; + this.rn12.CheckedChanged += new System.EventHandler(this.rn11_CheckedChanged); + // + // tactivationcode + // + this.tactivationcode.BackColor = System.Drawing.SystemColors.Info; + this.tactivationcode.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tactivationcode.ForeColor = System.Drawing.Color.DarkGreen; + this.tactivationcode.Location = new System.Drawing.Point(126, 188); + this.tactivationcode.MaxLength = 500; + this.tactivationcode.Multiline = true; + this.tactivationcode.Name = "tactivationcode"; + this.tactivationcode.ReadOnly = true; + this.tactivationcode.Size = new System.Drawing.Size(435, 99); + this.tactivationcode.TabIndex = 4; + this.tactivationcode.TextChanged += new System.EventHandler(this.trequestcode_TextChanged); + // + // bgenerateactivation + // + this.bgenerateactivation.ForeColor = System.Drawing.Color.DarkGreen; + this.bgenerateactivation.Location = new System.Drawing.Point(55, 264); + this.bgenerateactivation.Name = "bgenerateactivation"; + this.bgenerateactivation.Size = new System.Drawing.Size(67, 23); + this.bgenerateactivation.TabIndex = 5; + this.bgenerateactivation.Text = "Generate"; + this.bgenerateactivation.UseVisualStyleBackColor = true; + this.bgenerateactivation.Click += new System.EventHandler(this.bgenerateactivation_Click); + // + // g1 + // + this.g1.Controls.Add(this.repo); + this.g1.Controls.Add(this.resse12); + this.g1.Controls.Add(this.resse11); + this.g1.Controls.Add(this.rmod); + this.g1.Controls.Add(this.patchhost); + this.g1.Controls.Add(this.bPatch); + this.g1.Controls.Add(this.controlloBackup); + this.g1.Controls.Add(this.rn11); + this.g1.Controls.Add(this.rn12); + this.g1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold); + this.g1.ForeColor = System.Drawing.Color.DarkMagenta; + this.g1.Location = new System.Drawing.Point(5, 13); + this.g1.Name = "g1"; + this.g1.Size = new System.Drawing.Size(568, 65); + this.g1.TabIndex = 6; + this.g1.TabStop = false; + this.g1.Text = "1) Patch"; + // + // repo + // + this.repo.AutoSize = true; + this.repo.Location = new System.Drawing.Point(379, 40); + this.repo.Name = "repo"; + this.repo.Size = new System.Drawing.Size(105, 17); + this.repo.TabIndex = 28; + this.repo.Text = "Report Viewer"; + this.repo.UseVisualStyleBackColor = true; + this.repo.CheckedChanged += new System.EventHandler(this.rn11_CheckedChanged); + // + // resse12 + // + this.resse12.AutoSize = true; + this.resse12.Location = new System.Drawing.Point(225, 38); + this.resse12.Name = "resse12"; + this.resse12.Size = new System.Drawing.Size(107, 17); + this.resse12.TabIndex = 27; + this.resse12.Text = "Essentials v12"; + this.resse12.UseVisualStyleBackColor = true; + // + // resse11 + // + this.resse11.AutoSize = true; + this.resse11.Location = new System.Drawing.Point(81, 40); + this.resse11.Name = "resse11"; + this.resse11.Size = new System.Drawing.Size(107, 17); + this.resse11.TabIndex = 26; + this.resse11.Text = "Essentials v11"; + this.resse11.UseVisualStyleBackColor = true; + this.resse11.CheckedChanged += new System.EventHandler(this.rn11_CheckedChanged); + // + // rmod + // + this.rmod.AutoSize = true; + this.rmod.Location = new System.Drawing.Point(81, 18); + this.rmod.Name = "rmod"; + this.rmod.Size = new System.Drawing.Size(70, 17); + this.rmod.TabIndex = 25; + this.rmod.Text = "Modeler"; + this.rmod.UseVisualStyleBackColor = true; + this.rmod.CheckedChanged += new System.EventHandler(this.rn11_CheckedChanged); + // + // patchhost + // + this.patchhost.AutoSize = true; + this.patchhost.Checked = true; + this.patchhost.CheckState = System.Windows.Forms.CheckState.Checked; + this.patchhost.Cursor = System.Windows.Forms.Cursors.Hand; + this.patchhost.ForeColor = System.Drawing.Color.Teal; + this.patchhost.Location = new System.Drawing.Point(6, 41); + this.patchhost.Name = "patchhost"; + this.patchhost.Size = new System.Drawing.Size(52, 17); + this.patchhost.TabIndex = 24; + this.patchhost.Text = "Host"; + this.patchhost.UseVisualStyleBackColor = true; + // + // bPatch + // + this.bPatch.ForeColor = System.Drawing.Color.DarkBlue; + this.bPatch.Location = new System.Drawing.Point(490, 15); + this.bPatch.Name = "bPatch"; + this.bPatch.Size = new System.Drawing.Size(71, 23); + this.bPatch.TabIndex = 22; + this.bPatch.Text = "Patch"; + this.bPatch.UseVisualStyleBackColor = true; + this.bPatch.Click += new System.EventHandler(this.bPatch_Click); + // + // controlloBackup + // + this.controlloBackup.AutoSize = true; + this.controlloBackup.Checked = true; + this.controlloBackup.CheckState = System.Windows.Forms.CheckState.Checked; + this.controlloBackup.Cursor = System.Windows.Forms.Cursors.Hand; + this.controlloBackup.ForeColor = System.Drawing.Color.Teal; + this.controlloBackup.Location = new System.Drawing.Point(6, 19); + this.controlloBackup.Name = "controlloBackup"; + this.controlloBackup.Size = new System.Drawing.Size(69, 17); + this.controlloBackup.TabIndex = 23; + this.controlloBackup.Text = "Backup"; + this.controlloBackup.UseVisualStyleBackColor = true; + // + // cMac + // + this.cMac.AutoSize = true; + this.cMac.Cursor = System.Windows.Forms.Cursors.Hand; + this.cMac.ForeColor = System.Drawing.Color.Teal; + this.cMac.Location = new System.Drawing.Point(6, 123); + this.cMac.Name = "cMac"; + this.cMac.Size = new System.Drawing.Size(50, 17); + this.cMac.TabIndex = 25; + this.cMac.Text = "Mac"; + this.cMac.UseVisualStyleBackColor = true; + this.cMac.CheckedChanged += new System.EventHandler(this.cMac_CheckedChanged); + // + // linkue + // + this.linkue.AutoSize = true; + this.linkue.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkue.ForeColor = System.Drawing.Color.DarkRed; + this.linkue.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.linkue.Location = new System.Drawing.Point(446, 564); + this.linkue.Name = "linkue"; + this.linkue.Size = new System.Drawing.Size(120, 13); + this.linkue.TabIndex = 25; + this.linkue.TabStop = true; + this.linkue.Text = "https://navicat.com"; + this.linkue.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linna_LinkClicked); + // + // g2 + // + this.g2.Controls.Add(this.label5); + this.g2.Controls.Add(this.combolang); + this.g2.Controls.Add(this.label1); + this.g2.Controls.Add(this.comboprod); + this.g2.Controls.Add(this.label10); + this.g2.Controls.Add(this.ress); + this.g2.Controls.Add(this.rstd); + this.g2.Controls.Add(this.rent); + this.g2.Controls.Add(this.redu); + this.g2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold); + this.g2.ForeColor = System.Drawing.Color.Crimson; + this.g2.Location = new System.Drawing.Point(5, 84); + this.g2.Name = "g2"; + this.g2.Size = new System.Drawing.Size(568, 75); + this.g2.TabIndex = 27; + this.g2.TabStop = false; + this.g2.Text = "2) License, Product and Language"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.ForeColor = System.Drawing.Color.Navy; + this.label5.Location = new System.Drawing.Point(6, 21); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(69, 13); + this.label5.TabIndex = 80; + this.label5.Text = "Licenses : "; + // + // combolang + // + this.combolang.BackColor = System.Drawing.SystemColors.Info; + this.combolang.ForeColor = System.Drawing.Color.DarkGreen; + this.combolang.FormattingEnabled = true; + this.combolang.Location = new System.Drawing.Point(405, 47); + this.combolang.Name = "combolang"; + this.combolang.Size = new System.Drawing.Size(153, 21); + this.combolang.Sorted = true; + this.combolang.TabIndex = 79; + this.combolang.Text = "Languages"; + this.combolang.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboCustom_KeyPress); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.Color.Navy; + this.label1.Location = new System.Drawing.Point(287, 50); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(81, 13); + this.label1.TabIndex = 78; + this.label1.Text = "Languages : "; + // + // comboprod + // + this.comboprod.BackColor = System.Drawing.SystemColors.Info; + this.comboprod.ForeColor = System.Drawing.Color.DarkGreen; + this.comboprod.FormattingEnabled = true; + this.comboprod.Location = new System.Drawing.Point(128, 47); + this.comboprod.Name = "comboprod"; + this.comboprod.Size = new System.Drawing.Size(121, 21); + this.comboprod.Sorted = true; + this.comboprod.TabIndex = 77; + this.comboprod.Text = "Products"; + this.comboprod.SelectedIndexChanged += new System.EventHandler(this.comboprod_SelectedIndexChanged); + this.comboprod.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboCustom_KeyPress); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label10.ForeColor = System.Drawing.Color.Navy; + this.label10.Location = new System.Drawing.Point(6, 50); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(69, 13); + this.label10.TabIndex = 76; + this.label10.Text = "Products : "; + // + // ress + // + this.ress.AutoSize = true; + this.ress.ForeColor = System.Drawing.Color.DarkRed; + this.ress.Location = new System.Drawing.Point(479, 19); + this.ress.Name = "ress"; + this.ress.Size = new System.Drawing.Size(82, 17); + this.ress.TabIndex = 75; + this.ress.Text = "Essentials"; + this.ress.UseVisualStyleBackColor = true; + // + // rstd + // + this.rstd.AutoSize = true; + this.rstd.Enabled = false; + this.rstd.ForeColor = System.Drawing.Color.DarkRed; + this.rstd.Location = new System.Drawing.Point(237, 19); + this.rstd.Name = "rstd"; + this.rstd.Size = new System.Drawing.Size(76, 17); + this.rstd.TabIndex = 74; + this.rstd.Text = "Standard"; + this.rstd.UseVisualStyleBackColor = true; + // + // rent + // + this.rent.AutoSize = true; + this.rent.Checked = true; + this.rent.ForeColor = System.Drawing.Color.DarkRed; + this.rent.Location = new System.Drawing.Point(126, 19); + this.rent.Name = "rent"; + this.rent.Size = new System.Drawing.Size(82, 17); + this.rent.TabIndex = 73; + this.rent.TabStop = true; + this.rent.Text = "Enterprise"; + this.rent.UseVisualStyleBackColor = true; + // + // redu + // + this.redu.AutoSize = true; + this.redu.ForeColor = System.Drawing.Color.DarkRed; + this.redu.Location = new System.Drawing.Point(351, 19); + this.redu.Name = "redu"; + this.redu.Size = new System.Drawing.Size(92, 17); + this.redu.TabIndex = 71; + this.redu.Text = "Educational"; + this.redu.UseVisualStyleBackColor = true; + // + // g3 + // + this.g3.Controls.Add(this.comboCustom); + this.g3.Controls.Add(this.rcs); + this.g3.Controls.Add(this.rnfrl); + this.g3.Controls.Add(this.rnfr365); + this.g3.Controls.Add(this.rnfr90); + this.g3.Controls.Add(this.rsl); + this.g3.Controls.Add(this.label2); + this.g3.Controls.Add(this.rnfr30); + this.g3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold); + this.g3.ForeColor = System.Drawing.Color.Crimson; + this.g3.Location = new System.Drawing.Point(5, 165); + this.g3.Name = "g3"; + this.g3.Size = new System.Drawing.Size(568, 95); + this.g3.TabIndex = 74; + this.g3.TabStop = false; + this.g3.Text = "3) Resale License"; + // + // comboCustom + // + this.comboCustom.BackColor = System.Drawing.SystemColors.Info; + this.comboCustom.DropDownHeight = 300; + this.comboCustom.Enabled = false; + this.comboCustom.ForeColor = System.Drawing.Color.DarkGreen; + this.comboCustom.FormattingEnabled = true; + this.comboCustom.IntegralHeight = false; + this.comboCustom.Location = new System.Drawing.Point(473, 67); + this.comboCustom.Name = "comboCustom"; + this.comboCustom.Size = new System.Drawing.Size(85, 21); + this.comboCustom.TabIndex = 78; + this.comboCustom.Text = "C. Value"; + this.comboCustom.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboCustom_KeyPress); + // + // rcs + // + this.rcs.AutoSize = true; + this.rcs.ForeColor = System.Drawing.Color.DarkRed; + this.rcs.Location = new System.Drawing.Point(321, 67); + this.rcs.Name = "rcs"; + this.rcs.Size = new System.Drawing.Size(102, 17); + this.rcs.TabIndex = 77; + this.rcs.Text = "Custom Value"; + this.rcs.UseVisualStyleBackColor = true; + this.rcs.CheckedChanged += new System.EventHandler(this.rcs_CheckedChanged); + // + // rnfrl + // + this.rnfrl.AutoSize = true; + this.rnfrl.ForeColor = System.Drawing.Color.DarkRed; + this.rnfrl.Location = new System.Drawing.Point(321, 21); + this.rnfrl.Name = "rnfrl"; + this.rnfrl.Size = new System.Drawing.Size(158, 17); + this.rnfrl.TabIndex = 76; + this.rnfrl.Text = "Not-For-Resale License"; + this.rnfrl.UseVisualStyleBackColor = true; + this.rnfrl.CheckedChanged += new System.EventHandler(this.rnfrl_CheckedChanged); + // + // rnfr365 + // + this.rnfr365.AutoSize = true; + this.rnfr365.ForeColor = System.Drawing.Color.DarkRed; + this.rnfr365.Location = new System.Drawing.Point(128, 67); + this.rnfr365.Name = "rnfr365"; + this.rnfr365.Size = new System.Drawing.Size(169, 17); + this.rnfr365.TabIndex = 75; + this.rnfr365.Text = "Not-For-Resale-365-days "; + this.rnfr365.UseVisualStyleBackColor = true; + this.rnfr365.CheckedChanged += new System.EventHandler(this.rnfr365_CheckedChanged); + // + // rnfr90 + // + this.rnfr90.AutoSize = true; + this.rnfr90.ForeColor = System.Drawing.Color.DarkRed; + this.rnfr90.Location = new System.Drawing.Point(321, 44); + this.rnfr90.Name = "rnfr90"; + this.rnfr90.Size = new System.Drawing.Size(162, 17); + this.rnfr90.TabIndex = 74; + this.rnfr90.Text = "Not-For-Resale-90-days "; + this.rnfr90.UseVisualStyleBackColor = true; + this.rnfr90.CheckedChanged += new System.EventHandler(this.rnfr90_CheckedChanged); + // + // rsl + // + this.rsl.AutoSize = true; + this.rsl.Checked = true; + this.rsl.ForeColor = System.Drawing.Color.DarkRed; + this.rsl.Location = new System.Drawing.Point(128, 21); + this.rsl.Name = "rsl"; + this.rsl.Size = new System.Drawing.Size(91, 17); + this.rsl.TabIndex = 73; + this.rsl.TabStop = true; + this.rsl.Text = "Site license"; + this.rsl.UseVisualStyleBackColor = true; + this.rsl.CheckedChanged += new System.EventHandler(this.rsl_CheckedChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.ForeColor = System.Drawing.Color.Navy; + this.label2.Location = new System.Drawing.Point(6, 23); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(110, 13); + this.label2.TabIndex = 72; + this.label2.Text = "Resale Versions : "; + // + // rnfr30 + // + this.rnfr30.AutoSize = true; + this.rnfr30.ForeColor = System.Drawing.Color.DarkRed; + this.rnfr30.Location = new System.Drawing.Point(128, 44); + this.rnfr30.Name = "rnfr30"; + this.rnfr30.Size = new System.Drawing.Size(158, 17); + this.rnfr30.TabIndex = 71; + this.rnfr30.Text = "Not-For-Resale-30-days"; + this.rnfr30.UseVisualStyleBackColor = true; + this.rnfr30.CheckedChanged += new System.EventHandler(this.rnfr30_CheckedChanged); + // + // g4 + // + this.g4.Controls.Add(this.cautoi); + this.g4.Controls.Add(this.bcopyrc); + this.g4.Controls.Add(this.cMac); + this.g4.Controls.Add(this.bpaste); + this.g4.Controls.Add(this.bcleara); + this.g4.Controls.Add(this.bclearr); + this.g4.Controls.Add(this.bcopyserial); + this.g4.Controls.Add(this.bgenrates); + this.g4.Controls.Add(this.tserial); + this.g4.Controls.Add(this.label9); + this.g4.Controls.Add(this.bcopyactivationcode); + this.g4.Controls.Add(this.torganization); + this.g4.Controls.Add(this.tname); + this.g4.Controls.Add(this.label8); + this.g4.Controls.Add(this.label7); + this.g4.Controls.Add(this.label4); + this.g4.Controls.Add(this.label3); + this.g4.Controls.Add(this.trequestcode); + this.g4.Controls.Add(this.bexit); + this.g4.Controls.Add(this.bgenerateactivation); + this.g4.Controls.Add(this.tactivationcode); + this.g4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold); + this.g4.ForeColor = System.Drawing.Color.Teal; + this.g4.Location = new System.Drawing.Point(5, 266); + this.g4.Name = "g4"; + this.g4.Size = new System.Drawing.Size(568, 295); + this.g4.TabIndex = 75; + this.g4.TabStop = false; + this.g4.Text = "4) - Keygen / Offline Activation"; + // + // cautoi + // + this.cautoi.AutoSize = true; + this.cautoi.Checked = true; + this.cautoi.CheckState = System.Windows.Forms.CheckState.Checked; + this.cautoi.Location = new System.Drawing.Point(333, 16); + this.cautoi.Name = "cautoi"; + this.cautoi.Size = new System.Drawing.Size(88, 17); + this.cautoi.TabIndex = 88; + this.cautoi.Text = "Auto-Insert"; + this.cautoi.UseVisualStyleBackColor = true; + // + // bcopyrc + // + this.bcopyrc.ForeColor = System.Drawing.Color.BlueViolet; + this.bcopyrc.Location = new System.Drawing.Point(67, 119); + this.bcopyrc.Name = "bcopyrc"; + this.bcopyrc.Size = new System.Drawing.Size(53, 23); + this.bcopyrc.TabIndex = 87; + this.bcopyrc.Text = "Copy"; + this.bcopyrc.UseVisualStyleBackColor = true; + this.bcopyrc.Click += new System.EventHandler(this.bcopyrc_Click); + // + // bpaste + // + this.bpaste.ForeColor = System.Drawing.Color.BlueViolet; + this.bpaste.Location = new System.Drawing.Point(67, 159); + this.bpaste.Name = "bpaste"; + this.bpaste.Size = new System.Drawing.Size(53, 23); + this.bpaste.TabIndex = 86; + this.bpaste.Text = "Paste"; + this.bpaste.UseVisualStyleBackColor = true; + this.bpaste.Click += new System.EventHandler(this.bpaste_Click); + // + // bcleara + // + this.bcleara.ForeColor = System.Drawing.Color.Brown; + this.bcleara.Location = new System.Drawing.Point(6, 226); + this.bcleara.Name = "bcleara"; + this.bcleara.Size = new System.Drawing.Size(53, 23); + this.bcleara.TabIndex = 85; + this.bcleara.Text = "Clear"; + this.bcleara.UseVisualStyleBackColor = true; + this.bcleara.Click += new System.EventHandler(this.bcleara_Click); + // + // bclearr + // + this.bclearr.ForeColor = System.Drawing.Color.Brown; + this.bclearr.Location = new System.Drawing.Point(6, 159); + this.bclearr.Name = "bclearr"; + this.bclearr.Size = new System.Drawing.Size(53, 23); + this.bclearr.TabIndex = 84; + this.bclearr.Text = "Clear"; + this.bclearr.UseVisualStyleBackColor = true; + this.bclearr.Click += new System.EventHandler(this.bclearr_Click); + // + // bcopyserial + // + this.bcopyserial.ForeColor = System.Drawing.Color.BlueViolet; + this.bcopyserial.Location = new System.Drawing.Point(427, 14); + this.bcopyserial.Name = "bcopyserial"; + this.bcopyserial.Size = new System.Drawing.Size(61, 23); + this.bcopyserial.TabIndex = 83; + this.bcopyserial.Text = "Copy"; + this.bcopyserial.UseVisualStyleBackColor = true; + this.bcopyserial.Click += new System.EventHandler(this.bcopyserial_Click); + // + // bgenrates + // + this.bgenrates.ForeColor = System.Drawing.Color.DarkGreen; + this.bgenrates.Location = new System.Drawing.Point(494, 14); + this.bgenrates.Name = "bgenrates"; + this.bgenrates.Size = new System.Drawing.Size(67, 23); + this.bgenrates.TabIndex = 82; + this.bgenrates.Text = "Generate"; + this.bgenrates.UseVisualStyleBackColor = true; + this.bgenrates.Click += new System.EventHandler(this.bgenrates_Click); + // + // tserial + // + this.tserial.BackColor = System.Drawing.SystemColors.Info; + this.tserial.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tserial.ForeColor = System.Drawing.Color.DarkGreen; + this.tserial.Location = new System.Drawing.Point(126, 14); + this.tserial.MaxLength = 20; + this.tserial.Name = "tserial"; + this.tserial.Size = new System.Drawing.Size(200, 20); + this.tserial.TabIndex = 81; + this.tserial.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label9.ForeColor = System.Drawing.Color.Navy; + this.label9.Location = new System.Drawing.Point(6, 17); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(97, 13); + this.label9.TabIndex = 80; + this.label9.Text = "Serial Keygen : "; + // + // bcopyactivationcode + // + this.bcopyactivationcode.ForeColor = System.Drawing.Color.BlueViolet; + this.bcopyactivationcode.Location = new System.Drawing.Point(67, 226); + this.bcopyactivationcode.Name = "bcopyactivationcode"; + this.bcopyactivationcode.Size = new System.Drawing.Size(53, 23); + this.bcopyactivationcode.TabIndex = 79; + this.bcopyactivationcode.Text = "Copy"; + this.bcopyactivationcode.UseVisualStyleBackColor = true; + this.bcopyactivationcode.Click += new System.EventHandler(this.bcopyactivationcode_Click); + // + // torganization + // + this.torganization.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.torganization.ForeColor = System.Drawing.Color.Indigo; + this.torganization.Location = new System.Drawing.Point(126, 66); + this.torganization.MaxLength = 25; + this.torganization.Name = "torganization"; + this.torganization.Size = new System.Drawing.Size(435, 20); + this.torganization.TabIndex = 78; + this.torganization.Text = "DeFconX"; + this.torganization.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.torganization.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.checkdigit_KeyPress); + // + // tname + // + this.tname.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tname.ForeColor = System.Drawing.Color.Indigo; + this.tname.Location = new System.Drawing.Point(126, 40); + this.tname.MaxLength = 25; + this.tname.Name = "tname"; + this.tname.Size = new System.Drawing.Size(435, 20); + this.tname.TabIndex = 77; + this.tname.Text = "DeltaFoX"; + this.tname.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.tname.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.checkdigit_KeyPress); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.ForeColor = System.Drawing.Color.Navy; + this.label8.Location = new System.Drawing.Point(6, 91); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(95, 13); + this.label8.TabIndex = 76; + this.label8.Text = "Request Code :"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label7.ForeColor = System.Drawing.Color.Navy; + this.label7.Location = new System.Drawing.Point(6, 191); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(109, 13); + this.label7.TabIndex = 75; + this.label7.Text = "Activation Code : "; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label4.ForeColor = System.Drawing.Color.Navy; + this.label4.Location = new System.Drawing.Point(6, 69); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(120, 13); + this.label4.TabIndex = 74; + this.label4.Text = "Your Organization : "; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.ForeColor = System.Drawing.Color.Navy; + this.label3.Location = new System.Drawing.Point(6, 43); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(81, 13); + this.label3.TabIndex = 73; + this.label3.Text = "Your Name : "; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.ForeColor = System.Drawing.Color.Indigo; + this.linkLabel1.Location = new System.Drawing.Point(8, 564); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(77, 13); + this.linkLabel1.TabIndex = 76; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "By DeltaFoX"; + this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkur_LinkClicked); + // + // pictureBox2 + // + this.pictureBox2.Image = global::Navicat_Keygen_Patch_By_DFoX.Properties.Resources.ita; + this.pictureBox2.Location = new System.Drawing.Point(286, 564); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(16, 16); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBox2.TabIndex = 77; + this.pictureBox2.TabStop = false; + this.toolTip1.SetToolTip(this.pictureBox2, "Italy"); + // + // FNavicat + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(578, 582); + this.Controls.Add(this.pictureBox2); + this.Controls.Add(this.linkLabel1); + this.Controls.Add(this.g4); + this.Controls.Add(this.g3); + this.Controls.Add(this.g2); + this.Controls.Add(this.linkue); + this.Controls.Add(this.g1); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(594, 621); + this.MinimumSize = new System.Drawing.Size(594, 621); + this.Name = "FNavicat"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Navicat Products - Patch/Keygen v4.2"; + this.Load += new System.EventHandler(this.NC_Load); + this.g1.ResumeLayout(false); + this.g1.PerformLayout(); + this.g2.ResumeLayout(false); + this.g2.PerformLayout(); + this.g3.ResumeLayout(false); + this.g3.PerformLayout(); + this.g4.ResumeLayout(false); + this.g4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox trequestcode; + private System.Windows.Forms.Button bexit; + private System.Windows.Forms.RadioButton rn11; + private System.Windows.Forms.RadioButton rn12; + private System.Windows.Forms.TextBox tactivationcode; + private System.Windows.Forms.Button bgenerateactivation; + private System.Windows.Forms.GroupBox g1; + private System.Windows.Forms.Button bPatch; + private System.Windows.Forms.CheckBox controlloBackup; + private System.Windows.Forms.LinkLabel linkue; + private System.Windows.Forms.GroupBox g2; + private System.Windows.Forms.RadioButton rent; + private System.Windows.Forms.RadioButton redu; + private System.Windows.Forms.GroupBox g3; + private System.Windows.Forms.RadioButton rnfrl; + private System.Windows.Forms.RadioButton rnfr365; + private System.Windows.Forms.RadioButton rnfr90; + private System.Windows.Forms.RadioButton rsl; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.RadioButton rnfr30; + private System.Windows.Forms.GroupBox g4; + private System.Windows.Forms.Button bcopyactivationcode; + private System.Windows.Forms.TextBox torganization; + private System.Windows.Forms.TextBox tname; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Button bgenrates; + private System.Windows.Forms.TextBox tserial; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Button bcopyserial; + private System.Windows.Forms.Button bpaste; + private System.Windows.Forms.Button bcleara; + private System.Windows.Forms.Button bclearr; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.ComboBox comboCustom; + private System.Windows.Forms.RadioButton rcs; + private System.Windows.Forms.PictureBox pictureBox2; + private System.Windows.Forms.ToolTip toolTip1; + private System.Windows.Forms.ComboBox comboprod; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.RadioButton ress; + private System.Windows.Forms.RadioButton rstd; + private System.Windows.Forms.CheckBox patchhost; + private System.Windows.Forms.CheckBox cMac; + private System.Windows.Forms.Button bcopyrc; + private System.Windows.Forms.RadioButton rmod; + private System.Windows.Forms.RadioButton resse11; + private System.Windows.Forms.RadioButton resse12; + private System.Windows.Forms.RadioButton repo; + private System.Windows.Forms.CheckBox cautoi; + private System.Windows.Forms.ComboBox combolang; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label5; + } +} + diff --git a/Navicat_Keygen_Patch_By_DFoX/NC.cs b/Navicat_Keygen_Patch_By_DFoX/NC.cs new file mode 100644 index 0000000..544c488 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/NC.cs @@ -0,0 +1,1506 @@ +using Microsoft.Win32; +using Navicat_Keygen_Patch_By_DFoX.Properties; +using Newtonsoft.Json; +using Org.BouncyCastle.Crypto; +using Org.BouncyCastle.Crypto.Encodings; +using Org.BouncyCastle.Crypto.Engines; +using Org.BouncyCastle.OpenSsl; +using System; +using System.Collections.Generic; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Security.Cryptography; +using System.Text; +using System.Windows.Forms; + +namespace Navicat_Keygen_Patch_By_DFoX +{ + public partial class FNavicat : Form + { + private Icon ico = Resources.Navicat; + private char[] SnKey = new char[16]; + private byte[] a = { 0x0D, 0x0A, 0x4D, 0x49, 0x49, 0x42, 0x49, 0x6A, 0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, 0x41, 0x41, 0x4F, 0x43, 0x41, 0x51, 0x38, 0x41, 0x4D, 0x49, 0x49, 0x42, 0x43, 0x67, 0x4B, 0x43, 0x41, 0x51, 0x45, 0x41, 0x77, 0x31, 0x64, 0x71, 0x46, 0x33, 0x53, 0x6B, 0x43, 0x61, 0x41, 0x41, 0x6D, 0x4D, 0x7A, 0x73, 0x38, 0x38, 0x39, 0x49, 0x0D, 0x0A, 0x71, 0x64, 0x57, 0x39, 0x4D, 0x32, 0x64, 0x49, 0x64, 0x68, 0x33, 0x6A, 0x47, 0x39, 0x79, 0x50, 0x63, 0x6D, 0x4C, 0x6E, 0x6D, 0x4A, 0x69, 0x47, 0x70, 0x42, 0x46, 0x34, 0x45, 0x39, 0x56, 0x48, 0x53, 0x4D, 0x47, 0x65, 0x38, 0x6F, 0x50, 0x41, 0x79, 0x32, 0x6B, 0x4A, 0x44, 0x6D, 0x64, 0x4E, 0x74, 0x34, 0x42, 0x63, 0x45, 0x79, 0x67, 0x76, 0x73, 0x73, 0x45, 0x66, 0x67, 0x69, 0x6E, 0x76, 0x0D, 0x0A, 0x61, 0x35, 0x74, 0x35, 0x6A, 0x6D, 0x33, 0x35, 0x32, 0x55, 0x41, 0x6F, 0x44, 0x6F, 0x73, 0x55, 0x4A, 0x6B, 0x54, 0x58, 0x47, 0x51, 0x68, 0x70, 0x41, 0x57, 0x4D, 0x46, 0x34, 0x66, 0x42, 0x6D, 0x42, 0x70, 0x4F, 0x33, 0x45, 0x65, 0x64, 0x47, 0x36, 0x32, 0x72, 0x4F, 0x73, 0x71, 0x4D, 0x42, 0x67, 0x6D, 0x53, 0x64, 0x41, 0x79, 0x78, 0x43, 0x53, 0x50, 0x42, 0x52, 0x4A, 0x49, 0x4F, 0x46, 0x0D, 0x0A, 0x52, 0x30, 0x51, 0x67, 0x5A, 0x46, 0x62, 0x52, 0x6E, 0x55, 0x30, 0x66, 0x72, 0x6A, 0x33, 0x34, 0x66, 0x69, 0x56, 0x6D, 0x67, 0x59, 0x69, 0x4C, 0x75, 0x5A, 0x53, 0x41, 0x6D, 0x49, 0x62, 0x73, 0x38, 0x5A, 0x78, 0x69, 0x48, 0x50, 0x64, 0x70, 0x31, 0x6F, 0x44, 0x34, 0x74, 0x55, 0x70, 0x76, 0x73, 0x46, 0x63, 0x69, 0x34, 0x51, 0x4A, 0x74, 0x59, 0x4E, 0x6A, 0x4E, 0x6E, 0x47, 0x55, 0x32, 0x0D, 0x0A, 0x57, 0x50, 0x48, 0x36, 0x72, 0x76, 0x43, 0x68, 0x47, 0x6C, 0x31, 0x49, 0x52, 0x4B, 0x72, 0x78, 0x4D, 0x74, 0x71, 0x4C, 0x69, 0x65, 0x6C, 0x73, 0x76, 0x61, 0x6A, 0x55, 0x6A, 0x79, 0x72, 0x67, 0x4F, 0x43, 0x36, 0x4E, 0x6D, 0x79, 0x6D, 0x59, 0x4D, 0x76, 0x5A, 0x4E, 0x45, 0x52, 0x33, 0x68, 0x74, 0x46, 0x45, 0x74, 0x4C, 0x31, 0x65, 0x51, 0x62, 0x43, 0x79, 0x54, 0x66, 0x44, 0x6D, 0x74, 0x0D, 0x0A, 0x59, 0x79, 0x51, 0x31, 0x57, 0x74, 0x34, 0x4F, 0x74, 0x31, 0x32, 0x6C, 0x78, 0x66, 0x30, 0x77, 0x56, 0x49, 0x52, 0x35, 0x6D, 0x63, 0x47, 0x4E, 0x37, 0x58, 0x43, 0x58, 0x4A, 0x52, 0x48, 0x4F, 0x46, 0x48, 0x53, 0x66, 0x31, 0x67, 0x7A, 0x58, 0x57, 0x61, 0x62, 0x52, 0x53, 0x76, 0x6D, 0x74, 0x31, 0x6E, 0x72, 0x6C, 0x37, 0x73, 0x57, 0x36, 0x63, 0x6A, 0x78, 0x6C, 0x6A, 0x75, 0x75, 0x51, 0x0D, 0x0A, 0x61, 0x77, 0x49, 0x44, 0x41, 0x51, 0x41, 0x42, 0x0D, 0x0A }; + + private byte[] b = { 0x0D, 0x0A, 0x4D, 0x49, 0x49, 0x42, 0x49, 0x6A, 0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, 0x41, 0x41, 0x4F, 0x43, 0x41, 0x51, 0x38, 0x41, 0x4D, 0x49, 0x49, 0x42, 0x43, 0x67, 0x4B, 0x43, 0x41, 0x51, 0x45, 0x41, 0x70, 0x33, 0x41, 0x61, 0x4E, 0x41, 0x58, 0x2B, 0x2F, 0x5A, 0x55, 0x4C, 0x66, 0x43, 0x53, 0x48, 0x6D, 0x63, 0x2B, 0x55, 0x0D, 0x0A, 0x61, 0x4C, 0x4D, 0x52, 0x57, 0x62, 0x48, 0x38, 0x6F, 0x67, 0x62, 0x69, 0x6F, 0x4B, 0x36, 0x30, 0x47, 0x67, 0x38, 0x75, 0x77, 0x50, 0x42, 0x6C, 0x51, 0x7A, 0x73, 0x32, 0x72, 0x52, 0x52, 0x4C, 0x33, 0x57, 0x2F, 0x71, 0x4B, 0x2F, 0x64, 0x66, 0x66, 0x4B, 0x77, 0x73, 0x33, 0x2B, 0x39, 0x6D, 0x46, 0x4D, 0x6E, 0x34, 0x6A, 0x47, 0x6F, 0x35, 0x36, 0x77, 0x34, 0x6D, 0x37, 0x74, 0x67, 0x78, 0x0D, 0x0A, 0x75, 0x4F, 0x45, 0x6C, 0x53, 0x65, 0x55, 0x4B, 0x2F, 0x66, 0x30, 0x7A, 0x6F, 0x4C, 0x58, 0x70, 0x5A, 0x63, 0x6C, 0x31, 0x65, 0x51, 0x4F, 0x50, 0x67, 0x39, 0x75, 0x58, 0x76, 0x65, 0x4B, 0x48, 0x42, 0x57, 0x76, 0x58, 0x66, 0x52, 0x31, 0x34, 0x50, 0x78, 0x39, 0x37, 0x36, 0x68, 0x31, 0x69, 0x72, 0x32, 0x57, 0x6E, 0x58, 0x49, 0x69, 0x4F, 0x32, 0x6F, 0x49, 0x43, 0x74, 0x65, 0x64, 0x4C, 0x0D, 0x0A, 0x6C, 0x68, 0x61, 0x66, 0x42, 0x57, 0x75, 0x31, 0x61, 0x37, 0x6A, 0x48, 0x30, 0x36, 0x75, 0x4D, 0x53, 0x75, 0x2F, 0x45, 0x72, 0x4B, 0x37, 0x70, 0x50, 0x4D, 0x42, 0x5A, 0x2B, 0x34, 0x2F, 0x31, 0x45, 0x2B, 0x79, 0x69, 0x55, 0x4D, 0x77, 0x75, 0x52, 0x55, 0x52, 0x57, 0x35, 0x5A, 0x38, 0x4E, 0x49, 0x6B, 0x47, 0x58, 0x6A, 0x4F, 0x62, 0x67, 0x30, 0x6C, 0x6E, 0x7A, 0x64, 0x41, 0x61, 0x49, 0x0D, 0x0A, 0x6D, 0x49, 0x5A, 0x31, 0x4E, 0x53, 0x31, 0x62, 0x7A, 0x75, 0x61, 0x4A, 0x6A, 0x63, 0x54, 0x66, 0x2F, 0x73, 0x44, 0x4D, 0x4E, 0x4B, 0x74, 0x66, 0x4A, 0x5A, 0x47, 0x6C, 0x30, 0x45, 0x77, 0x57, 0x33, 0x66, 0x68, 0x47, 0x64, 0x62, 0x69, 0x54, 0x6F, 0x41, 0x73, 0x4A, 0x50, 0x61, 0x4C, 0x63, 0x30, 0x5A, 0x68, 0x58, 0x4D, 0x6D, 0x5A, 0x44, 0x54, 0x54, 0x53, 0x4B, 0x6D, 0x77, 0x6C, 0x30, 0x0D, 0x0A, 0x53, 0x58, 0x51, 0x70, 0x31, 0x72, 0x4E, 0x32, 0x6D, 0x35, 0x72, 0x39, 0x6F, 0x45, 0x2B, 0x6B, 0x32, 0x39, 0x52, 0x6E, 0x39, 0x76, 0x51, 0x4B, 0x70, 0x2B, 0x71, 0x39, 0x55, 0x67, 0x36, 0x73, 0x64, 0x6F, 0x2F, 0x78, 0x4A, 0x57, 0x6B, 0x55, 0x77, 0x36, 0x65, 0x76, 0x4F, 0x53, 0x52, 0x49, 0x33, 0x6E, 0x62, 0x78, 0x75, 0x4A, 0x45, 0x56, 0x4E, 0x46, 0x77, 0x4B, 0x4C, 0x50, 0x56, 0x36, 0x0D, 0x0A, 0x2B, 0x51, 0x49, 0x44, 0x41, 0x51, 0x41, 0x42, 0x0D, 0x0A }; + + private byte[] a2 = { 0x4D, 0x49, 0x49, 0x42, 0x49, 0x6A, 0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, 0x41, 0x41, 0x4F, 0x43, 0x41, 0x51, 0x38, 0x41, 0x4D, 0x49, 0x49, 0x42, 0x43, 0x67, 0x4B, 0x43, 0x41, 0x51, 0x45, 0x41, 0x77, 0x31, 0x64, 0x71, 0x46, 0x33, 0x53, 0x6B, 0x43, 0x61, 0x41, 0x41, 0x6D, 0x4D, 0x7A, 0x73, 0x38, 0x38, 0x39, 0x49, 0x71, 0x64, 0x57, 0x39, 0x4D, 0x32, 0x64, 0x49, 0x64, 0x68, 0x33, 0x6A, 0x47, 0x39, 0x79, 0x50, 0x63, 0x6D, 0x4C, 0x6E, 0x6D, 0x4A, 0x69, 0x47, 0x70, 0x42, 0x46, 0x34, 0x45, 0x39, 0x56, 0x48, 0x53, 0x4D, 0x47, 0x65, 0x38, 0x6F, 0x50, 0x41, 0x79, 0x32, 0x6B, 0x4A, 0x44, 0x6D, 0x64, 0x4E, 0x74, 0x34, 0x42, 0x63, 0x45, 0x79, 0x67, 0x76, 0x73, 0x73, 0x45, 0x66, 0x67, 0x69, 0x6E, 0x76, 0x61, 0x35, 0x74, 0x35, 0x6A, 0x6D, 0x33, 0x35, 0x32, 0x55, 0x41, 0x6F, 0x44, 0x6F, 0x73, 0x55, 0x4A, 0x6B, 0x54, 0x58, 0x47, 0x51, 0x68, 0x70, 0x41, 0x57, 0x4D, 0x46, 0x34, 0x66, 0x42, 0x6D, 0x42, 0x70, 0x4F, 0x33, 0x45, 0x65, 0x64, 0x47, 0x36, 0x32, 0x72, 0x4F, 0x73, 0x71, 0x4D, 0x42, 0x67, 0x6D, 0x53, 0x64, 0x41, 0x79, 0x78, 0x43, 0x53, 0x50, 0x42, 0x52, 0x4A, 0x49, 0x4F, 0x46, 0x52, 0x30, 0x51, 0x67, 0x5A, 0x46, 0x62, 0x52, 0x6E, 0x55, 0x30, 0x66, 0x72, 0x6A, 0x33, 0x34, 0x66, 0x69, 0x56, 0x6D, 0x67, 0x59, 0x69, 0x4C, 0x75, 0x5A, 0x53, 0x41, 0x6D, 0x49, 0x62, 0x73, 0x38, 0x5A, 0x78, 0x69, 0x48, 0x50, 0x64, 0x70, 0x31, 0x6F, 0x44, 0x34, 0x74, 0x55, 0x70, 0x76, 0x73, 0x46, 0x63, 0x69, 0x34, 0x51, 0x4A, 0x74, 0x59, 0x4E, 0x6A, 0x4E, 0x6E, 0x47, 0x55, 0x32, 0x57, 0x50, 0x48, 0x36, 0x72, 0x76, 0x43, 0x68, 0x47, 0x6C, 0x31, 0x49, 0x52, 0x4B, 0x72, 0x78, 0x4D, 0x74, 0x71, 0x4C, 0x69, 0x65, 0x6C, 0x73, 0x76, 0x61, 0x6A, 0x55, 0x6A, 0x79, 0x72, 0x67, 0x4F, 0x43, 0x36, 0x4E, 0x6D, 0x79, 0x6D, 0x59, 0x4D, 0x76, 0x5A, 0x4E, 0x45, 0x52, 0x33, 0x68, 0x74, 0x46, 0x45, 0x74, 0x4C, 0x31, 0x65, 0x51, 0x62, 0x43, 0x79, 0x54, 0x66, 0x44, 0x6D, 0x74, 0x59, 0x79, 0x51, 0x31, 0x57, 0x74, 0x34, 0x4F, 0x74, 0x31, 0x32, 0x6C, 0x78, 0x66, 0x30, 0x77, 0x56, 0x49, 0x52, 0x35, 0x6D, 0x63, 0x47, 0x4E, 0x37, 0x58, 0x43, 0x58, 0x4A, 0x52, 0x48, 0x4F, 0x46, 0x48, 0x53, 0x66, 0x31, 0x67, 0x7A, 0x58, 0x57, 0x61, 0x62, 0x52, 0x53, 0x76, 0x6D, 0x74, 0x31, 0x6E, 0x72, 0x6C, 0x37, 0x73, 0x57, 0x36, 0x63, 0x6A, 0x78, 0x6C, 0x6A, 0x75, 0x75, 0x51, 0x61, 0x77, 0x49, 0x44, 0x41, 0x51, 0x41, 0x42 }; + + private byte[] b2 = { 0x4D, 0x49, 0x49, 0x42, 0x49, 0x6A, 0x41, 0x4E, 0x42, 0x67, 0x6B, 0x71, 0x68, 0x6B, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, 0x41, 0x41, 0x4F, 0x43, 0x41, 0x51, 0x38, 0x41, 0x4D, 0x49, 0x49, 0x42, 0x43, 0x67, 0x4B, 0x43, 0x41, 0x51, 0x45, 0x41, 0x70, 0x33, 0x41, 0x61, 0x4E, 0x41, 0x58, 0x2B, 0x2F, 0x5A, 0x55, 0x4C, 0x66, 0x43, 0x53, 0x48, 0x6D, 0x63, 0x2B, 0x55, 0x61, 0x4C, 0x4D, 0x52, 0x57, 0x62, 0x48, 0x38, 0x6F, 0x67, 0x62, 0x69, 0x6F, 0x4B, 0x36, 0x30, 0x47, 0x67, 0x38, 0x75, 0x77, 0x50, 0x42, 0x6C, 0x51, 0x7A, 0x73, 0x32, 0x72, 0x52, 0x52, 0x4C, 0x33, 0x57, 0x2F, 0x71, 0x4B, 0x2F, 0x64, 0x66, 0x66, 0x4B, 0x77, 0x73, 0x33, 0x2B, 0x39, 0x6D, 0x46, 0x4D, 0x6E, 0x34, 0x6A, 0x47, 0x6F, 0x35, 0x36, 0x77, 0x34, 0x6D, 0x37, 0x74, 0x67, 0x78, 0x75, 0x4F, 0x45, 0x6C, 0x53, 0x65, 0x55, 0x4B, 0x2F, 0x66, 0x30, 0x7A, 0x6F, 0x4C, 0x58, 0x70, 0x5A, 0x63, 0x6C, 0x31, 0x65, 0x51, 0x4F, 0x50, 0x67, 0x39, 0x75, 0x58, 0x76, 0x65, 0x4B, 0x48, 0x42, 0x57, 0x76, 0x58, 0x66, 0x52, 0x31, 0x34, 0x50, 0x78, 0x39, 0x37, 0x36, 0x68, 0x31, 0x69, 0x72, 0x32, 0x57, 0x6E, 0x58, 0x49, 0x69, 0x4F, 0x32, 0x6F, 0x49, 0x43, 0x74, 0x65, 0x64, 0x4C, 0x6C, 0x68, 0x61, 0x66, 0x42, 0x57, 0x75, 0x31, 0x61, 0x37, 0x6A, 0x48, 0x30, 0x36, 0x75, 0x4D, 0x53, 0x75, 0x2F, 0x45, 0x72, 0x4B, 0x37, 0x70, 0x50, 0x4D, 0x42, 0x5A, 0x2B, 0x34, 0x2F, 0x31, 0x45, 0x2B, 0x79, 0x69, 0x55, 0x4D, 0x77, 0x75, 0x52, 0x55, 0x52, 0x57, 0x35, 0x5A, 0x38, 0x4E, 0x49, 0x6B, 0x47, 0x58, 0x6A, 0x4F, 0x62, 0x67, 0x30, 0x6C, 0x6E, 0x7A, 0x64, 0x41, 0x61, 0x49, 0x6D, 0x49, 0x5A, 0x31, 0x4E, 0x53, 0x31, 0x62, 0x7A, 0x75, 0x61, 0x4A, 0x6A, 0x63, 0x54, 0x66, 0x2F, 0x73, 0x44, 0x4D, 0x4E, 0x4B, 0x74, 0x66, 0x4A, 0x5A, 0x47, 0x6C, 0x30, 0x45, 0x77, 0x57, 0x33, 0x66, 0x68, 0x47, 0x64, 0x62, 0x69, 0x54, 0x6F, 0x41, 0x73, 0x4A, 0x50, 0x61, 0x4C, 0x63, 0x30, 0x5A, 0x68, 0x58, 0x4D, 0x6D, 0x5A, 0x44, 0x54, 0x54, 0x53, 0x4B, 0x6D, 0x77, 0x6C, 0x30, 0x53, 0x58, 0x51, 0x70, 0x31, 0x72, 0x4E, 0x32, 0x6D, 0x35, 0x72, 0x39, 0x6F, 0x45, 0x2B, 0x6B, 0x32, 0x39, 0x52, 0x6E, 0x39, 0x76, 0x51, 0x4B, 0x70, 0x2B, 0x71, 0x39, 0x55, 0x67, 0x36, 0x73, 0x64, 0x6F, 0x2F, 0x78, 0x4A, 0x57, 0x6B, 0x55, 0x77, 0x36, 0x65, 0x76, 0x4F, 0x53, 0x52, 0x49, 0x33, 0x6E, 0x62, 0x78, 0x75, 0x4A, 0x45, 0x56, 0x4E, 0x46, 0x77, 0x4B, 0x4C, 0x50, 0x56, 0x36, 0x2B, 0x51, 0x49, 0x44, 0x41, 0x51, 0x41, 0x42 }; + + private string EncodeTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";//"ABCDEFGH8JKLMN9PQRSTUVWXYZ234567"; //Mac + private byte[] DESKey = { 0x64, 0xAD, 0xF3, 0x2F, 0xAE, 0xF2, 0x1A, 0x27 }; + private static DESCryptoServiceProvider DES = new DESCryptoServiceProvider(); + private Random rnd = new Random(); + private string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\navicat.exe"; + private string exefiledm = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\modeler.exe"; + private string gpath = @"C:\Program Files{0}\PremiumSoft\Navicat Premium {1}\{2}"; + private string gpathdm = @"C:\Program Files{0}\PremiumSoft\Navicat Data Modeler\{1}"; + private string gpathes = @"C:\Program Files{0}\PremiumSoft\Navicat Premium Essentials {1}\{2}"; + private string gpathre = @"C:\Program Files{0}\PremiumSoft\Navicat Report Viewer\{1}"; + private string gpathmd = @"C:\Program Files{0}\PremiumSoft\Navicat {1} for {2}\{3}"; + private DateTime la = DateTime.Now; + private string[] prod = { "Premium", "MongoDB", "MySQL", "PostgreSQL", "Oracle", "SQL Server", "SQLite", "MariaDB" }; + private string[] lang = { "English", "Spanish", "French", "German", "Polish", "Portuguese", "Russian", "Korean", "Simplified Chinese", "Japanese", "Traditional Chinese" }; + private string[] langname = { "en-GB", "es-ES", "fr-FR", "de-DE", "pl-PL", "pt-PT", "ru-RU", "ko-KR", "zh-CN", "ja-JP", "zh-TW" }; + private string hostPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\etc\hosts"); + private string Serial = String.Empty; + [System.Runtime.InteropServices.DllImport("Imagehlp.dll")] + private static extern bool ImageRemoveCertificate(IntPtr handle, int index); + public FNavicat() + { + InitializeComponent(); + } + public static byte[] Crypt(byte[] desKey, byte[] body) + { + byte[] result; + try + { + DES.Key = desKey; + DES.Mode = CipherMode.ECB; + result = DES.CreateEncryptor().TransformFinalBlock(body, 0, body.Length); + } + catch + { + result = null; + } + return result; + } + internal static string DFX_dividia(double dimensione, string stringa, string Divisore = "-") + { + return String.Join(Divisore, Enumerable.Range(0, (int)Math.Ceiling(stringa.Length / dimensione)) + .Select(i => new string(stringa + .Skip(i * (int)dimensione) + .Take((int)dimensione) + .ToArray()))); + } + private string GenerateSnKey() + { + string cvalue = comboprod.Items[comboprod.SelectedIndex].ToString().Trim(); + string clang = combolang.Items[combolang.SelectedIndex].ToString().Trim(); + byte[] temp_snKey = new byte[10]; + temp_snKey[0] = 0x68; // must start with 0x68, 0x2a + temp_snKey[1] = 0x2A; // must start with 0x68, 0x2a + temp_snKey[2] = (byte)rnd.Next(0, 256); + temp_snKey[3] = (byte)rnd.Next(0, 256); + temp_snKey[4] = (byte)rnd.Next(0, 256); + temp_snKey[5] = 0x00; + temp_snKey[6] = 0x00; + switch (clang) + { + case "French": + temp_snKey[5] = 0xFA; + temp_snKey[6] = 0x20; + break; + case "Simplified Chinese": + temp_snKey[5] = 0xCE; + temp_snKey[6] = 0x32; + break; + case "Traditional Chinese": + temp_snKey[5] = 0xAA; + temp_snKey[6] = 0x99; + break; + case "Japanese": + temp_snKey[5] = 0xAD; + temp_snKey[6] = 0x82; + break; + case "Spanish": + temp_snKey[5] = 0xAE; + temp_snKey[6] = 0x10; + break; + case "German": + temp_snKey[5] = 0xB1; + temp_snKey[6] = 0x60; + break; + case "Polish": + temp_snKey[5] = 0xBB; + temp_snKey[6] = 0x55; + break; + case "Portuguese": + temp_snKey[5] = 0xCD; + temp_snKey[6] = 0x49; + break; + case "Russian": + temp_snKey[5] = 0xEE; + temp_snKey[6] = 0x16; + break; + case "Korean": + temp_snKey[5] = 0xB5; + temp_snKey[6] = 0x60; + break; + default: + temp_snKey[5] = 0xAC; + temp_snKey[6] = 0x88; + break; + } + temp_snKey[7] = 0x00; + if (rmod.Checked) + { + if (rstd.Checked) + temp_snKey[7] = cMac.Checked ? (byte)0x48 : (byte)0x47; + else if (redu.Checked) + temp_snKey[7] = cMac.Checked ? (byte)0x4B : (byte)0x4A; + } + else if (repo.Checked) + temp_snKey[7] = 0x0B; + else if (resse12.Checked || resse11.Checked) + { + temp_snKey[7] = (byte)(resse12.Checked ? 0x67 : 0x3A); + } + else if (rn12.Checked) + { + if (cvalue == "Premium") + { + if (rent.Checked) + temp_snKey[7] = 0x65; + else if (redu.Checked) + temp_snKey[7] = 0x66; + else if (ress.Checked) + temp_snKey[7] = 0x67; + } + else if (cvalue == "MySQL") + { + if (rent.Checked) + temp_snKey[7] = 0x68; + else if (rstd.Checked) + temp_snKey[7] = 0x69; + else if (redu.Checked) + temp_snKey[7] = 0x6A; + else if (ress.Checked) + temp_snKey[7] = 0x6B; + } + else if (cvalue == "PostgreSQL") + { + if (rent.Checked) + temp_snKey[7] = 0x6C; + else if (rstd.Checked) + temp_snKey[7] = 0x6D; + else if (redu.Checked) + temp_snKey[7] = 0x6E; + else if (ress.Checked) + temp_snKey[7] = 0x6F; + } + else if (cvalue == "Oracle") + { + if (rent.Checked) + temp_snKey[7] = 0x70; + else if (rstd.Checked) + temp_snKey[7] = 0x71; + else if (redu.Checked) + temp_snKey[7] = 0x72; + else if (ress.Checked) + temp_snKey[7] = 0x73; + } + else if (cvalue == "SQL Server") + { + if (rent.Checked) + temp_snKey[7] = 0x74; + else if (rstd.Checked) + temp_snKey[7] = 0x75; + else if (redu.Checked) + temp_snKey[7] = 0x76; + else if (ress.Checked) + temp_snKey[7] = 0x77; + } + else if (cvalue == "SQLite") + { + if (rent.Checked) + temp_snKey[7] = 0x78; + else if (rstd.Checked) + temp_snKey[7] = 0x79; + else if (redu.Checked) + temp_snKey[7] = 0x7A; + else if (ress.Checked) + temp_snKey[7] = 0x7B; + } + else if (cvalue == "MariaDB") + { + if (rent.Checked) + temp_snKey[7] = 0x7C; + else if (rstd.Checked) + temp_snKey[7] = 0x7D; + else if (redu.Checked) + temp_snKey[7] = 0x7E; + else if (ress.Checked) + temp_snKey[7] = 0x7F; + } + else if (cvalue == "MongoDB") + { + if (rent.Checked) + temp_snKey[7] = 0x80; + else if (rstd.Checked) + temp_snKey[7] = 0x81; + else if (redu.Checked) + temp_snKey[7] = 0x82; + } + } + else if (rn11.Checked) + { + if (cvalue == "Premium") + { + if (rent.Checked) + temp_snKey[7] = 0x15; + else if (redu.Checked) + temp_snKey[7] = 0x16; + else if (ress.Checked) + temp_snKey[7] = 0x3A; + } + else if (cvalue == "MySQL") + { + if (rent.Checked) + temp_snKey[7] = 0x01; + else if (rstd.Checked) + temp_snKey[7] = 0x02; + else if (redu.Checked) + temp_snKey[7] = 0x07; + else if (ress.Checked) + temp_snKey[7] = 0x35; + } + else if (cvalue == "PostgreSQL") + { + if (rent.Checked) + temp_snKey[7] = 0x04; + else if (rstd.Checked) + temp_snKey[7] = 0x05; + else if (redu.Checked) + temp_snKey[7] = 0x09; + else if (ress.Checked) + temp_snKey[7] = 0x36; + } + else if (cvalue == "Oracle") + { + if (rent.Checked) + temp_snKey[7] = 0x10; + else if (rstd.Checked) + temp_snKey[7] = 0x11; + else if (redu.Checked) + temp_snKey[7] = 0x12; + else if (ress.Checked) + temp_snKey[7] = 0x37; + } + else if (cvalue == "SQL Server") + { + if (rent.Checked) + temp_snKey[7] = 0x24; + else if (rstd.Checked) + temp_snKey[7] = 0x25; + else if (redu.Checked) + temp_snKey[7] = 0x26; + else if (ress.Checked) + temp_snKey[7] = 0x39; + } + else if (cvalue == "SQLite") + { + if (rent.Checked) + temp_snKey[7] = 0x1D; + else if (rstd.Checked) + temp_snKey[7] = 0x1E; + else if (redu.Checked) + temp_snKey[7] = 0x1F; + else if (ress.Checked) + temp_snKey[7] = 0x38; + } + else if (cvalue == "MariaDB") + { + if (rent.Checked) + temp_snKey[7] = 0x4D; + else if (rstd.Checked) + temp_snKey[7] = 0x4E; + else if (redu.Checked) + temp_snKey[7] = 0x4F; + else if (ress.Checked) + temp_snKey[7] = 0x50; + } + else if (cvalue == "MongoDB") + { + if (rent.Checked) + temp_snKey[7] = 0x80; + else if (rstd.Checked) + temp_snKey[7] = 0x81; + else if (redu.Checked) + temp_snKey[7] = 0x82; + } + } + else if (cMac.Checked) + { + if (cvalue == "Premium") + { + if (rent.Checked) + temp_snKey[7] = 0x17; + else if (redu.Checked) + temp_snKey[7] = 0x18; + else if (ress.Checked) + temp_snKey[7] = 0x40; + } + else if (cvalue == "MySQL") + { + if (rent.Checked) + temp_snKey[7] = 0x2B; + else if (rstd.Checked) + temp_snKey[7] = 0x03; + else if (redu.Checked) + temp_snKey[7] = 0x08; + else if (ress.Checked) + temp_snKey[7] = 0x3B; + } + else if (cvalue == "PostgreSQL") + { + if (rent.Checked) + temp_snKey[7] = 0x2C; + else if (rstd.Checked) + temp_snKey[7] = 0x06; + else if (redu.Checked) + temp_snKey[7] = 0x0A; + else if (ress.Checked) + temp_snKey[7] = 0x3C; + } + else if (cvalue == "Oracle") + { + if (rent.Checked) + temp_snKey[7] = 0x2D; + else if (rstd.Checked) + temp_snKey[7] = 0x13; + else if (redu.Checked) + temp_snKey[7] = 0x14; + else if (ress.Checked) + temp_snKey[7] = 0x3D; + } + else if (cvalue == "SQL Server") + { + if (rent.Checked) + temp_snKey[7] = 0x2F; + else if (rstd.Checked) + temp_snKey[7] = 0x27; + else if (redu.Checked) + temp_snKey[7] = 0x28; + else if (ress.Checked) + temp_snKey[7] = 0x3F; + } + else if (cvalue == "SQLite") + { + if (rent.Checked) + temp_snKey[7] = 0x2E; + else if (rstd.Checked) + temp_snKey[7] = 0x20; + else if (redu.Checked) + temp_snKey[7] = 0x21; + else if (ress.Checked) + temp_snKey[7] = 0x3E; + } + else if (cvalue == "MariaDB") + { + if (rent.Checked) + temp_snKey[7] = 0x51; + else if (rstd.Checked) + temp_snKey[7] = 0x52; + else if (redu.Checked) + temp_snKey[7] = 0x53; + else if (ress.Checked) + temp_snKey[7] = 0x54; + } + else if (cvalue == "MongoDB") + { + if (rent.Checked) + temp_snKey[7] = 0x55; + else if (rstd.Checked) + temp_snKey[7] = 0x56; + else if (redu.Checked) + temp_snKey[7] = 0x57; + } + } + if (rmod.Checked) + temp_snKey[8] = 0x20; // High 4-bits = version number. Low 4-bits doesn't know, but can be used to delay activation time. + else + temp_snKey[8] = (byte)((rn12.Checked || resse12.Checked) ? 0xC0 : 0xB0); + temp_snKey[9] = 0x00; + if (rcs.Checked) + temp_snKey[9] = Convert.ToByte(comboCustom.SelectedIndex.ToString()); + else if (rsl.Checked) + temp_snKey[9] = 0xFF; // 0xfd, 0xfc, 0xfb if you want to use not-for-resale license. + else if (rnfrl.Checked) + temp_snKey[9] = 0xFE; + else if (rnfr30.Checked) + temp_snKey[9] = 0xFB; + else if (rnfr90.Checked) + temp_snKey[9] = 0xFC; + else if (rnfr365.Checked) + temp_snKey[9] = 0xFD; + byte[] des_temp_snKey = new byte[temp_snKey.Length - 2]; + Array.Copy(temp_snKey, 2, des_temp_snKey, 0, des_temp_snKey.Length); + byte[] enc_temp_snKey = Crypt(DESKey, des_temp_snKey); + byte[] fin_temp_snKey = new byte[enc_temp_snKey.Length + 2]; + fin_temp_snKey[0] = 0x68; // must start with 0x68, 0x2a + fin_temp_snKey[1] = 0x2a; // must start with 0x68, 0x2a + Array.Copy(enc_temp_snKey, 0, fin_temp_snKey, 2, enc_temp_snKey.Length); + + SnKey[0] = EncodeTable[fin_temp_snKey[0] >> 3]; + SnKey[1] = EncodeTable[(fin_temp_snKey[0] & 0x07) << 2 | fin_temp_snKey[1] >> 6]; + SnKey[2] = EncodeTable[fin_temp_snKey[1] >> 1 & 0x1F]; + SnKey[3] = EncodeTable[(fin_temp_snKey[1] & 0x1) << 4 | fin_temp_snKey[2] >> 4]; + SnKey[4] = EncodeTable[(fin_temp_snKey[2] & 0xF) << 1 | fin_temp_snKey[3] >> 7]; + SnKey[5] = EncodeTable[fin_temp_snKey[3] >> 2 & 0x1F]; + SnKey[6] = EncodeTable[fin_temp_snKey[3] << 3 & 0x1F | fin_temp_snKey[4] >> 5]; + SnKey[7] = EncodeTable[fin_temp_snKey[4] & 0x1F]; + + SnKey[8] = EncodeTable[fin_temp_snKey[5] >> 3]; + SnKey[9] = EncodeTable[(fin_temp_snKey[5] & 0x07) << 2 | fin_temp_snKey[6] >> 6]; + SnKey[10] = EncodeTable[fin_temp_snKey[6] >> 1 & 0x1F]; + SnKey[11] = EncodeTable[(fin_temp_snKey[6] & 0x1) << 4 | fin_temp_snKey[7] >> 4]; + SnKey[12] = EncodeTable[(fin_temp_snKey[7] & 0xF) << 1 | fin_temp_snKey[8] >> 7]; + SnKey[13] = EncodeTable[fin_temp_snKey[8] >> 2 & 0x1F]; + SnKey[14] = EncodeTable[fin_temp_snKey[8] << 3 & 0x1F | fin_temp_snKey[9] >> 5]; + SnKey[15] = EncodeTable[fin_temp_snKey[9] & 0x1F]; + return DFX_dividia(4, new string(SnKey)); + } + + private void bexit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void bgenerateactivation_Click(object sender, EventArgs e) + { + try + { + generateactivation_DFoX(); + } + catch + { + MessageBox.Show("Error on Generate Activation Code...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + return; + } + + private void generateactivation_DFoX() + { + if (tserial.Text.Trim() == String.Empty) + { + MessageBox.Show("Generate First a Serial...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + byte[] decrypt64rq = null; + dynamic jsonnavicat = null; + string DeviceIdentifier = null; + //string Platform = null; + string snKey = null; + Stream stream = new MemoryStream(Resources.RegPrivateKey); + StreamReader stReader = new StreamReader(stream); + PemReader pr = new PemReader(stReader); + AsymmetricCipherKeyPair keys = (AsymmetricCipherKeyPair)pr.ReadObject(); + Pkcs1Encoding eng = new Pkcs1Encoding(new RsaEngine()); + TimeSpan t = DateTime.Today - new DateTime(1970, 1, 1); + int tval = (int)t.TotalSeconds; + if (tname.Text.Trim() == String.Empty || torganization.Text.Trim() == String.Empty || tname.Text.Trim().Length > 25 || torganization.Text.Trim().Length > 25) + { + tname.Text = "DeltaFoX"; + torganization.Text = "DeFconX"; + } + string lic = String.Empty; + byte[] bytelic = null; + byte[] licenza = null; + if (rn12.Checked || resse12.Checked) + { + if (trequestcode.Text.Trim() == String.Empty) + { + MessageBox.Show("Please, Insert Request Code...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + trequestcode.Text = trequestcode.Text.Trim().Trim().Replace(" ", "").Replace(Environment.NewLine, ""); + try + { + decrypt64rq = Convert.FromBase64String(trequestcode.Text.Trim()); + } + catch + { + MessageBox.Show("Request Code not Valid...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + try + { + eng.Init(false, keys.Private); + string dec = Encoding.Default.GetString(eng.ProcessBlock(decrypt64rq, 0, decrypt64rq.Length)); + if (rn12.Checked || resse12.Checked) + { + jsonnavicat = JsonConvert.DeserializeObject(dec); + DeviceIdentifier = jsonnavicat.DI; + //Platform = jsonnavicat.P; + snKey = jsonnavicat.K; + } + } + catch + { + MessageBox.Show("Error on Decrypt Request Code...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (DeviceIdentifier == null) + { + MessageBox.Show("Error DI Value is null...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + lic = String.Format("{{\"K\":\"{0}\", \"DI\":\"{1}\", \"N\":\"{2}\", \"O\":\"{3}\", \"T\":{4}}}"/*, \"P\":\"{2}\"*/, snKey != null ? snKey : tserial.Text.Trim().Replace("-", ""), DeviceIdentifier, tname.Text.Trim(), torganization.Text.Trim(), tval/*, Platform != null ? Platform : cMac.Checked ? "Mac 10.13" : "WIN 8"*/); + eng.Init(true, keys.Private); + bytelic = Encoding.ASCII.GetBytes(lic); + licenza = eng.ProcessBlock(bytelic, 0, bytelic.Length); + string actv = Convert.ToBase64String(licenza); + tactivationcode.Text = actv; + if (cautoi.Checked) + CopyToApp2(delegate (WindowHandleManipulator manipulator, IntPtr[] editHandles) + { + if ((editHandles != null) && (editHandles.Length >= 3)) + manipulator.SetText(editHandles[1], actv); + } + ); + } + else + { + lic = String.Format("{{\"K\":\"{0}\", \"N\":\"{1}\", \"O\":\"{2}\", \"T\":{3}}}"/*, \"P\":\"{2}\"*/, snKey != null ? snKey : tserial.Text.Trim().Replace("-", ""), tname.Text.Trim(), torganization.Text.Trim(), tval/*, Platform != null ? Platform : cMac.Checked ? "Mac 10.13" : "WIN 8"*/); + eng.Init(true, keys.Private); + bytelic = Encoding.ASCII.GetBytes(lic); + licenza = eng.ProcessBlock(bytelic, 0, bytelic.Length); + FolderBrowserDialog folderDlg = new FolderBrowserDialog(); + folderDlg.ShowNewFolderButton = true; + string vers = (resse11.Checked || rn11.Checked) ? "v11" : "v12"; + folderDlg.Description = "Select Navicat " + ((resse11.Checked || resse12.Checked) ? "Essentials" : "") + ((!rmod.Checked) ? vers : "\"Modeler\"") + " Installation Folder..."; + folderDlg.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); + DialogResult result = folderDlg.ShowDialog(); + if (result == DialogResult.OK) + { + try + { + string nfile = folderDlg.SelectedPath + "\\license_file"; + if (File.Exists(nfile)) + File.Delete(nfile); + File.WriteAllBytes(folderDlg.SelectedPath + "\\license_file", licenza); + } + catch + { + MessageBox.Show("Error on Save Navicat " + ((!rmod.Checked) ? "v11" : "Modeler") + " License File...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + MessageBox.Show("Navicat " + ((!rmod.Checked) ? "v11" : "\"Modeler\"") + " License Saved...", "Info", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); + return; + } + else return; + } + } + private void CopyToApp(Action action) + { + string clvalue = combolang.Items[combolang.SelectedIndex].ToString().Trim(); + string TRegistrationForm = (clvalue != "Simplified Chinese") ? "TRegistrationForm" : "TRegistrationSubForm"; + string TPanel = "TPanel"; + string TEdit = "TEdit"; + WindowHandleManipulator windowHandleManipulator = new WindowHandleManipulator(2); + List list = new List(); + List list2 = new List(); + List list3 = new List(); + IntPtr[] array3 = windowHandleManipulator.Find(IntPtr.Zero, TRegistrationForm, null, false); + foreach (IntPtr item in array3) + { + if (!list.Contains(item)) + { + list.Add(item); + } + } + if (list.Any()) + { + + foreach (IntPtr parentHandle in list) + { + + IntPtr[] array4 = windowHandleManipulator.Find(parentHandle, TPanel, null, true); + foreach (IntPtr item2 in array4) + { + if (!list2.Contains(item2)) + { + list2.Add(item2); + } + } + } + } + if (list2.Any()) + { + foreach (IntPtr parentHandle in list2) + { + + IntPtr[] array5 = windowHandleManipulator.Find(parentHandle, TEdit, null, true); + foreach (IntPtr item3 in array5) + { + if (!list3.Contains(item3)) + { + list3.Add(item3); + } + } + + action(windowHandleManipulator, list3.ToArray()); + } + } + } + + private void CopyToApp2(Action action) + { + string clvalue = combolang.Items[combolang.SelectedIndex].ToString().Trim(); + string TRegistrationForm = (clvalue != "Simplified Chinese") ? "TManualActivationForm" : "TManualActivationSubForm"; + string TMemo = "TMemo"; + WindowHandleManipulator windowHandleManipulator = new WindowHandleManipulator(2); + List list = new List(); + List list2 = new List(); + IntPtr[] array3 = windowHandleManipulator.Find(IntPtr.Zero, TRegistrationForm, null, false); + foreach (IntPtr item in array3) + { + if (!list.Contains(item)) + { + list.Add(item); + } + } + if (list.Any()) + { + + foreach (IntPtr parentHandle in list) + { + + IntPtr[] array4 = windowHandleManipulator.Find(parentHandle, TMemo, null, true); + foreach (IntPtr item2 in array4) + { + if (!list2.Contains(item2)) + { + list2.Add(item2); + } + } + action(windowHandleManipulator, list2.ToArray()); + } + } + } + private void bgenrates_Click(object sender, EventArgs e) + { + try + { + Serial = String.Empty; + if (rn12.Checked) + trequestcode.Text = String.Empty; + tactivationcode.Text = String.Empty; + Serial = GenerateSnKey(); + tserial.Text = Serial; + if (cautoi.Checked) + CopyToApp(delegate (WindowHandleManipulator manipulator, IntPtr[] editHandles) + { + + if ((editHandles != null) && (editHandles.Length >= 4)) + { + int startIndex = 0; + string clvalue = combolang.Items[combolang.SelectedIndex].ToString().Trim(); + try + { + if (clvalue != "Simplified Chinese") + { + manipulator.SetText(editHandles[3], this.Serial.Substring(startIndex, 4)); + manipulator.SetText(editHandles[2], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[1], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[0], this.Serial.Substring(startIndex + 5, 4)); + } + else + { + manipulator.SetText(editHandles[5], this.Serial.Substring(startIndex, 4)); + manipulator.SetText(editHandles[4], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[3], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[2], this.Serial.Substring(startIndex + 5, 4)); + } + } + catch + { + //Nothing + } + } + } + ); + } + catch + { + MessageBox.Show("Error on Generate Serial...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void bcopyrc_Click(object sender, EventArgs e) + { + try + { + if (trequestcode.Text.Trim() == String.Empty) + return; + Clipboard.SetText((trequestcode.SelectedText != String.Empty) ? trequestcode.SelectedText : trequestcode.Text.Trim()); + } + catch + { + //Se Vuoto + } + } + private void bcopyserial_Click(object sender, EventArgs e) + { + try + { + if (tserial.Text.Trim() == String.Empty) + return; + Clipboard.SetText((tserial.SelectedText != String.Empty) ? tserial.SelectedText : tserial.Text.Trim()); + } + catch + { + //Se Vuoto + } + } + private void bcopyactivationcode_Click(object sender, EventArgs e) + { + try + { + if (tactivationcode.Text.Trim() == String.Empty) + return; + Clipboard.SetText((tactivationcode.SelectedText != String.Empty) ? tactivationcode.SelectedText : tactivationcode.Text.Trim()); + } + catch + { + //Se Vuoto + } + } + private void bclearr_Click(object sender, EventArgs e) + { + trequestcode.Text = String.Empty; + } + + private void bcleara_Click(object sender, EventArgs e) + { + tactivationcode.Text = String.Empty; + } + + private void bpaste_Click(object sender, EventArgs e) + { + try + { + string ps = String.Empty; + if (cautoi.Checked) + CopyToApp2(delegate (WindowHandleManipulator manipulator, IntPtr[] editHandles) + { + if ((editHandles != null) && (editHandles.Length >= 3)) + ps = manipulator.GetText(editHandles[2]).Trim(); + } + ); + trequestcode.Text = (ps != String.Empty) ? ps : (Clipboard.GetText().Length <= 0x163) ? Clipboard.GetText() : Clipboard.GetText().Substring(0, 0x163); + } + catch + { + //Se Vuoto + } + } + + private void checkdigit_KeyPress(object sender, KeyPressEventArgs e) + { + e.Handled = !(char.IsLetter(e.KeyChar) || char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back); + } + + private void trequestcode_TextChanged(object sender, EventArgs e) + { + try + { + if (rn12.Checked || resse12.Checked) + { + trequestcode.Text = trequestcode.Text.Trim().Trim().Replace(" ", "").Replace(Environment.NewLine, ""); + tactivationcode.Text = tactivationcode.Text.Trim().Trim().Replace(" ", "").Replace(Environment.NewLine, ""); + } + } + catch + { + //Niente + } + } + public bool Is64BitOperatingSystem() + { + return Environment.Is64BitOperatingSystem; + } + private bool filea64bit(string file) + { + try + { + Stream fs = File.OpenRead(file); + BinaryReader br = new BinaryReader(fs); + + UInt16 mz = br.ReadUInt16(); + if (mz == 0x5a4d) // check if it's a valid image ("MZ") + { + fs.Position = 60; // this location contains the offset for the PE header + UInt32 peoffset = br.ReadUInt32(); + + fs.Position = peoffset + 4; // contains the architecture + UInt16 machine = br.ReadUInt16(); + br.Close(); + if (machine == 0x8664 /* IMAGE_FILE_MACHINE_AMD64 */ || machine == 0x0200 /* IMAGE_FILE_MACHINE_IA64 */) + return true; + else if (machine == 0x014c /* IMAGE_FILE_MACHINE_I386 */) + return false; + else + //textBox1.Text = "Unknown"; + return false; + } + else + //textBox1.Text = "Invalid image"; + return false; + } + catch + { + return false; + } + } + private void bPatch_Click(object sender, EventArgs e) + { + g1.Enabled = g2.Enabled = g3.Enabled = g4.Enabled = false; + try + { + string file = String.Empty; + string cvalue = comboprod.Items[comboprod.SelectedIndex].ToString().Trim(); + if (resse11.Checked || resse12.Checked) + file = File.Exists(exefile) ? exefile : String.Format(gpathes, (Is64BitOperatingSystem()) ? "" : " (x86)", resse12.Checked ? "12" : "11", "navicat.exe"); + else if (rmod.Checked) + file = File.Exists(exefiledm) ? exefiledm : String.Format(gpathdm, (Is64BitOperatingSystem()) ? "" : " (x86)", "modeler.exe"); + else if (repo.Checked) + file = File.Exists(exefiledm) ? exefiledm : String.Format(gpathre, (Is64BitOperatingSystem()) ? "" : " (x86)", "rviewer.exe"); + else + { + if (cvalue == "Premium") + file = File.Exists(exefile) ? exefile : String.Format(gpath, (Is64BitOperatingSystem()) ? "" : " (x86)", rn12.Checked ? "12" : "11", "navicat.exe"); + else + file = File.Exists(exefile) ? exefile : String.Format(gpathmd, (Is64BitOperatingSystem()) ? "" : " (x86)", rn12.Checked ? "12" : "11", cvalue, "navicat.exe"); + } + if (!File.Exists(file)) + { + string filter = String.Empty; + if (rmod.Checked) + filter = "modeler.exe"; + else if (repo.Checked) + filter = "rviewer.exe"; + else + filter = "navicat.exe"; + OpenFileDialog apriDialogoFile = new OpenFileDialog(); + apriDialogoFile.Filter = "File exe|" + filter; + apriDialogoFile.Title = "Select the file : " + "\"" + filter + "\""; + apriDialogoFile.FilterIndex = 1; + apriDialogoFile.InitialDirectory = (Directory.Exists(Path.GetDirectoryName(file))) ? Path.GetDirectoryName(file) : Environment.GetFolderPath(Environment.SpecialFolder.Desktop); + apriDialogoFile.RestoreDirectory = true; + if (apriDialogoFile.ShowDialog() == DialogResult.OK) + { + PatchewNV(apriDialogoFile.FileName); + } + } + else + PatchewNV(file); + } + catch (UnauthorizedAccessException) + { + MessageBox.Show("Sorry !!!\nProblem on Access to File...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch + { + MessageBox.Show("Error to Crack Navicat File...", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + g1.Enabled = g2.Enabled = g3.Enabled = g4.Enabled = true; + return; + } + private void PatchewNV(string file) + { + puhost(patchhost.Checked ? false : true); + string pathdir = Path.GetDirectoryName(file); + bool is64bit = filea64bit(file); + string libcc = pathdir + @"\libcc.dll"; + bool libccok1 = false; + bool libccok2 = false; + if (File.Exists(libcc)) + { + bool is64bitlibcc = filea64bit(libcc); + byte[] filearrlibcc = File.ReadAllBytes(libcc); + int cntlibcc = 0; + int cntlibcc2 = 0; + int offsetHexlibcc = 0; + byte[][] libcc_c = + { + new byte[] { 0x44, 0x37, 0x35, 0x31, 0x32, 0x35, 0x42, 0x37, 0x30, 0x37, 0x36, 0x37, 0x42, 0x39, 0x34, 0x31, 0x34, 0x35, 0x42, 0x34, 0x37, 0x43, 0x31, 0x43, 0x42, 0x33, 0x43, 0x30, 0x37, 0x35, 0x35, 0x45, 0x37, 0x43, 0x43, 0x42, 0x38, 0x38, 0x32, 0x35, 0x43, 0x35, 0x44, 0x43, 0x45, 0x30, 0x43, 0x35, 0x38, 0x41, 0x43, 0x46, 0x39, 0x34, 0x34, 0x45, 0x30, 0x38, 0x32, 0x38, 0x30, 0x31, 0x34, 0x30, 0x39, 0x41, 0x30, 0x32, 0x34, 0x37, 0x32, 0x46, 0x41, 0x46, 0x46, 0x44, 0x31, 0x43, 0x44, 0x37, 0x37, 0x38, 0x36, 0x34, 0x42, 0x42, 0x38, 0x32, 0x31, 0x41, 0x45, 0x33, 0x36, 0x37, 0x36, 0x36, 0x46, 0x45, 0x45, 0x44, 0x45, 0x36, 0x41, 0x32, 0x34, 0x46, 0x31, 0x32, 0x36, 0x36, 0x32, 0x39, 0x35, 0x34, 0x31, 0x36, 0x38, 0x42, 0x46, 0x41, 0x33, 0x31, 0x34, 0x42, 0x44, 0x39, 0x35, 0x30, 0x33, 0x32, 0x42, 0x39, 0x44, 0x38, 0x32, 0x34, 0x34, 0x35, 0x33, 0x35, 0x35, 0x45, 0x44, 0x37, 0x42, 0x43, 0x30, 0x42, 0x38, 0x38, 0x30, 0x38, 0x38, 0x37, 0x44, 0x36, 0x35, 0x30, 0x46, 0x35 }, + is64bitlibcc ? new byte[] { 0x41, 0xB8, 0xFE, 0xEA, 0xBC, 0x01 } : new byte[] { 0x68, 0xFE, 0xEA, 0xBC, 0x01 },// 29158142 -> 1BCEAFEh -> FEEABC01 + new byte[] { 0x45, 0x31, 0x43, 0x45, 0x44, 0x30, 0x39, 0x42, 0x39, 0x43, 0x32, 0x31, 0x38, 0x36, 0x42, 0x46, 0x37, 0x31, 0x41, 0x37, 0x30, 0x43, 0x30, 0x46, 0x45, 0x32, 0x46, 0x31, 0x45, 0x30, 0x41, 0x45, 0x46, 0x33, 0x42, 0x44, 0x36, 0x42, 0x37, 0x35, 0x32, 0x37, 0x37, 0x41, 0x41, 0x42, 0x32, 0x30, 0x44, 0x46, 0x41, 0x46, 0x33, 0x44, 0x31, 0x31, 0x30, 0x46, 0x37, 0x35, 0x39, 0x31, 0x32, 0x42, 0x46, 0x42, 0x36, 0x33, 0x41, 0x43, 0x35, 0x30, 0x45, 0x43, 0x34, 0x43, 0x34, 0x38, 0x36, 0x38, 0x39, 0x44, 0x31, 0x35, 0x30, 0x32, 0x37, 0x31, 0x35, 0x32, 0x34, 0x33, 0x41, 0x37, 0x39, 0x46, 0x33, 0x39, 0x46, 0x46, 0x32, 0x44, 0x45, 0x32, 0x42, 0x46, 0x31, 0x35, 0x43, 0x45, 0x34, 0x33, 0x38, 0x46, 0x46, 0x38, 0x38, 0x35, 0x37, 0x34, 0x35, 0x45, 0x44, 0x35, 0x34, 0x35, 0x37, 0x33, 0x38, 0x35, 0x30, 0x45, 0x38, 0x41, 0x39, 0x46, 0x34, 0x30, 0x45, 0x45, 0x32, 0x46, 0x46, 0x35, 0x30, 0x35, 0x45, 0x42, 0x37, 0x34, 0x37, 0x36, 0x46, 0x39, 0x35, 0x41, 0x44, 0x42, 0x37, 0x38, 0x33, 0x42, 0x32, 0x38, 0x43, 0x41, 0x33, 0x37, 0x34, 0x46, 0x41, 0x43, 0x34, 0x36, 0x33, 0x32, 0x38, 0x39, 0x32, 0x41, 0x42, 0x38, 0x32, 0x46, 0x42, 0x33, 0x42, 0x46, 0x34, 0x37, 0x31, 0x35, 0x46, 0x43, 0x46, 0x45, 0x36, 0x45, 0x38, 0x32, 0x44, 0x30, 0x33, 0x37, 0x33, 0x31, 0x46, 0x43, 0x33, 0x37, 0x36, 0x32, 0x42, 0x36, 0x41, 0x41, 0x43, 0x33, 0x44, 0x46, 0x31, 0x43, 0x33, 0x42, 0x43, 0x36, 0x34, 0x36, 0x46, 0x45, 0x39, 0x43, 0x44, 0x33, 0x43, 0x36, 0x32, 0x36, 0x36, 0x33, 0x41, 0x39, 0x37, 0x45, 0x45, 0x37, 0x32, 0x44, 0x42, 0x39, 0x33, 0x32, 0x41, 0x33, 0x30, 0x31, 0x33, 0x31, 0x32, 0x42, 0x34, 0x41, 0x37, 0x36, 0x33, 0x33, 0x31, 0x30, 0x30, 0x43, 0x38, 0x43, 0x43, 0x33, 0x35, 0x37, 0x32, 0x36, 0x32, 0x43, 0x33, 0x39, 0x41, 0x32, 0x42, 0x33, 0x41, 0x36, 0x34, 0x42, 0x32, 0x32, 0x34, 0x46, 0x35, 0x32, 0x37, 0x36, 0x44, 0x35, 0x45, 0x44, 0x42, 0x44, 0x46, 0x30, 0x38, 0x30, 0x34, 0x44, 0x43, 0x33, 0x41, 0x43, 0x34, 0x42, 0x38, 0x33, 0x35, 0x31, 0x36, 0x32, 0x42, 0x42, 0x31, 0x39, 0x36, 0x39, 0x45, 0x41, 0x45, 0x42, 0x41, 0x44, 0x43, 0x34, 0x33, 0x44, 0x32, 0x35, 0x31, 0x31, 0x44, 0x36, 0x45, 0x30, 0x32, 0x33, 0x39, 0x32, 0x38, 0x37, 0x38, 0x31, 0x42, 0x31, 0x36, 0x37, 0x41, 0x34, 0x38, 0x32, 0x37, 0x33, 0x42, 0x39, 0x35, 0x33, 0x33, 0x37, 0x38, 0x44, 0x33, 0x44, 0x32, 0x30, 0x38, 0x30, 0x43, 0x43, 0x30, 0x36, 0x37, 0x37, 0x37, 0x45, 0x38, 0x41, 0x32, 0x33, 0x36, 0x34, 0x46, 0x30, 0x32, 0x33, 0x34, 0x42, 0x38, 0x31, 0x30, 0x36, 0x34, 0x43, 0x35, 0x43, 0x37, 0x33, 0x39, 0x41, 0x38, 0x44, 0x41, 0x32, 0x38, 0x44, 0x43, 0x35, 0x38, 0x38, 0x39, 0x30, 0x37, 0x32, 0x42, 0x46, 0x33, 0x37, 0x36, 0x38, 0x35, 0x43, 0x42, 0x43, 0x39, 0x34, 0x43, 0x32, 0x44, 0x33, 0x31, 0x44, 0x30, 0x31, 0x37, 0x39, 0x41, 0x44, 0x38, 0x36, 0x44, 0x38, 0x45, 0x33, 0x41, 0x41, 0x38, 0x30, 0x39, 0x30, 0x44, 0x34, 0x46, 0x30, 0x42, 0x32, 0x38, 0x31, 0x42, 0x45, 0x33, 0x37, 0x45, 0x30, 0x31, 0x34, 0x33, 0x37, 0x34, 0x36, 0x45, 0x36, 0x30, 0x34, 0x39, 0x43, 0x43, 0x43, 0x30, 0x36, 0x38, 0x39, 0x39, 0x34, 0x30, 0x31, 0x32, 0x36, 0x34, 0x46, 0x41, 0x34, 0x37, 0x31, 0x43, 0x30, 0x31, 0x36, 0x41, 0x39, 0x36, 0x43, 0x37, 0x39, 0x38, 0x31, 0x35, 0x42, 0x35, 0x35, 0x42, 0x42, 0x43, 0x32, 0x36, 0x42, 0x34, 0x33, 0x30, 0x35, 0x32, 0x36, 0x30, 0x39, 0x44, 0x39, 0x44, 0x31, 0x37, 0x35, 0x46, 0x42, 0x43, 0x44, 0x45, 0x34, 0x35, 0x35, 0x33, 0x39, 0x32, 0x46, 0x31, 0x30, 0x45, 0x35, 0x31, 0x45, 0x43, 0x31, 0x36, 0x32, 0x46, 0x35, 0x31, 0x43, 0x46, 0x37, 0x33, 0x32, 0x45, 0x36, 0x42, 0x42, 0x33, 0x39, 0x31, 0x46, 0x35, 0x36, 0x42, 0x42, 0x46, 0x44, 0x38, 0x44, 0x39, 0x35, 0x37, 0x44, 0x46, 0x33, 0x44, 0x34, 0x43, 0x35, 0x35, 0x42, 0x37, 0x31, 0x43, 0x45, 0x46, 0x44, 0x35, 0x34, 0x42, 0x31, 0x39, 0x43, 0x31, 0x36, 0x44, 0x34, 0x35, 0x38, 0x37, 0x35, 0x37, 0x33, 0x37, 0x33, 0x45, 0x36, 0x39, 0x38, 0x44, 0x37, 0x45, 0x36, 0x39, 0x33, 0x41, 0x38, 0x46, 0x43, 0x33, 0x39, 0x38, 0x31, 0x35, 0x41, 0x38, 0x42, 0x46, 0x30, 0x33, 0x42, 0x41, 0x30, 0x35, 0x45, 0x41, 0x38, 0x43, 0x38, 0x37, 0x37, 0x38, 0x44, 0x33, 0x38, 0x46, 0x39, 0x38, 0x37, 0x33, 0x44, 0x36, 0x32, 0x42, 0x34, 0x34, 0x36, 0x30, 0x46, 0x34, 0x31, 0x41, 0x43, 0x46, 0x39, 0x39, 0x37, 0x43, 0x33, 0x30, 0x45, 0x37, 0x43, 0x33, 0x41, 0x46, 0x30, 0x32, 0x35, 0x46, 0x41, 0x31, 0x37, 0x31, 0x42, 0x35, 0x46, 0x35, 0x41, 0x44, 0x34, 0x44, 0x36, 0x42, 0x31, 0x35, 0x45, 0x39, 0x35, 0x43, 0x32, 0x37, 0x46, 0x36, 0x42, 0x33, 0x35, 0x41, 0x44, 0x36, 0x31, 0x38, 0x37, 0x35, 0x45, 0x35, 0x35, 0x30, 0x35, 0x34, 0x34, 0x39, 0x42, 0x34, 0x45 }, + is64bitlibcc ? new byte[] { 0x41, 0xB8, 0x59, 0x08, 0x01 } : new byte[] { 0x68, 0x59, 0x08, 0x01, 0x00 }, //67673 -> 10859h -> 590801 + new byte[] { 0x39, 0x32, 0x39, 0x33, 0x33 } + }; + byte[][] libcc_s = + { + new byte[] { 0x44, 0x37, 0x35, 0x31, 0x32, 0x35, 0x42, 0x37, 0x30, 0x37, 0x36, 0x37, 0x42, 0x39, 0x34, 0x31, 0x34, 0x35, 0x42, 0x34, 0x37, 0x43, 0x31, 0x43, 0x42, 0x33, 0x43, 0x30, 0x37, 0x35, 0x35, 0x45, 0x37, 0x43, 0x43, 0x42, 0x38, 0x38, 0x32, 0x35, 0x43, 0x35, 0x44, 0x43, 0x45, 0x30, 0x43, 0x35, 0x38, 0x41, 0x43, 0x46, 0x39, 0x34, 0x34, 0x45, 0x30, 0x38, 0x32, 0x38, 0x30, 0x31, 0x34, 0x30, 0x39, 0x41, 0x30, 0x32, 0x34, 0x37, 0x32, 0x46, 0x41, 0x46, 0x46, 0x44, 0x31, 0x43, 0x44, 0x37, 0x37, 0x38, 0x36, 0x34, 0x42, 0x42, 0x38, 0x32, 0x31, 0x41, 0x45, 0x33, 0x36, 0x37, 0x36, 0x36, 0x46, 0x45, 0x45, 0x44, 0x45, 0x36, 0x41, 0x32, 0x34, 0x46, 0x31, 0x32, 0x36, 0x36, 0x32, 0x39, 0x35, 0x34, 0x31, 0x36, 0x38, 0x42, 0x46, 0x41, 0x33, 0x31, 0x34, 0x42, 0x44, 0x39, 0x35, 0x30, 0x33, 0x32, 0x42, 0x39, 0x44, 0x38, 0x32, 0x34, 0x34, 0x35, 0x33, 0x35, 0x35, 0x45, 0x44, 0x37, 0x46, 0x32, 0x38, 0x35, 0x33, 0x32, 0x38, 0x43, 0x43, 0x34, 0x31, 0x37, 0x37, 0x32, 0x45, 0x38 }, + is64bitlibcc ? new byte[] { 0x41, 0xB8, 0x1D, 0x77, 0x47, 0x05 } : new byte[] { 0x68, 0x1D, 0x77, 0x47, 0x05 }, //88569629 -> 547771Dh -> 1D774705 + new byte[] { 0x43, 0x37, 0x41, 0x41, 0x34, 0x38, 0x35, 0x46, 0x30, 0x30, 0x46, 0x45, 0x45, 0x45, 0x38, 0x36, 0x38, 0x33, 0x36, 0x38, 0x44, 0x42, 0x31, 0x38, 0x37, 0x36, 0x39, 0x45, 0x44, 0x41, 0x43, 0x44, 0x46, 0x30, 0x37, 0x36, 0x31, 0x32, 0x31, 0x35, 0x38, 0x44, 0x43, 0x38, 0x31, 0x45, 0x33, 0x33, 0x42, 0x44, 0x36, 0x46, 0x38, 0x37, 0x33, 0x33, 0x41, 0x30, 0x30, 0x33, 0x35, 0x39, 0x46, 0x32, 0x33, 0x35, 0x39, 0x35, 0x35, 0x44, 0x34, 0x35, 0x32, 0x32, 0x35, 0x36, 0x31, 0x36, 0x33, 0x43, 0x32, 0x36, 0x45, 0x34, 0x35, 0x35, 0x37, 0x44, 0x38, 0x34, 0x41, 0x43, 0x35, 0x37, 0x46, 0x37, 0x31, 0x34, 0x32, 0x31, 0x42, 0x31, 0x44, 0x44, 0x39, 0x37, 0x31, 0x39, 0x34, 0x31, 0x46, 0x42, 0x46, 0x33, 0x45, 0x32, 0x36, 0x37, 0x33, 0x45, 0x42, 0x32, 0x31, 0x42, 0x37, 0x43, 0x35, 0x36, 0x35, 0x31, 0x44, 0x46, 0x34, 0x30, 0x41, 0x32, 0x30, 0x38, 0x44, 0x39, 0x35, 0x45, 0x33, 0x37, 0x44, 0x39, 0x36, 0x45, 0x32, 0x31, 0x32, 0x32, 0x42, 0x37, 0x33, 0x39, 0x41, 0x38, 0x39, 0x44, 0x42, 0x46, 0x46, 0x34, 0x39, 0x46, 0x33, 0x39, 0x35, 0x42, 0x44, 0x36, 0x34, 0x31, 0x31, 0x33, 0x30, 0x36, 0x38, 0x44, 0x34, 0x41, 0x32, 0x30, 0x44, 0x38, 0x46, 0x35, 0x45, 0x43, 0x44, 0x30, 0x33, 0x30, 0x36, 0x38, 0x45, 0x46, 0x41, 0x37, 0x44, 0x33, 0x35, 0x38, 0x45, 0x30, 0x32, 0x31, 0x43, 0x45, 0x39, 0x33, 0x41, 0x39, 0x37, 0x30, 0x46, 0x36, 0x35, 0x37, 0x43, 0x45, 0x38, 0x41, 0x35, 0x45, 0x42, 0x32, 0x30, 0x46, 0x39, 0x32, 0x34, 0x32, 0x32, 0x35, 0x43, 0x45, 0x43, 0x32, 0x30, 0x43, 0x32, 0x32, 0x44, 0x34, 0x46, 0x42, 0x45, 0x36, 0x45, 0x35, 0x34, 0x39, 0x32, 0x41, 0x39, 0x45, 0x37, 0x43, 0x44, 0x36, 0x38, 0x39, 0x35, 0x46, 0x38, 0x45, 0x32, 0x39, 0x30, 0x45, 0x42, 0x45, 0x41, 0x34, 0x38, 0x33, 0x46, 0x46, 0x42, 0x32, 0x31, 0x35, 0x35, 0x36, 0x32, 0x31, 0x30, 0x31, 0x30, 0x42, 0x30, 0x38, 0x46, 0x37, 0x45, 0x36, 0x33, 0x44, 0x44, 0x43, 0x31, 0x44, 0x33, 0x37, 0x36, 0x43, 0x31, 0x41, 0x39, 0x44, 0x39, 0x35, 0x30, 0x30, 0x36, 0x46, 0x42, 0x42, 0x43, 0x42, 0x37, 0x31, 0x33, 0x42, 0x39, 0x41, 0x46, 0x30, 0x33, 0x42, 0x35, 0x44, 0x43, 0x35, 0x42, 0x30, 0x34, 0x38, 0x35, 0x42, 0x33, 0x30, 0x33, 0x34, 0x46, 0x33, 0x34, 0x35, 0x30, 0x30, 0x32, 0x32, 0x46, 0x42, 0x37, 0x32, 0x41, 0x44, 0x42, 0x37, 0x46, 0x46, 0x34, 0x33, 0x36, 0x32, 0x36, 0x43, 0x32, 0x30, 0x30, 0x37, 0x41, 0x46, 0x35, 0x44, 0x30, 0x36, 0x31, 0x30, 0x42, 0x45, 0x45, 0x36, 0x45, 0x34, 0x38, 0x41, 0x34, 0x43, 0x45, 0x39, 0x35, 0x39, 0x37, 0x31, 0x37, 0x31, 0x34, 0x39, 0x39, 0x45, 0x38, 0x37, 0x37, 0x35, 0x35, 0x43, 0x35, 0x45, 0x38, 0x46, 0x30, 0x44, 0x31, 0x39, 0x45, 0x31, 0x43, 0x33, 0x38, 0x37, 0x41, 0x34, 0x45, 0x46, 0x41, 0x42, 0x39, 0x39, 0x37, 0x35, 0x35, 0x33, 0x37, 0x35, 0x39, 0x35, 0x34, 0x38, 0x31, 0x31, 0x35, 0x31, 0x41, 0x34, 0x46, 0x39, 0x37, 0x44, 0x30, 0x37, 0x44, 0x32, 0x44, 0x36, 0x30, 0x43, 0x34, 0x36, 0x33, 0x43, 0x43, 0x44, 0x44, 0x37, 0x45, 0x41, 0x37, 0x33, 0x45, 0x37, 0x37, 0x39, 0x32, 0x42, 0x36, 0x39, 0x34, 0x33, 0x32, 0x37, 0x38, 0x42, 0x37, 0x41, 0x45, 0x39, 0x41, 0x33, 0x43, 0x34, 0x43, 0x34, 0x37, 0x36, 0x46, 0x32, 0x43, 0x32, 0x44, 0x31, 0x41, 0x37, 0x32, 0x46, 0x39, 0x34, 0x37, 0x44, 0x41, 0x36, 0x35, 0x31, 0x41, 0x43, 0x32, 0x46, 0x33, 0x36, 0x30, 0x43, 0x42, 0x43, 0x42, 0x37, 0x31, 0x41, 0x31, 0x36, 0x36, 0x32, 0x36, 0x44, 0x33, 0x44, 0x39, 0x46, 0x33, 0x32, 0x44, 0x34, 0x36, 0x31, 0x31, 0x44, 0x32, 0x37, 0x43, 0x41, 0x33, 0x35, 0x45, 0x33, 0x46, 0x32, 0x35, 0x41, 0x30, 0x32, 0x43, 0x44, 0x39, 0x42, 0x31, 0x36, 0x45, 0x32, 0x45, 0x38, 0x45, 0x37, 0x41, 0x43, 0x36, 0x33, 0x36, 0x38, 0x37, 0x32, 0x41, 0x32, 0x35, 0x38, 0x39, 0x46, 0x46, 0x45, 0x46, 0x34, 0x31, 0x34, 0x41, 0x32, 0x43, 0x30, 0x44, 0x36, 0x42, 0x39, 0x39, 0x32, 0x31, 0x39, 0x45, 0x32, 0x34, 0x30, 0x38, 0x45, 0x34, 0x38, 0x35, 0x32, 0x32, 0x41, 0x31, 0x38, 0x44, 0x36, 0x41, 0x37, 0x41, 0x42, 0x37, 0x35, 0x38, 0x37, 0x43, 0x39, 0x38, 0x38, 0x32, 0x34, 0x43, 0x42, 0x44, 0x39, 0x34, 0x30, 0x31, 0x46, 0x37, 0x41, 0x35, 0x46, 0x31, 0x44, 0x39, 0x43, 0x45, 0x31, 0x37, 0x42, 0x34, 0x31, 0x36, 0x39, 0x38, 0x37, 0x30, 0x36, 0x43, 0x37, 0x38, 0x37, 0x43, 0x33, 0x39, 0x42, 0x32, 0x32, 0x37, 0x46, 0x41, 0x30, 0x36, 0x43, 0x30, 0x30, 0x36, 0x30, 0x44, 0x38, 0x36, 0x37, 0x36, 0x32, 0x30, 0x35, 0x31, 0x36, 0x34, 0x46, 0x33, 0x46, 0x31, 0x30, 0x44, 0x30, 0x45, 0x46, 0x38, 0x42, 0x43, 0x36, 0x37, 0x35, 0x43, 0x43, 0x46, 0x38, 0x42, 0x32, 0x37, 0x45, 0x39, 0x41, 0x45, 0x36, 0x34, 0x41, 0x36, 0x44, 0x41, 0x44, 0x39, 0x44, 0x45, 0x36, 0x31, 0x39, 0x42, 0x32, 0x33, 0x38, 0x37, 0x39, 0x45, 0x46 }, + is64bitlibcc ? new byte[] { 0x41, 0xB8, 0x6C, 0x5F, 0x00 } : new byte[] { 0x68, 0x6C, 0x5F, 0x00, 0x00 }, //24428 -> 5F6Ch -> 6C5F00 + new byte[] { 0x30, 0x30, 0x46, 0x44, 0x37 } + }; + + for (int i = 0; i < libcc_c.Length; i++) + { + offsetHexlibcc = cercaBytes(filearrlibcc, libcc_c[i], 0, filearrlibcc.Length); + if (offsetHexlibcc != -1) + { + cntlibcc++; + for (int p = 0; p < libcc_s[i].Length; p++) + filearrlibcc[offsetHexlibcc + p] = libcc_s[i][p]; + } + } + if (cntlibcc == libcc_c.Length) //5 - Patcho il File + libccok1 = true; + offsetHexlibcc = 0; + if (is64bitlibcc) + { + for (int p = 0; p < a2.Length; p++) + { + byte[] tmpdfxc = { 0x83, 0xF0, a2[p], 0x88, 0x05 }; + byte[] tmpdfxs = { 0x83, 0xF0, b2[p], 0x88, 0x05 }; + + try + { + offsetHexlibcc = cercaBytes(filearrlibcc, tmpdfxc, offsetHexlibcc + 5, filearrlibcc.Length); + if (offsetHexlibcc != -1) + { + cntlibcc2++; + for (int p2 = 0; p2 < tmpdfxs.Length; p2++) + filearrlibcc[offsetHexlibcc + p2] = tmpdfxs[p2]; + } + else + break; + } + catch + { + //Nothing + } + } + if (cntlibcc2 == a2.Length) //391 - Patcho il File + libccok2 = true; + } + else + { + int add = 0; + for (int p = 0; p < a2.Length; p++) + { + byte[] tmpdfxc = null; + byte[] tmpdfxs = null; + switch (p % 3) + { + case 0: + add = 5; + tmpdfxc = new byte[] { 0x83, 0xF2, a2[p], 0x88, 0x15 }; + tmpdfxs = new byte[] { 0x83, 0xF2, b2[p], 0x88, 0x15 }; + break; + case 1: + add = 4; + tmpdfxc = new byte[] { 0x83, 0xF0, a2[p], 0xA2 }; + tmpdfxs = new byte[] { 0x83, 0xF0, b2[p], 0xA2 }; + break; + default: + add = 5; + tmpdfxc = new byte[] { 0x83, 0xF1, a2[p], 0x88, 0x0D }; + tmpdfxs = new byte[] { 0x83, 0xF1, b2[p], 0x88, 0x0D }; + break; + } + try + { + offsetHexlibcc = cercaBytes(filearrlibcc, tmpdfxc, offsetHexlibcc + add, filearrlibcc.Length); + if (offsetHexlibcc != -1) + { + cntlibcc2++; + for (int p2 = 0; p2 < tmpdfxs.Length; p2++) + filearrlibcc[offsetHexlibcc + p2] = tmpdfxs[p2]; + } + else + break; + } + catch + { + //Nothing + } + } + if (cntlibcc2 == a2.Length) //391 - Patcho il File + libccok2 = true; + } + if (libccok1 || libccok2) + { + if (controlloBackup.Checked == true) + { + if (File.Exists(libcc + ".BAK")) + File.Delete(libcc + ".BAK"); + File.Copy(libcc, libcc + ".BAK"); + } + } + else + { + DialogResult dialogResult = MessageBox.Show("No All Pattern Found on libcc for both Solution!\nFile Already Patched... Continue?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + if (dialogResult == DialogResult.No) + return; + } + finale(libcc, filearrlibcc); + } + //Fine + //} + byte[] filearr = File.ReadAllBytes(file); + if (controlloBackup.Checked == true) + { + if (File.Exists(file + ".BAK")) + File.Delete(file + ".BAK"); + File.Copy(file, file + ".BAK"); + } + int cnt = 0; + int offsetHex = cercaBytes(filearr, a, 0, filearr.Length); + if (offsetHex != -1) + { + cnt++; + for (int p = 0; p < b.Length; p++) + filearr[offsetHex + p] = b[p]; + } + if (cnt > 0) // Patcho il File + { + finale(file, filearr); + } + else + { + MessageBox.Show("No Pattern Found! / File Already Patched?", "Info", MessageBoxButtons.OK, MessageBoxIcon.Question); + return; + } + MessageBox.Show(Path.GetFileName(file) + ((!is64bit) ? " - x32 -> " : " - x64 -> ") + " Cracked!.\nLibcc Solution 1 -> " + (libccok1 ? "Ok" : "Error") + "\nLibcc Solution 2 -> " + (libccok2 ? "Ok" : "Error"), "Info...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); + } + private void finale(string filefull, byte[] filearr, bool mt = true) + { + bool sololet = false; + string nf = String.Empty; + try + { + try + { + nf = "\"" + Path.GetFileName(filefull) + "\""; + la = File.GetLastWriteTime(filefull); + FileAttributes attributo = File.GetAttributes(filefull); + if ((attributo & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) + { + sololet = true; + File.SetAttributes(filefull, attributo ^ FileAttributes.ReadOnly); + } + } + catch + { + //Niente + } + + File.WriteAllBytes(filefull, filearr); + + try + { + bool PE = SistemaPeCks(filefull); + } + catch + { + //Niente + } + + if (sololet) + { + try + { + // Metto il ReadOnly. + File.SetAttributes(filefull, File.GetAttributes(filefull) | FileAttributes.ReadOnly); + } + catch + { + //Niente + } + } + try + { + //Ripristino Data Ultimo Accesso + if (la != DateTime.Now && la != null) + File.SetLastWriteTime(filefull, la); + } + catch + { + //Niente + } + } + catch (UnauthorizedAccessException) + { + MessageBox.Show("Sorry !!!\nYou Run the Program as Administrator...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch + { + MessageBox.Show("Sorry !!!\nProblem with the File " + nf, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + return; + } + private bool SistemaPeCks(string file) + { + try + { + using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.ReadWrite)) + { + ImageRemoveCertificate(fs.SafeFileHandle.DangerousGetHandle(), 0); + fs.Close(); + } + mCheckSum PE = new mCheckSum(); + return PE.FixCheckSum(file); + } + catch + { + return false; + } + } + public int cercaBytes(byte[] array, byte[] cosaCercare, int indiceDiPartenza, int contatore) + { + if (array == null || array.Length == 0 || cosaCercare == null || cosaCercare.Length == 0 || contatore == 0) + return -1; + + int i = indiceDiPartenza; + int indiceFine = contatore > 0 ? Math.Min(indiceDiPartenza + contatore, array.Length) : array.Length; + int dfx = 0; + int ultimoDfx = 0; + + while (i < indiceFine) + { + ultimoDfx = dfx; + dfx = (array[i] == cosaCercare[dfx]) ? ++dfx : 0; + if (dfx == cosaCercare.Length) + return i - dfx + 1; + if (ultimoDfx > 0 && dfx == 0) + { + i = i - ultimoDfx; + ultimoDfx = 0; + } + i++; + } + return -1; + } + private void rn11_CheckedChanged(object sender, EventArgs e) + { + tserial.Text = String.Empty; + tactivationcode.Text = String.Empty; + bool ed = rn11.Checked || rmod.Checked || repo.Checked ? false : true; + if (resse11.Checked || resse12.Checked) + { + this.Icon = Resources.Essentials; + comboprod.Enabled = false; + combolang.Enabled = true; + rent.Enabled = false; + redu.Enabled = false; + rstd.Enabled = false; + ress.Enabled = true; + ress.Checked = true; + } + else if (rmod.Checked) + { + this.Icon = Resources.DataModeler; + comboprod.Enabled = false; + combolang.Enabled = true; + rent.Enabled = false; + redu.Enabled = true; + rstd.Enabled = true; + rstd.Checked = true; + ress.Enabled = false; + } + else if (repo.Checked) + { + this.Icon = Resources.ReportViewer; + combolang.SelectedIndex = combolang.FindStringExact("English"); + combolang.Enabled = false; + rent.Enabled = false; + redu.Enabled = false; + rstd.Enabled = true; + rstd.Checked = true; + ress.Enabled = false; + } + else + { + this.Icon = Resources.Navicat; + combolang.Enabled = true; + comboprod.Enabled = true; + comboprod.SelectedIndex = comboprod.FindStringExact("Premium"); + rent.Enabled = true; + rent.Checked = true; + rstd.Enabled = false; + redu.Enabled = true; + ress.Enabled = true; + } + trequestcode.Text = !ed ? "To Activate :" + Environment.NewLine + Environment.NewLine + "1) Patch Host or Put the PC Offline" + Environment.NewLine + "2) In Registration Press CTRL+SHIFT and Click on Activate" + Environment.NewLine + "3) Select the Generated File \"license_file\"" : ""; + toolTip1.SetToolTip(trequestcode, !ed ? "" : "Put the PC Offline, Click on Manual Activation and Paste the Request Code Here..."); + trequestcode.Enabled = ed; + tactivationcode.Enabled = ed; + bcleara.Enabled = ed; + bclearr.Enabled = ed; + bpaste.Enabled = ed; + } + + private void linna_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + apriUrl(@"https://navicat.com"); + } + + private void linkur_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + apriUrl(@"https://www.dfox.it"); + } + private static string ottieniLaPathBrowser() + { + string name = string.Empty; + RegistryKey regKey = null; + try + { + var regDefault = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.htm\\UserChoice", false); + var stringDefault = regDefault.GetValue("ProgId"); + + regKey = Registry.ClassesRoot.OpenSubKey(stringDefault + "\\shell\\open\\command", false); + name = regKey.GetValue(null).ToString().ToLower().Replace("" + (char)34, ""); + + if (!name.EndsWith("exe")) + name = name.Substring(0, name.LastIndexOf(".exe") + 4); + + } + catch + { + return String.Empty; + } + finally + { + if (regKey != null) + regKey.Close(); + } + return name; + } + public void apriUrl(string url) + { + try + { + string browserPath = ottieniLaPathBrowser(); + if (browserPath == string.Empty) + browserPath = "iexplore"; + Process process = new Process(); + process.StartInfo = new ProcessStartInfo(browserPath); + process.StartInfo.Arguments = url; + process.Start(); + } + catch + { + //Nothing + } + } + + private void NC_Load(object sender, EventArgs e) + { + this.Icon = ico; + CultureInfo ci = CultureInfo.InstalledUICulture; + string ln = ci.Name.ToString().Trim(); + for (int cmm = 0; cmm < 0xFF + 1; cmm++) + comboCustom.Items.Insert(cmm, "0x" + (cmm).ToString("X2").PadLeft(2, '0')); + for (int cpr = 0; cpr < prod.Length; cpr++) + comboprod.Items.Insert(cpr, prod[cpr]); + for (int lng = 0; lng < lang.Length; lng++) + combolang.Items.Insert(lng, lang[lng]); + comboprod.SelectedIndex = comboprod.FindStringExact("Premium"); + combolang.SelectedIndex = langname.Contains(ln) ? combolang.FindStringExact(lang[Array.IndexOf(langname, ln)]) + : combolang.FindStringExact("English"); + comboCustom.SelectedIndex = 0x32; + } + + private void rnfrl_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void rnfr30_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void rnfr365_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void rcs_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void rnfr90_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void rsl_CheckedChanged(object sender, EventArgs e) + { + if (rcs.Checked) + comboCustom.Enabled = true; + else + comboCustom.Enabled = false; + } + + private void comboCustom_KeyPress(object sender, KeyPressEventArgs e) + { + e.Handled = true; + } + + private void comboprod_SelectedIndexChanged(object sender, EventArgs e) + { + tserial.Text = String.Empty; + trequestcode.Text = String.Empty; + tactivationcode.Text = String.Empty; + string icoprod = comboprod.Items[comboprod.SelectedIndex].ToString().Trim(); + if (rn11.Checked || rn12.Checked) + { + switch (icoprod) + { + case "MariaDB": + this.Icon = Resources.MariaDB; + break; + case "MongoDB": + this.Icon = Resources.MongoDB; + break; + case "MySQL": + this.Icon = Resources.MySQL; + break; + case "Oracle": + this.Icon = Resources.Oracle; + break; + case "PostgreSQL": + this.Icon = Resources.PostgreSQL; + break; + case "SQL Server": + this.Icon = Resources.SQLserver; + break; + case "SQLite": + this.Icon = Resources.SQLite; + break; + default: + this.Icon = Resources.Navicat; + break; + } + } + tserial.Text = String.Empty; + rstd.Enabled = (icoprod == "Premium") ? false : true; + ress.Enabled = (icoprod == "MongoDB") ? false : true; + } + private void ControlloHost(string cosatrovare = "") + { + try + { + if (!File.Exists(hostPath)) + { + StreamWriter scrivo = new StreamWriter(hostPath, false, Encoding.Default); + scrivo.WriteLine("# 127.0.0.1 localhost"); + scrivo.Close(); + } + } + catch + { + //Niente + } + } + private void ScriviHost(string cosascrivere, string cosatrovare = "", bool rimuovere = false) + { + ControlloHost(); + bool trovato = false; + string line; + if (File.Exists(hostPath)) + { + try + { + FileAttributes attributo = File.GetAttributes(hostPath); + if ((attributo & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) + File.SetAttributes(hostPath, attributo ^ FileAttributes.ReadOnly); + StreamReader file = new StreamReader(hostPath); + if (!rimuovere) + { + while ((line = file.ReadLine()) != null) + if (line.IndexOf(cosatrovare) != -1 && line.Trim().Substring(0, 1) != "#") + trovato = true; + file.Close(); + if (!trovato) + { + using (StreamWriter stream = new StreamWriter(hostPath, true, Encoding.Default)) + { + stream.WriteLine(cosascrivere); + } + } + } + else + { + List hostlist = new List(); + while ((line = file.ReadLine()) != null) + if (line.IndexOf(cosatrovare) == -1) hostlist.Add(line); + file.Close(); + StreamWriter scrivo = new StreamWriter(hostPath, false, Encoding.Default); + foreach (string lines in hostlist) + { + scrivo.WriteLine(lines); + } + scrivo.Close(); + } + } + catch + { + //Niente + } + finally + { + File.SetAttributes(hostPath, File.GetAttributes(hostPath) | FileAttributes.ReadOnly); + } + } + return; + } + private void puhost(bool pou) + { + ScriviHost("127.0.0.1 activate.navicat.com", "activate.navicat.com", pou); + } + private void cMac_CheckedChanged(object sender, EventArgs e) + { + if (cMac.Checked) + { + EncodeTable = "ABCDEFGH8JKLMN9PQRSTUVWXYZ234567"; + trequestcode.Enabled = true; + tactivationcode.Enabled = true; + bPatch.Enabled = false; + patchhost.Enabled = false; + patchhost.Checked = false; + controlloBackup.Enabled = false; + controlloBackup.Checked = false; + } + else + { + tserial.Text = String.Empty; + trequestcode.Text = String.Empty; + tactivationcode.Text = String.Empty; + EncodeTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; + bPatch.Enabled = true; + patchhost.Enabled = true; + patchhost.Checked = true; + controlloBackup.Enabled = true; + controlloBackup.Checked = true; + } + } + public static byte[] StringToByteArray(string hex) + { + return Enumerable.Range(0, hex.Length) + .Where(x => x % 2 == 0) + .Select(x => Convert.ToByte(hex.Substring(x, 2), 16)) + .ToArray(); + } + } +} \ No newline at end of file diff --git a/Navicat_Keygen_Patch_By_DFoX/NC.resx b/Navicat_Keygen_Patch_By_DFoX/NC.resx new file mode 100644 index 0000000..1a33e61 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/NC.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + True + + \ No newline at end of file diff --git a/Navicat_Keygen_Patch_By_DFoX/Navicat_Keygen_Patch_By_DFoX.csproj b/Navicat_Keygen_Patch_By_DFoX/Navicat_Keygen_Patch_By_DFoX.csproj new file mode 100644 index 0000000..dc442f1 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Navicat_Keygen_Patch_By_DFoX.csproj @@ -0,0 +1,122 @@ + + + + + Debug + AnyCPU + {B745377E-4807-4998-A8FC-0BD3333A8096} + WinExe + Navicat_Keygen_Patch_By_DFoX + Navicat_Keygen_Patch_By_DFoX + v4.0 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + false + bin\Release\ + + + prompt + 4 + + + navicat_MAINICON.ico + + + app.manifest + + + Navicat_Keygen_Patch_By_DFoX.Program + + + + .\BouncyCastle.Crypto.dll + False + + + False + .\Newtonsoft.Json.dll + False + + + + + + + + + + + + + + + + + + Form + + + NC.cs + + + + + + NC.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + Designer + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Navicat_Keygen_Patch_By_DFoX/Newtonsoft.Json.dll b/Navicat_Keygen_Patch_By_DFoX/Newtonsoft.Json.dll new file mode 100644 index 0000000..5b3a1eb Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Newtonsoft.Json.dll differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Program.cs b/Navicat_Keygen_Patch_By_DFoX/Program.cs new file mode 100644 index 0000000..0ca6862 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Program.cs @@ -0,0 +1,44 @@ +using System; +using System.Reflection; +using System.Windows.Forms; + +namespace Navicat_Keygen_Patch_By_DFoX +{ + static class Program + { + /// + /// Punto di ingresso principale dell'applicazione. + /// + [STAThread] + static void Main() + { + AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new FNavicat()); + } + private const string BouncyCastleCryptoName = "BouncyCastle.Crypto"; + private const string NewtonsoftJsonName = "Newtonsoft.Json"; + static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) + { + if (args.Name.StartsWith(BouncyCastleCryptoName, StringComparison.InvariantCultureIgnoreCase)) + { + using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Navicat_Keygen_Patch_By_DFoX.BouncyCastle.Crypto.dll")) + { + Byte[] assemblyData = new Byte[stream.Length]; + stream.Read(assemblyData, 0, assemblyData.Length); + return Assembly.Load(assemblyData); + } + } + else + { + using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Navicat_Keygen_Patch_By_DFoX.Newtonsoft.Json.dll")) + { + Byte[] assemblyData = new Byte[stream.Length]; + stream.Read(assemblyData, 0, assemblyData.Length); + return Assembly.Load(assemblyData); + } + } + } + } +} diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs b/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..b861742 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Le informazioni generali relative a un assembly sono controllate dal seguente +// set di attributi. Modificare i valori di questi attributi per modificare le informazioni +// associate a un assembly. +[assembly: AssemblyTitle("Navicat_Keygen_Patch_By_DFoX")] +[assembly: AssemblyDescription("Patch_Keygen for Navicat Products")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("DeltaFoX")] +[assembly: AssemblyProduct("Navicat_Keygen_Patch_By_DFoX")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("DeFconX")] +[assembly: AssemblyCulture("")] + +// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili +// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da +// COM, impostare su true l'attributo ComVisible per tale tipo. +[assembly: ComVisible(false)] + +// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi +[assembly: Guid("b745377e-4807-4998-a8fc-0bd3333a8096")] + +// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: +// +// Versione principale +// Versione secondaria +// Numero di build +// Revisione +// +// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build +// usando l'asterisco '*' come illustrato di seguito: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("4.2.0.0")] +[assembly: AssemblyFileVersion("4.2.0.0")] diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f77956d --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs @@ -0,0 +1,193 @@ +//------------------------------------------------------------------------------ +// +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 +// +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. +// +//------------------------------------------------------------------------------ + +namespace Navicat_Keygen_Patch_By_DFoX.Properties { + using System; + + + /// + /// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + /// + // Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder. + // tramite uno strumento quale ResGen o Visual Studio. + // Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen + // con l'opzione /str oppure ricompilare il progetto VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Navicat_Keygen_Patch_By_DFoX.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le + /// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon DataModeler { + get { + object obj = ResourceManager.GetObject("DataModeler", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon Essentials { + get { + object obj = ResourceManager.GetObject("Essentials", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ita { + get { + object obj = ResourceManager.GetObject("ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon MariaDB { + get { + object obj = ResourceManager.GetObject("MariaDB", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon MongoDB { + get { + object obj = ResourceManager.GetObject("MongoDB", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon MySQL { + get { + object obj = ResourceManager.GetObject("MySQL", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon Navicat { + get { + object obj = ResourceManager.GetObject("Navicat", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon Oracle { + get { + object obj = ResourceManager.GetObject("Oracle", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon PostgreSQL { + get { + object obj = ResourceManager.GetObject("PostgreSQL", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Byte[]. + /// + internal static byte[] RegPrivateKey { + get { + object obj = ResourceManager.GetObject("RegPrivateKey", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon ReportViewer { + get { + object obj = ResourceManager.GetObject("ReportViewer", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon SQLite { + get { + object obj = ResourceManager.GetObject("SQLite", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). + /// + internal static System.Drawing.Icon SQLserver { + get { + object obj = ResourceManager.GetObject("SQLserver", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx new file mode 100644 index 0000000..9ca9496 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\ita.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\DataModeler.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Essentials.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\MariaDB.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\MySQL.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Navicat.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Oracle.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\PostgreSQL.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ReportViewer.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SQLite.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SQLserver.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RegPrivateKey.pem;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\MongoDB.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.Designer.cs b/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d75db6f --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Navicat_Keygen_Patch_By_DFoX.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.settings b/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/DataModeler.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/DataModeler.ico new file mode 100644 index 0000000..bb0f6d7 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/DataModeler.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/Essentials.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/Essentials.ico new file mode 100644 index 0000000..8b8541b Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/Essentials.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/MariaDB.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/MariaDB.ico new file mode 100644 index 0000000..2d6c2e3 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/MariaDB.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/MongoDB.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/MongoDB.ico new file mode 100644 index 0000000..9f96b46 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/MongoDB.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/MySQL.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/MySQL.ico new file mode 100644 index 0000000..e7eae89 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/MySQL.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/Navicat.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/Navicat.ico new file mode 100644 index 0000000..ae90521 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/Navicat.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/Oracle.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/Oracle.ico new file mode 100644 index 0000000..1fe1a43 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/Oracle.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/PostgreSQL.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/PostgreSQL.ico new file mode 100644 index 0000000..5d0c66d Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/PostgreSQL.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKey.pem b/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKey.pem new file mode 100644 index 0000000..72f3a1f --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAp3AaNAX+/ZULfCSHmc+UaLMRWbH8ogbioK60Gg8uwPBlQzs2 +rRRL3W/qK/dffKws3+9mFMn4jGo56w4m7tgxuOElSeUK/f0zoLXpZcl1eQOPg9uX +veKHBWvXfR14Px976h1ir2WnXIiO2oICtedLlhafBWu1a7jH06uMSu/ErK7pPMBZ ++4/1E+yiUMwuRURW5Z8NIkGXjObg0lnzdAaImIZ1NS1bzuaJjcTf/sDMNKtfJZGl +0EwW3fhGdbiToAsJPaLc0ZhXMmZDTTSKmwl0SXQp1rN2m5r9oE+k29Rn9vQKp+q9 +Ug6sdo/xJWkUw6evOSRI3nbxuJEVNFwKLPV6+QIDAQABAoIBAGMpbAtVZb+Orp+W +DszT+APN0T+6vnDC/SLGdJleVoUjmgUoI2h7tbZuGlRxi5aNbYIuCNnVB6M5IhYI +apxXY5Mnm+rYgBsOAq5yLcj/d9f0eOFRgtuNNgPK63MIqfdQURXE03YnEOgnY9sa +1joewlAgE4ulT2t9orLETTDwMR1HAEJ2bLThwP8Sl/gLviO9nSmIyctK8HSrOmA4 +5O+eiZz2k9oHdg1y2YGoCLMfvf2vr+DH8GECNRmQ5ErRy1lH5NvTNPJ0ebfGvwQp +s/uK+OIWflck3Tp2SkYj9aZmjcSXQHWSV+Q0LoGXCOQR3OV7+fT745e6FNf6rn2I +1Wpb/KUCgYEAyfJHBfeJobU9dmPHKqEVW81fACqXox4gF1u+ZAzjkmLPE0yA2U/J +t3kbU2EA0mXAuAvYI8nnTj5Z1LD+aTbjg7JyRPraeoZFlSDHqhVrBkWV/u/6UMNp +SVS7+uG4ikgVJsAIfzrn98itx/srl4l5Ckq5uj9B3vhXpnXi9yA1CUcCgYEA1EE9 +88uTT2Z/DjOHooJr7r8dqIpUCK8nJMc4B5LbRXDmB1bEh+Ym1U8tENVIdDBuE1Oi +5z5NQzn1gkrsXwmeyOGgW/cNJDpPB6iLqjlrMPpT84aipAgl9YLNIkmL5K4hvoW6 +OSPY9Q4XfZ2zNb9AeehbFGmFLmL2wNbykxx3eb8CgYEAyTaIg65/yMq/4b1LDfOQ +R3caaB0IF7QFf6Ce1CtveETRVMZOP7hbIV8e1fX6Dqjp27eZdRdQS8qeUOjFpOnW +yTq81nQnyhsNK6iMqLBMgeRFrs1HWL9LoZA2+KN87vMheAmwraxwwpeGZ5KgfY2x +N4r7AVLT/CjvlGEzcs35ajMCgYBamkresWx9PSxJHJfuN6vo6q23TuzWFCYqXdu9 +5+MvfiTCxzf3Jrg236hGAjT+W9nw6AemnAKRCsGQz3icjNe5ug4gk5GJgFZR15Fe +pUnrSz/guPzd9hh191KnKyvK/sWqtRyr3XB0EoLWfSWNcMkOALA4Q161UUsxP8+m +GkWpswKBgH5wtrOojkReNZ3AP9qgR2vWE5L7hlEjscn7UeRFwE8Nxs7Zh6SAZEUM +aVhc8OXUZEZxrbLh84Z7GRk6D9OTpjYFqIM5KAL4IDApIxbgHYBRGcGESgDZluX/ +cijJT8XzJzdtcBvvZLNd8n0nkaxRfNBngL8TMfRgZ2mfHsvFBo7h +-----END RSA PRIVATE KEY----- diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/ReportViewer.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/ReportViewer.ico new file mode 100644 index 0000000..6f9b50e Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/ReportViewer.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/SQLite.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/SQLite.ico new file mode 100644 index 0000000..9c1381a Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/SQLite.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/SQLserver.ico b/Navicat_Keygen_Patch_By_DFoX/Resources/SQLserver.ico new file mode 100644 index 0000000..fe23a2c Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/SQLserver.ico differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/ita.png b/Navicat_Keygen_Patch_By_DFoX/Resources/ita.png new file mode 100644 index 0000000..9d4ce40 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/ita.png differ diff --git a/Navicat_Keygen_Patch_By_DFoX/WindowHandleManipulator.cs b/Navicat_Keygen_Patch_By_DFoX/WindowHandleManipulator.cs new file mode 100644 index 0000000..57c565b --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/WindowHandleManipulator.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Windows.Automation; + +namespace Navicat_Keygen_Patch_By_DFoX +{ + public class WindowHandleManipulator + { + private readonly int _recurseLevel; + private const int WM_GETTEXT = 13; + private const uint WM_SETTEXT = 12; + + public WindowHandleManipulator(int recurseLevel = 2) + { + this._recurseLevel = recurseLevel; + } + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.Dll")] + public static extern bool EnumChildWindows(IntPtr parentHandle, Win32Callback callback, IntPtr lParam); + public IntPtr[] Find(IntPtr parentHandle, string className, string caption, bool recurse) + { + IntPtr[] ptrArray = this.FindImpl(parentHandle, recurse); + List list = new List(); + foreach (IntPtr ptr in ptrArray) + { + if (className != null) + { + if (this.GetClassName2(ptr).IndexOf(className) != -1) + { + if (caption != null) + { + if (this.GetText(ptr).IndexOf(caption) != -1) + { + list.Add(ptr); + if (parentHandle == IntPtr.Zero) + { + break; + } + } + } + else + { + list.Add(ptr); + if (parentHandle == IntPtr.Zero) + { + break; + } + } + } + } + else if ((caption != null) && (this.GetText(ptr).IndexOf(caption) != -1)) + { + list.Add(ptr); + if (parentHandle == IntPtr.Zero) + { + break; + } + } + } + return list.ToArray(); + } + + private IntPtr[] FindImpl(IntPtr parentHandle, bool recurse) + { + List list = new List(); + IntPtr zero = IntPtr.Zero; + while ((zero = FindWindowEx(parentHandle, zero, null, null)) != IntPtr.Zero) + { + list.Add(zero); + } + if (recurse) + { + List collection = new List(); + foreach (IntPtr ptr2 in list) + { + collection.AddRange(this.FindImpl(ptr2, recurse)); + } + list.AddRange(collection); + } + return list.ToArray(); + } + + public int FindUsingUIAutomation(IntPtr parentHandle, string[] names) + { + AutomationElement element = (parentHandle == IntPtr.Zero) ? AutomationElement.RootElement : AutomationElement.FromHandle(parentHandle); + int num = 0; + string[] strArray = names; + for (int i = 0; i < strArray.Length; i++) + { + Func predicate = null; + string name = strArray[i]; + AutomationElementCollection source = element.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window)); + if ((source != null) && (source.Count > 0)) + { + if (predicate == null) + { + predicate = ae => ae.Current.Name.ToLower().IndexOf(name.ToLower()) != -1; + } + AutomationElement[] elementArray = source.Cast().Where(predicate).ToArray(); + if (elementArray.Any()) + { + element = elementArray.First(); + goto Label_00BE; + } + } + break; + Label_00BE: + num++; + } + return element.Current.NativeWindowHandle; + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr FindWindowEx(IntPtr parent, IntPtr next, string className, string windowTitle); + [DllImport("user32.dll")] + public static extern int GetClassName(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] StringBuilder buffer, int bufferLength); + public string GetClassName2(IntPtr handle) + { + StringBuilder buffer = new StringBuilder(0xff); + GetClassName(handle, buffer, buffer.Capacity); + return buffer.ToString(); + } + + public string GetText(IntPtr handle) + { + IntPtr ptr; + StringBuilder text = new StringBuilder(0x163); + SendMessageTimeoutText(handle, 13, text.Capacity, text, SendMessageTimeoutFlags.SMTO_NORMAL | SendMessageTimeoutFlags.SMTO_NOTIMEOUTIFNOTHUNG, 100, out ptr); + return ((text != null) ? text.ToString() : string.Empty); + } + + [DllImport("user32.dll")] + private static extern int SendMessageTimeout(IntPtr hWnd, uint Msg, int wParam, StringBuilder lParam, uint fuFlags, uint uTimeout, out int lpdwResult); + [DllImport("user32.dll", EntryPoint = "SendMessageTimeout", CharSet = CharSet.Auto, SetLastError = true)] + public static extern uint SendMessageTimeoutText(IntPtr hWnd, int Msg, int countOfChars, StringBuilder text, SendMessageTimeoutFlags flags, uint uTImeoutj, out IntPtr result); + public bool SetText(IntPtr handle, string caption) + { + int num; + StringBuilder lParam = new StringBuilder(caption); + return (SendMessageTimeout(handle, 12, 0, lParam, 0, 100, out num) != 0); + } + + [Flags] + public enum SendMessageTimeoutFlags : uint + { + SMTO_ABORTIFHUNG = 2, + SMTO_BLOCK = 1, + SMTO_ERRORONEXIT = 0x20, + SMTO_NORMAL = 0, + SMTO_NOTIMEOUTIFNOTHUNG = 8 + } + + public delegate bool Win32Callback(IntPtr hwnd, IntPtr lParam); + } +} + diff --git a/Navicat_Keygen_Patch_By_DFoX/app.manifest b/Navicat_Keygen_Patch_By_DFoX/app.manifest new file mode 100644 index 0000000..2af2525 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/app.manifest @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Navicat_Keygen_Patch_By_DFoX/mCheckSum.cs b/Navicat_Keygen_Patch_By_DFoX/mCheckSum.cs new file mode 100644 index 0000000..3abf0d2 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/mCheckSum.cs @@ -0,0 +1,198 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace Navicat_Keygen_Patch_By_DFoX +{ + class mCheckSum + { + public string Pein = string.Empty; + public string Pefi = string.Empty; + public string TrovaCheckSum(string sFilePath) + { + if (File.Exists(sFilePath)) + { + uint AttualeHeaderSum, CheckSumCalcolato = 0; uint uRet = 0; + uRet = MapFileAndCheckSum(sFilePath, out AttualeHeaderSum, out CheckSumCalcolato); + if (uRet == 0x00) + return AttualeHeaderSum.ToString("X8") + "-" + CheckSumCalcolato.ToString("X8"); + else return "0"; + } + else return ""; + } + + public bool FixCheckSum(string sFilePath) + { + if (!File.Exists(sFilePath)) + return false; + IMAGE_DOS_HEADER DHD = new IMAGE_DOS_HEADER(); + IMAGE_NT_HEADERS NHD = new IMAGE_NT_HEADERS(); + + int iPointer = 0; + uint uOriginal = 0; + uint uRecalculated = 0; + uint uRet = 0; + byte[] fBytes = new byte[0]; + + try + { + BinaryReader bReader = new BinaryReader(new FileStream(sFilePath, FileMode.Open, FileAccess.Read)); + fBytes = bReader.ReadBytes((int)bReader.BaseStream.Length); + bReader.Close(); + } + catch { } + + if (fBytes.Length <= 0) { return false; } + + GCHandle gHandle = GCHandle.Alloc(fBytes, GCHandleType.Pinned); + iPointer = gHandle.AddrOfPinnedObject().ToInt32(); + DHD = (IMAGE_DOS_HEADER)Marshal.PtrToStructure(new IntPtr(iPointer), typeof(IMAGE_DOS_HEADER)); + NHD = (IMAGE_NT_HEADERS)Marshal.PtrToStructure(new IntPtr(iPointer + DHD.e_lfanew), typeof(IMAGE_NT_HEADERS)); + gHandle.Free(); + + if (NHD.Signature != 17744 || DHD.e_magic != 23117) { return false; } + + uRet = MapFileAndCheckSum(sFilePath, out uOriginal, out uRecalculated); + + if (uRet == 0x00) + { + if (uOriginal == uRecalculated) + { + Pein = uOriginal.ToString("X8"); + Pefi = uRecalculated.ToString("X8"); + return true; + } + } + else + { + Pein = string.Empty; + Pefi = string.Empty; + return false; + } + Pein = uOriginal.ToString("X8"); + Pefi = uRecalculated.ToString("X8"); + NHD.OptionalHeader.CheckSum = uRecalculated; + + byte[] bNHD = getBytes_(NHD); + if (fBytes.Length - (DHD.e_lfanew + bNHD.Length) <= 0) { Array.Resize(ref fBytes, (int)(fBytes.Length + bNHD.Length)); } + Array.Copy(bNHD, 0, fBytes, DHD.e_lfanew, bNHD.Length); + + try + { + BinaryWriter bWriter = new BinaryWriter(new FileStream(sFilePath, FileMode.Open)); + bWriter.Write(fBytes); + bWriter.Flush(); + bWriter.Close(); + } + catch { return false; } + + return true; + } + + private byte[] getBytes_(object oObject) + { + int iSize = Marshal.SizeOf(oObject); + IntPtr ipBuffer = Marshal.AllocHGlobal(iSize); + Marshal.StructureToPtr(oObject, ipBuffer, false); + byte[] bData = new byte[iSize]; + Marshal.Copy(ipBuffer, bData, 0, iSize); + Marshal.FreeHGlobal(ipBuffer); + return bData; + } + + //STRUCTURES + [StructLayout(LayoutKind.Sequential)] + private struct IMAGE_DOS_HEADER + { + public UInt16 e_magic; + public UInt16 e_cblp; + public UInt16 e_cp; + public UInt16 e_crlc; + public UInt16 e_cparhdr; + public UInt16 e_minalloc; + public UInt16 e_maxalloc; + public UInt16 e_ss; + public UInt16 e_sp; + public UInt16 e_csum; + public UInt16 e_ip; + public UInt16 e_cs; + public UInt16 e_lfarlc; + public UInt16 e_ovno; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + public UInt16[] e_res1; + public UInt16 e_oemid; + public UInt16 e_oeminfo; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + public UInt16[] e_res2; + public Int32 e_lfanew; + } + + [StructLayout(LayoutKind.Sequential)] + private struct IMAGE_FILE_HEADER + { + public UInt16 Machine; + public UInt16 NumberOfSections; + public UInt32 TimeDateStamp; + public UInt32 PointerToSymbolTable; + public UInt32 NumberOfSymbols; + public UInt16 SizeOfOptionalHeader; + public UInt16 Characteristics; + } + + [StructLayout(LayoutKind.Sequential)] + private struct IMAGE_DATA_DIRECTORY + { + public UInt32 VirtualAddress; + public UInt32 Size; + } + + [StructLayout(LayoutKind.Sequential)] + private struct IMAGE_OPTIONAL_HEADER32 + { + public UInt16 Magic; + public Byte MajorLinkerVersion; + public Byte MinorLinkerVersion; + public UInt32 SizeOfCode; + public UInt32 SizeOfInitializedData; + public UInt32 SizeOfUninitializedData; + public UInt32 AddressOfEntryPoint; + public UInt32 BaseOfCode; + public UInt32 BaseOfData; + public UInt32 ImageBase; + public UInt32 SectionAlignment; + public UInt32 FileAlignment; + public UInt16 MajorOperatingSystemVersion; + public UInt16 MinorOperatingSystemVersion; + public UInt16 MajorImageVersion; + public UInt16 MinorImageVersion; + public UInt16 MajorSubsystemVersion; + public UInt16 MinorSubsystemVersion; + public UInt32 Win32VersionValue; + public UInt32 SizeOfImage; + public UInt32 SizeOfHeaders; + public UInt32 CheckSum; + public UInt16 Subsystem; + public UInt16 DllCharacteristics; + public UInt32 SizeOfStackReserve; + public UInt32 SizeOfStackCommit; + public UInt32 SizeOfHeapReserve; + public UInt32 SizeOfHeapCommit; + public UInt32 LoaderFlags; + public UInt32 NumberOfRvaAndSizes; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public IMAGE_DATA_DIRECTORY[] DataDirectory; + } + + [StructLayout(LayoutKind.Sequential)] + private struct IMAGE_NT_HEADERS + { + public UInt32 Signature; + public IMAGE_FILE_HEADER FileHeader; + public IMAGE_OPTIONAL_HEADER32 OptionalHeader; + } + + //API's + [DllImport("Imagehlp.dll", EntryPoint = "MapFileAndCheckSum", ExactSpelling = false, CharSet = CharSet.Auto, SetLastError = true)] + private static extern uint MapFileAndCheckSum(string Filename, out uint HeaderSum, out uint CheckSum); + } +} diff --git a/Navicat_Keygen_Patch_By_DFoX/navicat_MAINICON.ico b/Navicat_Keygen_Patch_By_DFoX/navicat_MAINICON.ico new file mode 100644 index 0000000..ae90521 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/navicat_MAINICON.ico differ