diff --git a/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs b/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs index 489d1ce..dc603b0 100644 --- a/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs +++ b/Navicat_Keygen_Patch_By_DFoX/NC.Designer.cs @@ -794,7 +794,7 @@ 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.Text = "Navicat Products - Patch/Keygen v4.3"; this.Load += new System.EventHandler(this.NC_Load); this.g1.ResumeLayout(false); this.g1.PerformLayout(); diff --git a/Navicat_Keygen_Patch_By_DFoX/NC.cs b/Navicat_Keygen_Patch_By_DFoX/NC.cs index 6e95488..fdf3761 100644 --- a/Navicat_Keygen_Patch_By_DFoX/NC.cs +++ b/Navicat_Keygen_Patch_By_DFoX/NC.cs @@ -1,4 +1,4 @@ -using Microsoft.Win32; +using Microsoft.Win32; using Navicat_Keygen_Patch_By_DFoX.Properties; using Newtonsoft.Json; using Org.BouncyCastle.Crypto; @@ -16,6 +16,7 @@ using System.Linq; using System.Reflection; using System.Security.Cryptography; using System.Text; +using System.Threading; using System.Windows.Forms; namespace Navicat_Keygen_Patch_By_DFoX @@ -26,7 +27,7 @@ namespace Navicat_Keygen_Patch_By_DFoX 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[] 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, 0x74, 0x4F, 0x5A, 0x47, 0x73, 0x58, 0x37, 0x55, 0x6F, 0x44, 0x50, 0x75, 0x78, 0x43, 0x66, 0x45, 0x75, 0x77, 0x34, 0x69, 0x0D, 0x0A, 0x79, 0x57, 0x44, 0x41, 0x53, 0x70, 0x77, 0x61, 0x4E, 0x31, 0x39, 0x47, 0x61, 0x50, 0x4E, 0x72, 0x54, 0x6C, 0x57, 0x7A, 0x36, 0x4B, 0x37, 0x4D, 0x4B, 0x58, 0x47, 0x72, 0x41, 0x51, 0x70, 0x59, 0x44, 0x35, 0x67, 0x4E, 0x5A, 0x38, 0x6E, 0x47, 0x64, 0x66, 0x52, 0x67, 0x70, 0x35, 0x32, 0x54, 0x45, 0x72, 0x54, 0x48, 0x53, 0x4E, 0x6F, 0x52, 0x6A, 0x67, 0x66, 0x70, 0x78, 0x47, 0x71, 0x4B, 0x0D, 0x0A, 0x41, 0x70, 0x50, 0x55, 0x49, 0x53, 0x73, 0x49, 0x61, 0x6E, 0x47, 0x4D, 0x63, 0x79, 0x66, 0x2F, 0x48, 0x32, 0x62, 0x38, 0x70, 0x47, 0x75, 0x7A, 0x31, 0x6F, 0x46, 0x31, 0x39, 0x6B, 0x56, 0x4B, 0x53, 0x79, 0x5A, 0x54, 0x50, 0x61, 0x56, 0x4C, 0x62, 0x45, 0x2B, 0x31, 0x43, 0x77, 0x37, 0x46, 0x55, 0x4C, 0x62, 0x49, 0x30, 0x34, 0x62, 0x63, 0x36, 0x34, 0x58, 0x6E, 0x57, 0x53, 0x48, 0x6F, 0x0D, 0x0A, 0x61, 0x51, 0x41, 0x58, 0x72, 0x59, 0x4B, 0x47, 0x70, 0x43, 0x37, 0x6F, 0x44, 0x6F, 0x6D, 0x52, 0x47, 0x4D, 0x74, 0x78, 0x32, 0x38, 0x66, 0x69, 0x67, 0x75, 0x33, 0x41, 0x48, 0x41, 0x6B, 0x31, 0x55, 0x51, 0x72, 0x63, 0x43, 0x76, 0x45, 0x33, 0x2B, 0x30, 0x49, 0x54, 0x54, 0x41, 0x37, 0x58, 0x38, 0x78, 0x61, 0x52, 0x77, 0x7A, 0x36, 0x2B, 0x67, 0x62, 0x2B, 0x75, 0x4C, 0x67, 0x43, 0x64, 0x0D, 0x0A, 0x69, 0x58, 0x79, 0x52, 0x59, 0x44, 0x6F, 0x64, 0x47, 0x38, 0x69, 0x2B, 0x6B, 0x6B, 0x31, 0x59, 0x49, 0x74, 0x33, 0x66, 0x32, 0x6D, 0x74, 0x37, 0x6A, 0x48, 0x2B, 0x75, 0x45, 0x48, 0x71, 0x42, 0x59, 0x6A, 0x49, 0x66, 0x76, 0x76, 0x6F, 0x36, 0x67, 0x35, 0x4D, 0x5A, 0x7A, 0x34, 0x4B, 0x4E, 0x7A, 0x37, 0x45, 0x77, 0x63, 0x36, 0x2B, 0x73, 0x44, 0x79, 0x4F, 0x38, 0x62, 0x6D, 0x6C, 0x58, 0x0D, 0x0A, 0x65, 0x46, 0x6E, 0x48, 0x6F, 0x36, 0x59, 0x41, 0x67, 0x43, 0x63, 0x61, 0x48, 0x56, 0x76, 0x56, 0x74, 0x47, 0x4E, 0x43, 0x78, 0x43, 0x64, 0x31, 0x4F, 0x35, 0x77, 0x57, 0x48, 0x76, 0x55, 0x4E, 0x39, 0x38, 0x35, 0x48, 0x48, 0x51, 0x59, 0x6E, 0x46, 0x72, 0x37, 0x71, 0x7A, 0x4A, 0x61, 0x4C, 0x39, 0x63, 0x50, 0x62, 0x37, 0x33, 0x35, 0x70, 0x50, 0x32, 0x68, 0x62, 0x30, 0x49, 0x58, 0x65, 0x0D, 0x0A, 0x79, 0x77, 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 }; @@ -49,6 +50,8 @@ namespace Navicat_Keygen_Patch_By_DFoX 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; + private string dirtmp = (Path.GetTempPath() != null) ? Path.GetTempPath() : Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + [System.Runtime.InteropServices.DllImport("Imagehlp.dll")] private static extern bool ImageRemoveCertificate(IntPtr handle, int index); public FNavicat() @@ -488,7 +491,7 @@ namespace Navicat_Keygen_Patch_By_DFoX string DeviceIdentifier = null; //string Platform = null; string snKey = null; - Stream stream = new MemoryStream(Resources.RegPrivateKey); + Stream stream = new MemoryStream(Resources.RegPrivateKeyNP); StreamReader stReader = new StreamReader(stream); PemReader pr = new PemReader(stReader); AsymmetricCipherKeyPair keys = (AsymmetricCipherKeyPair)pr.ReadObject(); @@ -696,20 +699,20 @@ namespace Navicat_Keygen_Patch_By_DFoX string clvalue = combolang.Items[combolang.SelectedIndex].ToString().Trim(); try { - if (clvalue != "Simplified Chinese") + if (clvalue == "Simplified Chinese" || clvalue == "Traditional Chinese") + { + manipulator.SetText(editHandles[6], this.Serial.Substring(startIndex, 4)); + manipulator.SetText(editHandles[5], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[4], this.Serial.Substring(startIndex += 5, 4)); + manipulator.SetText(editHandles[3], this.Serial.Substring(startIndex + 5, 4)); + } + else { 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 { @@ -904,160 +907,82 @@ namespace Navicat_Keygen_Patch_By_DFoX g1.Enabled = g2.Enabled = g3.Enabled = g4.Enabled = true; return; } - private void PatchewNV(string file) + private void terminaProcesso(Process[] nomiProcessi) { - puhost(patchhost.Checked ? false : true); - string pathdir = Path.GetDirectoryName(file); - bool is64bit = filea64bit(file); - string libcc = pathdir + @"\libcc.dll"; - bool libccok1 = true; - bool libccok2 = true; - if (File.Exists(libcc)) + foreach (Process p in nomiProcessi) { - bool is64bitlibcc = filea64bit(libcc); - byte[] filearrlibcc = File.ReadAllBytes(libcc); - 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) - { - for (int p = 0; p < libcc_s[i].Length; p++) - filearrlibcc[offsetHexlibcc + p] = libcc_s[i][p]; - } - else - { - libccok1 = false; - break; - } - } - offsetHexlibcc = 0; - if (is64bitlibcc) + try { - 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) - { - for (int p2 = 0; p2 < tmpdfxs.Length; p2++) - filearrlibcc[offsetHexlibcc + p2] = tmpdfxs[p2]; - } - else - { - libccok2 = false; - break; - } - } - catch - { - //Nothing - } - } + p.Kill(); } - else + catch { - int add = 0; - for (int p = 0; p < a2.Length; p++) + try { - 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) - { - for (int p2 = 0; p2 < tmpdfxs.Length; p2++) - filearrlibcc[offsetHexlibcc + p2] = tmpdfxs[p2]; - } - else - { - libccok2 = false; - break; - } - } - catch - { - //Nothing - } + p.Close(); } - } - if (libccok1 || libccok2) - { - if (controlloBackup.Checked == true) + catch { - 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); } - byte[] filearr = File.ReadAllBytes(file); + Thread.Sleep(200); + return; + } + private void PatchewNV(string file) + { if (controlloBackup.Checked == true) { if (File.Exists(file + ".BAK")) File.Delete(file + ".BAK"); File.Copy(file, file + ".BAK"); + string libcc = Path.GetDirectoryName(file) + @"\libcc.dll"; + if (File.Exists(libcc)) + { + if (File.Exists(libcc + ".BAK")) + File.Delete(libcc + ".BAK"); + File.Copy(libcc, libcc + ".BAK"); + } } - int offsetHex = cercaBytes(filearr, a, 0, filearr.Length); - if (offsetHex != -1) - { - for (int p = 0; p < b.Length; p++) - filearr[offsetHex + p] = b[p]; - finale(file, filearr); - } + puhost(patchhost.Checked ? false : true); + bool is64bit = filea64bit(file); + string np3264 = is64bit ? "NP_x64.exe" : "NP_x32.exe"; + Process[] pr = Process.GetProcessesByName(np3264.Replace(".exe", "")); + if (pr.Length > 0) + terminaProcesso(pr); + string np = dirtmp + np3264; + string npk = dirtmp + @"NP.pem"; + if (File.Exists(np)) + File.Delete(np); + File.WriteAllBytes(np, (is64bit ? Resources.NP_x64 : Resources.NP_x32)); + File.SetAttributes(np, FileAttributes.Hidden); + if (File.Exists(npk)) + File.Delete(npk); + File.WriteAllBytes(npk, Resources.RegPrivateKeyNP); + File.SetAttributes(npk, FileAttributes.Hidden); + Process p = new Process(); + p.StartInfo.WorkingDirectory = dirtmp; + p.StartInfo.CreateNoWindow = true; + p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; + p.StartInfo.UseShellExecute = false; + p.StartInfo.RedirectStandardOutput = true; + p.StartInfo.FileName = np; + if (Environment.OSVersion.Version.Major >= 6) + p.StartInfo.Verb = "runas"; + p.StartInfo.Arguments = " \"" + Path.GetDirectoryName(file) + "\" \"" + npk + "\""; + p.Start(); + //p.WaitForExit(60000); + string error = p.StandardOutput.ReadToEnd(); + if (error.Contains("Patch has been done successfully")) + MessageBox.Show(Path.GetFileName(file) + ((!is64bit) ? " - x32 -> " : " - x64 -> ") + " Cracked!.", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); 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); + MessageBox.Show("No All Pattern Found!\nFile Already Patched?", "Info", MessageBoxButtons.OK, MessageBoxIcon.Question); + if (File.Exists(np)) + File.Delete(np); + if (File.Exists(npk)) + File.Delete(npk); + return; } private void finale(string filefull, byte[] filearr, bool mt = true) { @@ -1151,6 +1076,7 @@ namespace Navicat_Keygen_Patch_By_DFoX int indiceFine = contatore > 0 ? Math.Min(indiceDiPartenza + contatore, array.Length) : array.Length; int dfx = 0; int ultimoDfx = 0; + while (i < indiceFine) { ultimoDfx = dfx; @@ -1495,4 +1421,4 @@ namespace Navicat_Keygen_Patch_By_DFoX .ToArray(); } } -} +} \ 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 index dc442f1..20dcc86 100644 --- a/Navicat_Keygen_Patch_By_DFoX/Navicat_Keygen_Patch_By_DFoX.csproj +++ b/Navicat_Keygen_Patch_By_DFoX/Navicat_Keygen_Patch_By_DFoX.csproj @@ -34,11 +34,12 @@ navicat_MAINICON.ico + - app.manifest + Navicat_Keygen_Patch_By_DFoX.Program - Navicat_Keygen_Patch_By_DFoX.Program + app.manifest @@ -101,11 +102,14 @@ + + + diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs b/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs index b861742..437356b 100644 --- a/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("DeltaFoX")] [assembly: AssemblyProduct("Navicat_Keygen_Patch_By_DFoX")] -[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyCopyright("Copyright © 2019")] [assembly: AssemblyTrademark("DeFconX")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // È 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")] +[assembly: AssemblyVersion("4.3.0.0")] +[assembly: AssemblyFileVersion("4.3.0.0")] diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs index f77956d..f1b4a66 100644 --- a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.Designer.cs @@ -130,6 +130,26 @@ namespace Navicat_Keygen_Patch_By_DFoX.Properties { } } + /// + /// Cerca una risorsa localizzata di tipo System.Byte[]. + /// + internal static byte[] NP_x32 { + get { + object obj = ResourceManager.GetObject("NP_x32", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Cerca una risorsa localizzata di tipo System.Byte[]. + /// + internal static byte[] NP_x64 { + get { + object obj = ResourceManager.GetObject("NP_x64", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). /// @@ -160,6 +180,16 @@ namespace Navicat_Keygen_Patch_By_DFoX.Properties { } } + /// + /// Cerca una risorsa localizzata di tipo System.Byte[]. + /// + internal static byte[] RegPrivateKeyNP { + get { + object obj = ResourceManager.GetObject("RegPrivateKeyNP", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona). /// diff --git a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx index 9ca9496..d986d4b 100644 --- a/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx +++ b/Navicat_Keygen_Patch_By_DFoX/Properties/Resources.resx @@ -157,4 +157,13 @@ ..\Resources\MongoDB.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\NP_x32.exe;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\NP_x64.exe;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\RegPrivateKeyNP.pem;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x32.exe b/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x32.exe new file mode 100644 index 0000000..2f6af64 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x32.exe differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x64.exe b/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x64.exe new file mode 100644 index 0000000..aa981a8 Binary files /dev/null and b/Navicat_Keygen_Patch_By_DFoX/Resources/NP_x64.exe differ diff --git a/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKeyNP.pem b/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKeyNP.pem new file mode 100644 index 0000000..b3e5623 --- /dev/null +++ b/Navicat_Keygen_Patch_By_DFoX/Resources/RegPrivateKeyNP.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAtOZGsX7UoDPuxCfEuw4iyWDASpwaN19GaPNrTlWz6K7MKXGr +AQpYD5gNZ8nGdfRgp52TErTHSNoRjgfpxGqKApPUISsIanGMcyf/H2b8pGuz1oF1 +9kVKSyZTPaVLbE+1Cw7FULbI04bc64XnWSHoaQAXrYKGpC7oDomRGMtx28figu3A +HAk1UQrcCvE3+0ITTA7X8xaRwz6+gb+uLgCdiXyRYDodG8i+kk1YIt3f2mt7jH+u +EHqBYjIfvvo6g5MZz4KNz7Ewc6+sDyO8bmlXeFnHo6YAgCcaHVvVtGNCxCd1O5wW +HvUN985HHQYnFr7qzJaL9cPb735pP2hb0IXeywIDAQABAoIBAA5W7qWlQx+L3lJo +QJz/Styhsbx4UU+wWrl5CjmEa6V3LbHfU8naUw6xY+alRPkWrQ68W+swr1dkCd4z +XGF4fIYlx7v1WE5vv81lD0Ei/cXez7uiOYKTDYeVeyW405i7XMOKoTN7ucGiwCJf +U+5p1K12F2pmnVuoaDa2yuynO9hLBqf3SeQ8qd2dQvKLqL8JVLE+a1txl3YuV5Ap +PzUyLtGOmo5pIyKeeQ2dgR+AhnsUPDj5t0F1see6ysQVsNDk7i8Zcyfn2uWy4DPy +NcWu/zLilelKDiYqI2UH+Fm0RzkG7ce2UmNbrG4ESEPNfwMyzy8IUGv3sBxL8p9a +Xvtg7YkCgYEA7x9+cJNjs1DVxhTCatQrqWUwtwDiXZniz/WRUK7mQgX3mdFRhBhH +GjZCvWOz1muYYvkwPSDMzwjwuV3ItPSUp7sI9FWhkrYqG+lMLpKXrYLSj1Grc9pn +CZLQwmL9UegBUihBonm6bp+xJxbQeF/HStUWXP3xnWyRHBwUyAQC5v8CgYEAwarK +08U7NbRcrYBgzegn0n2z3iG16JR/3kLQt/MJAsbQAxavW98b8rUb3V7XvkECiTcD +74XuFdIAeeZeqlcsnYq2Gbr1tKCbTLHewztuFBwsQzeEmu1i81w0LeUaZqtB8HwQ +evRRQGaEZfIdsXCn+PiPb/O5zGJNTJTD3aE/9DUCgYAdYutw/kwEX2zGGQsDgeuT +t8HS26L2CdFb6TvghH37oywYlSbFaw5h5EUzbStOsI5bq3AIMx24W8rpnOLrihsy +ucOR82wV0Zk/MN6R4qYNRsSFpG3DoRWEkaxiFzQ2eqKe7B+UzgzhR3LH8P/Rq0Oc +qK9E4lhtFkiHAdRz+Do7FQKBgH8thkZtJcXNrHKvdGKjSstaiuybXJbgNdwiKmgx +7D/riRwOIJgHOpY2wparuqeQj3bGLwpy+/dOUcu7MX1RA9ZtCcp50PKN6Y4C3FN+ +ynngSlzVr3oB29IOQaHF6oFzgzjGcBgeKuFMsTM1PLSSU2wW5jLRbbi+8R4SL1Fy +m8nlAoGBAJsq8E6qkAErFkjHt7u1Pmp7iGdgoP8hDQ0NXH6BxU432j3cIT+g2W3y +K28wXuHGamDqA9PLq3lb55wEkHqR62mTBqt9nJAW6CmAsl1Appvtf7ynep5SSNZg +jLUllIz/D76Kb4AXehqfkLmU+X3a1dNofpDSqCr4AdEizZHbX8Zp +-----END RSA PRIVATE KEY----- diff --git a/Navicat_Keygen_Patch_By_DFoX/app.manifest b/Navicat_Keygen_Patch_By_DFoX/app.manifest index 2af2525..6fb1214 100644 --- a/Navicat_Keygen_Patch_By_DFoX/app.manifest +++ b/Navicat_Keygen_Patch_By_DFoX/app.manifest @@ -24,7 +24,7 @@