commit 992565af384ed682a9f6f30b45cee035df7cc08b Author: ParanormalActivity Date: Sun Sep 17 20:42:42 2023 +0300 Enviar arquivos para "/" diff --git a/Definitions.cs b/Definitions.cs new file mode 100644 index 0000000..b89de1c --- /dev/null +++ b/Definitions.cs @@ -0,0 +1,15 @@ +using System; + +namespace VMPKeygen +{ + enum SerialNumberChunks : byte + { + Version = 0x01, // 1 byte of data - version + UserName = 0x02, // 1 + N bytes - length + N bytes of customer's name (without enging \0). + Email = 0x03, // 1 + N bytes - length + N bytes of customer's email (without ending \0). + ProductCode = 0x07, // 8 bytes - used for decrypting some parts of exe-file + UserData = 0x08, // 1 + N bytes - length + N bytes of user data + MaxBuild = 0x09, // 4 bytes - (year << 16) + (month << 8) + (day) + End = 0xFF // 4 bytes - checksum: the first four bytes of sha-1 hash from the data before that chunk + }; +} diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..c611976 --- /dev/null +++ b/Program.cs @@ -0,0 +1,17 @@ +using System; +using System.IO; + +namespace VMPKeygen +{ + public class _Main + { + static void Main(string[] args) + { + var date1 = new DateTime(2024, 5, 1, 8, 0, 0); + using (StreamWriter outputFile = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "VMP.txt"), true)) + { + outputFile.Write(Keygen.GenerateKey(1, "Paranormal", "paranormalactivity22@protonmail.com", date1)); + } + } + } +} diff --git a/RSA.cs b/RSA.cs new file mode 100644 index 0000000..27d8feb --- /dev/null +++ b/RSA.cs @@ -0,0 +1,45 @@ +using System; +using System.Numerics; + +namespace VMPKeygen +{ + public static class Rsa + { + private const string PublicExpB64 = "AAEAAQ=="; + private const string PrivateExpB64 = "CXHXWx/Z9JqetQWwFpvmD72wrDiqQOXMQs18fhAMjWCfJ/f2r3p2io+iB3gqIuu3LGH3WJ8PQuIzvDMnbwAx+8BbAyYhWhGEbxDdifndjQ2KlDV2Hu8NQgCbc5Wjok0rKwQ+Bxeb2i1+Gu3FsnhRNv9RhSyiwcnH/4Q3+ySE3AFAcAUwuQABePjDKCYOfIyx7RKz5h0sG+v10nkPuuCGPSnh+AXDTBIJFH+yNIjkrfweC9A3dv7URyRJumAMgm/SnDU76rTkFw9vZpupQeMtMtIsZIkeFSngip9KImD5zzbb2vKD63Cg9W/Yvqgvro/d+cR5n6P0t4DzfanNIFRGpFrX8/Q5VjuezDKw/4YbsFYwOhzJPRxglmCEjh8cpfxJ11cUXa/hNBV4c4Dp29D0F+w01OlBnFb1Ck9VXur2qJCsqcWtjsnt/VITsxa1jzr+3C2+uvaI4JSd7yLEnTqSaSsRfWuhDXgjY/YWhmyvMzeQeXBGOXKt2j2lY2Fm0WJx"; + private const string ModulusB64 = "pwUqwaM8IOukyx06Lvi5YNQ70JE7pwg7K+pmM/vCe1CUseHKFM1v1m11geDjVsAt38AnaiFs3JhtTs80ySCIxOSyvMw6Cd52k6N6dn7LAx1mxQLJLhYeMMJYbplMHnMLwYN0+IO58OVbEqRyaJV2ExolnK2EYZL7QRXujGY7/sOoOMF3p6GsWJK6kkBJICIoL9hHWBQMO6/9rmls/+EhaWuP80Vx0+H2OlrQ58K+TJeyE393cvb4QufiEPpCNaB50Klee9QUnsjSW/bTnmGn4Bi5+cowRbawUY73Q5I58fMAXiH9ueDPuNMR9YKDgW9GxunLmYkbuwqIp/v7kw3cfMBM0ihhB0B8UhjyAMAGLzJWX3H/H6Zrz41g9PbPjTAxfsTaCrxoqjaTaO4zk9YsI//VX9Fhivcy913SevBpNandziGfYH/oHW2xDy9AfwkE1wuIBlLj7c/k8U1YmmRAmkoCzlmB7EU4ClNltboh1uARUQ6wW30upppnuYhGkTy7"; + + static BigInteger B2Bi(byte[] b) //reverse & make positive + { + Array.Reverse(b); + var b2 = new byte[b.Length + 1]; + Array.Copy(b, b2, b.Length); + return new BigInteger(b2); + } + + private static readonly BigInteger PublicExp = B2Bi(Convert.FromBase64String(PublicExpB64)); + private static readonly BigInteger PrivateExp = B2Bi(Convert.FromBase64String(PrivateExpB64)); + private static readonly BigInteger Modulus = B2Bi(Convert.FromBase64String(ModulusB64)); + + public static byte[] Encrypt(byte[] paddedData) + { + var x = B2Bi(paddedData); + var y = BigInteger.ModPow(x, PrivateExp, Modulus); + + byte[] ret = y.ToByteArray(); + Array.Resize(ref ret, paddedData.Length); + Array.Reverse(ret); + return ret; + } + + public static byte[] Decrypt(byte[] data) + { + var x = B2Bi(data); + var y = BigInteger.ModPow(x, PublicExp, Modulus); + + byte[] ret = y.ToByteArray(); + Array.Reverse(ret); + return ret; + } + } +} diff --git a/VMprotect Keygen.csproj b/VMprotect Keygen.csproj new file mode 100644 index 0000000..a449d6b --- /dev/null +++ b/VMprotect Keygen.csproj @@ -0,0 +1,9 @@ + + + + Exe + net5.0 + VMprotect_Keygen + + + diff --git a/VMprotect Keygen.sln b/VMprotect Keygen.sln new file mode 100644 index 0000000..bd4a756 --- /dev/null +++ b/VMprotect Keygen.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.32014.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VMprotect Keygen", "VMprotect Keygen.csproj", "{274C9487-C551-4073-907E-20150A455131}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {274C9487-C551-4073-907E-20150A455131}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {274C9487-C551-4073-907E-20150A455131}.Debug|Any CPU.Build.0 = Debug|Any CPU + {274C9487-C551-4073-907E-20150A455131}.Release|Any CPU.ActiveCfg = Release|Any CPU + {274C9487-C551-4073-907E-20150A455131}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B2856531-5979-42B7-B68C-45BB59600C5B} + EndGlobalSection +EndGlobal