I locked a function to serial number, but even if I set a DateExpired serial number, It still can be run.
Expected to be terminated when using any Invalid Serial Number (Bad HWID, Date DateExpired, MaxBuildExpired)
Is there any option to do this? Thank you.
I'm not willing to do it myself because I have to add if(state != Success) everywhere, and I want to terminate program by VMP part.
Code: Select all
public class Class1
{
public static void Init()
{
Console.WriteLine("--- libB ---");
Console.WriteLine(VMProtect.SDK.GetCurrentHWID());
var s = System.IO.File.ReadAllText("serial.txt");
VMProtect.SDK.SetSerialNumber(s);
PrintSerialNumberData();
}
public static void PrintSerialNumberData()
{
Console.WriteLine("--- VMProtect Serial Number Data ---");
var state = VMProtect.SDK.GetSerialNumberState();
Console.WriteLine($"Serial Number State: {state}");
VMProtect.SerialNumberData data;
bool res = VMProtect.SDK.GetSerialNumberData(out data);
if (res)
{
Console.WriteLine($"State: {data.State}");
Console.WriteLine($"User Name: {data.UserName}");
Console.WriteLine($"E-Mail: {data.EMail}");
Console.WriteLine($"Expires: {data.Expires}");
Console.WriteLine($"Max Build: {data.MaxBuild}");
Console.WriteLine($"Running Time: {data.RunningTime}");
if (data.UserData != null)
{
Console.WriteLine($"User Data: {BitConverter.ToString(data.UserData)}");
}
else
{
Console.WriteLine("User Data: (null)");
}
}
else
{
Console.WriteLine("Failed to get serial number data.");
}
Console.WriteLine("Calling Protected Function ...");
Function();
Console.WriteLine("------------------------------------");
}
[Obfuscation(Feature = "ultralockbykey")]
public static void Function()
{
Console.WriteLine("--- VMProtect Function ---");
}
}
Code: Select all
--- libB ---
KEHYRMkgWuE/9NEgYmry5eITssrGdKtm5mHLkQ==
--- VMProtect Serial Number Data ---
Serial Number State: DateExpired
State: DateExpired
User Name: 123
E-Mail:
Expires: 2025/2/23 0:00:00
Max Build: 2027/1/23 0:00:00
Running Time: 30
User Data:
Calling Protected Function ...
--- VMProtect Function --- <--------- Not terminated.