@ -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 , 0x7 0, 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 , 0x7 4, 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 . RegPrivateKey NP ) ;
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 ( ) ;
}
}
}
}