diff --git a/keygen.userprefs b/keygen.userprefs
new file mode 100644
index 0000000..1925773
--- /dev/null
+++ b/keygen.userprefs
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/keygen/Program.cs b/keygen/Program.cs
index adab7ae..9cb613e 100644
--- a/keygen/Program.cs
+++ b/keygen/Program.cs
@@ -1,4 +1,6 @@
using System;
+using System.IO;
+using System.Management;
using System.Security.Cryptography;
using System.Text;
@@ -6,7 +8,61 @@ namespace keygen
{
class Program
{
- private static string GetCodedKey(string userHwk)
+ private static readonly string PasswordHash = "P@sS_x_w0rd";
+ private static readonly string SaltKey = "S@LT_&_KEY";
+ private static readonly string VIKey = "@1B2c3D4_e5F6g7H8@";
+
+ public static string Encrypt(string plainText)
+ {
+ byte[] bytes1 = Encoding.UTF8.GetBytes(plainText);
+ byte[] bytes2 = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(32);
+ RijndaelManaged rijndaelManaged = new RijndaelManaged();
+ rijndaelManaged.Mode = CipherMode.CBC;
+ rijndaelManaged.Padding = PaddingMode.Zeros;
+ ICryptoTransform encryptor = rijndaelManaged.CreateEncryptor(bytes2, Encoding.ASCII.GetBytes(VIKey));
+ byte[] array;
+ using (MemoryStream memoryStream = new MemoryStream())
+ {
+ using (CryptoStream cryptoStream = new CryptoStream((Stream)memoryStream, encryptor, CryptoStreamMode.Write))
+ {
+ cryptoStream.Write(bytes1, 0, bytes1.Length);
+ cryptoStream.FlushFinalBlock();
+ array = memoryStream.ToArray();
+ cryptoStream.Close();
+ }
+ memoryStream.Close();
+ }
+ return Convert.ToBase64String(array);
+ }
+
+ public static string Decrypt(string encryptedText)
+ {
+ byte[] buffer = Convert.FromBase64String(encryptedText);
+ byte[] bytes = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(32);
+ RijndaelManaged rijndaelManaged = new RijndaelManaged();
+ rijndaelManaged.Mode = CipherMode.CBC;
+ rijndaelManaged.Padding = PaddingMode.None;
+ ICryptoTransform decryptor = rijndaelManaged.CreateDecryptor(bytes, Encoding.ASCII.GetBytes(VIKey));
+ MemoryStream memoryStream = new MemoryStream(buffer);
+ CryptoStream cryptoStream = new CryptoStream((Stream)memoryStream, decryptor, CryptoStreamMode.Read);
+ byte[] numArray = new byte[buffer.Length];
+ int count = cryptoStream.Read(numArray, 0, numArray.Length);
+ memoryStream.Close();
+ cryptoStream.Close();
+ return Encoding.UTF8.GetString(numArray, 0, count).TrimEnd("\0".ToCharArray());
+ }
+
+ public static string GetHDDSerialNumber(string drive)
+ {
+ if (string.IsNullOrEmpty(drive) || drive == null)
+ drive = "C";
+ ManagementObject managementObject = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");
+ managementObject.Get();
+ return managementObject["VolumeSerialNumber"].ToString();
+ }
+
+
+ private static string GetCodedKey(string userHwk)
{
string input = userHwk.Substring(12, 4) + "T" + userHwk.Substring(24, 4) + "H" + userHwk.Substring(8, 4) + "O" + userHwk.Substring(16, 4) + "M" + userHwk.Substring(28, 4) + "S" + userHwk.Substring(4, 4) + "O" + userHwk.Substring(20, 4) + "N" + userHwk.Substring(0, 4);
using (MD5 md5Hash = MD5.Create())
@@ -28,9 +84,33 @@ namespace keygen
return stringBuilder.ToString();
}
+
+ static string GetLicenceForCutter()
+ {
+ var serial = GetHDDSerialNumber("C");
+
+ var array_LicenseLineItemsEncrypted = new string[16];
+ array_LicenseLineItemsEncrypted[0] = Encrypt("Paid");
+ array_LicenseLineItemsEncrypted[1] = Encrypt(serial);
+ array_LicenseLineItemsEncrypted[2] = Encrypt("1");
+ array_LicenseLineItemsEncrypted[3] = Encrypt("00.00.0000");
+
+ var sb = new StringBuilder();
+ sb.Append(array_LicenseLineItemsEncrypted[0] + "\r\n");
+ sb.Append(array_LicenseLineItemsEncrypted[1] + "\r\n");
+ sb.Append(array_LicenseLineItemsEncrypted[2] + "\r\n");
+ sb.Append(array_LicenseLineItemsEncrypted[3]);
+
+ return sb.ToString();
+ }
+
static void Main(string[] args)
{
- Console.Write("Please enter hardware ID: ");
+ Console.WriteLine("You cutter license key is: ");
+ Console.Write(GetLicenceForCutter());
+ Console.WriteLine("----------------------------- COPY UNTIL THIS LINE ------------------------- ");
+
+ Console.Write("Please enter hardware ID: ");
var key = Console.ReadLine();
if (key == null)
{
diff --git a/keygen/bin/Debug/keygen.exe b/keygen/bin/Debug/keygen.exe
old mode 100644
new mode 100755
index 11b831a..977fba2
Binary files a/keygen/bin/Debug/keygen.exe and b/keygen/bin/Debug/keygen.exe differ
diff --git a/keygen/bin/Debug/keygen.exe.mdb b/keygen/bin/Debug/keygen.exe.mdb
new file mode 100644
index 0000000..ff31b94
Binary files /dev/null and b/keygen/bin/Debug/keygen.exe.mdb differ
diff --git a/keygen/bin/Debug/keygen.pdb b/keygen/bin/Debug/keygen.pdb
deleted file mode 100644
index aefebed..0000000
Binary files a/keygen/bin/Debug/keygen.pdb and /dev/null differ
diff --git a/keygen/keygen.csproj b/keygen/keygen.csproj
index 43fbab4..a112e1e 100644
--- a/keygen/keygen.csproj
+++ b/keygen/keygen.csproj
@@ -41,6 +41,7 @@
+
diff --git a/keygen/keygen.sln b/keygen/keygen.sln
new file mode 100644
index 0000000..25f7fcd
--- /dev/null
+++ b/keygen/keygen.sln
@@ -0,0 +1,17 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "keygen", "keygen.csproj", "{D4C80689-6490-4754-9453-D0EF6081FCDB}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D4C80689-6490-4754-9453-D0EF6081FCDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D4C80689-6490-4754-9453-D0EF6081FCDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D4C80689-6490-4754-9453-D0EF6081FCDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D4C80689-6490-4754-9453-D0EF6081FCDB}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/keygen/keygen.userprefs b/keygen/keygen.userprefs
new file mode 100644
index 0000000..93e3a8d
--- /dev/null
+++ b/keygen/keygen.userprefs
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/keygen/obj/Debug/.NETFramework,Version=v4.5.2.AssemblyAttribute.cs b/keygen/obj/Debug/.NETFramework,Version=v4.5.2.AssemblyAttribute.cs
new file mode 100644
index 0000000..d66e7ec
--- /dev/null
+++ b/keygen/obj/Debug/.NETFramework,Version=v4.5.2.AssemblyAttribute.cs
@@ -0,0 +1,2 @@
+//
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = "")]
diff --git a/keygen/obj/Debug/keygen.csproj.FilesWrittenAbsolute.txt b/keygen/obj/Debug/keygen.csproj.FilesWrittenAbsolute.txt
new file mode 100644
index 0000000..77fb9f4
--- /dev/null
+++ b/keygen/obj/Debug/keygen.csproj.FilesWrittenAbsolute.txt
@@ -0,0 +1,6 @@
+/Volumes/MacData/Projects/laser-crypto/keygen/obj/Debug/.NETFramework,Version=v4.5.2.AssemblyAttribute.cs
+/Volumes/MacData/Projects/laser-crypto/keygen/bin/Debug/keygen.exe.config
+/Volumes/MacData/Projects/laser-crypto/keygen/bin/Debug/keygen.exe.mdb
+/Volumes/MacData/Projects/laser-crypto/keygen/bin/Debug/keygen.exe
+/Volumes/MacData/Projects/laser-crypto/keygen/obj/Debug/keygen.exe
+/Volumes/MacData/Projects/laser-crypto/keygen/obj/Debug/keygen.exe.mdb
diff --git a/keygen/obj/Debug/keygen.exe b/keygen/obj/Debug/keygen.exe
old mode 100644
new mode 100755
index 11b831a..977fba2
Binary files a/keygen/obj/Debug/keygen.exe and b/keygen/obj/Debug/keygen.exe differ
diff --git a/keygen/obj/Debug/keygen.exe.mdb b/keygen/obj/Debug/keygen.exe.mdb
new file mode 100644
index 0000000..ff31b94
Binary files /dev/null and b/keygen/obj/Debug/keygen.exe.mdb differ
diff --git a/keygen/obj/Debug/keygen.pdb b/keygen/obj/Debug/keygen.pdb
deleted file mode 100644
index aefebed..0000000
Binary files a/keygen/obj/Debug/keygen.pdb and /dev/null differ