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