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