Files
panaceantech/puttysrc/SMFTP/IntelliProtector.cs

930 lines
28 KiB
C#

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2010. IntelliProtector.com
// Web site: http://intelliprotector.com
// Version: v2.5
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace netprotector.api
{
internal delegate void dVoid_NoParams();
internal delegate void dVoid_BoolParam(out bool b1);
internal delegate void dVoid_IntParam(out int i1);
internal delegate void dVoid_2IntParam(out int i1, int i2);
internal delegate void dVoid_5IntParams(out int i1, out int i2, out int i3, out int i4, out int i5);
internal delegate void dVoid_StringBuilderParam([MarshalAs(UnmanagedType.LPWStr)] StringBuilder s1, int iMaxLength);
internal delegate void dBool_StringParam(out bool res, [MarshalAs(UnmanagedType.LPWStr)]String s1, int iMaxLength);
internal delegate void dBool_StringOnlyParam(out bool res, [MarshalAs(UnmanagedType.LPWStr)]String s1);
internal delegate void dBool_StringStringParam(out bool res, [MarshalAs(UnmanagedType.LPWStr)]String s1, [MarshalAs(UnmanagedType.LPWStr)]String s2);
}
namespace IntelliProtectorService.attributes
{
internal class Encrypt : Attribute { }
internal class GetBuyNowLinkAttribute : Attribute { }
internal class IsSoftwareProtectedAttribute : Attribute { }
internal class IsSoftwareRegisteredAttribute : Attribute { }
internal class GetTrialDaysCountAttribute : Attribute { }
internal class GetTrialUnitsCountAttribute : Attribute { }
internal class GetTrialDaysLeftCountAttribute : Attribute { }
internal class GetTrialUnitsLeftCountAttribute : Attribute { }
internal class GetTrialLaunchesCountAttribute : Attribute { }
internal class GetTrialLaunchesLeftCountAttribute : Attribute { }
internal class ShowRegistrationWindowAttribute : Attribute { }
internal class IsTrialElapsedAttribute : Attribute { }
internal class GetRenewalPurchaseLinkAttribute : Attribute { }
internal class GetLicenseTypeAttribute : Attribute { }
internal class GetLicenseExpirationDaysCountAttribute : Attribute { }
internal class GetLicenseExpirationDaysLeftCountAttribute : Attribute { }
internal class GetSupportExpirationDaysCountAttribute : Attribute { }
internal class GetSupportExpirationDaysLeftCountAttribute : Attribute { }
internal class GetCurrentProductVersionAttribute : Attribute { }
internal class GetCustomerNameAttribute : Attribute { }
internal class GetCustomerEMailAttribute : Attribute { }
internal class GetLicenseCodeAttribute : Attribute { }
internal class RegisterSoftwareAttribute : Attribute { }
internal class RenewLicenseCodeAttribute : Attribute { }
internal class GetCurrentActivationDateAttribute : Attribute { }
internal class GetCurrentRegistrationDateAttribute : Attribute { }
internal class GetFirstRegistrationDateAttribute : Attribute { }
internal class GetOrderDateAttribute : Attribute { }
internal class GetLicenseExpirationDateAttribute : Attribute { }
internal class GetProtectionDateAttribute : Attribute { }
internal class GetSupportExpirationDateAttribute : Attribute { }
internal class GetSupportExpirationProductVersionAttribute : Attribute { }
internal class GetIntelliProtectorVersionAttribute : Attribute { }
internal class CreateRegistrationRequestCertificateAttribute : Attribute { }
internal class UseRegistrationResponseCertificateAttribute : Attribute { }
internal class SystemFunction1Attribute : Attribute { }
}
namespace IntelliProtectorService
{
internal class IntelliProtector
{
public static double Version_2_5()
{
return 2.5f;
}
#if DEBUG
public static bool IsInDebugMode()
{
return true;
}
#endif
public enum enUnitDimension
{
eudMinutes,
eudHours,
eudDays,
eudWeeks,
eudMonths
};
private class Init32
{
[DllImport("JitHookCore.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Init")]
public static extern void Init();
};
private class Init64
{
[DllImport("JitHookCoreX64.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "Init")]
public static extern void Init();
};
public static bool Init()
{
try
{
bool tryLoadX64 = false;
try
{
Init32.Init();
}
catch (BadImageFormatException)
{
tryLoadX64 = true;
}
if (tryLoadX64)
{
try
{
Init64.Init();
}
catch (BadImageFormatException)
{
return false;
}
}
return true;
}
catch (System.Exception)
{
return true;
}
}
#region GetBuyNowLink
[attributes.GetBuyNowLinkAttribute]
public static String GetBuyNowLink()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetBuyNowLinkTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetBuyNowLinkTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region IsSoftwareProtected
[attributes.IsSoftwareProtected]
public static bool IsSoftwareProtected()
{
UInt64 address = 0;
object[] obj = new object[] { false };
Type tp = typeof(netprotector.api.dVoid_BoolParam);
IsSoftwareProtectedTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void IsSoftwareProtectedTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(bool))
return;
obj[0] = false;
}
#endregion
#region IsSoftwareRegistered
[attributes.IsSoftwareRegistered]
public static bool IsSoftwareRegistered()
{
UInt64 address = 0;
object[] obj = new object[] { false };
Type tp = typeof(netprotector.api.dVoid_BoolParam);
IsSoftwareRegisteredTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void IsSoftwareRegisteredTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(bool))
return;
obj[0] = false;
}
#endregion
#region GetTrialDaysCount
[attributes.GetTrialDaysCount]
public static int GetTrialDaysCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetTrialDaysCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
protected static void GetTrialDaysCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetTrialUnitsCount
[attributes.GetTrialUnitsCount]
public static int GetTrialUnitsCount(int dimensions)
{
UInt64 address = 0;
object[] obj = new object[] { (int)0, dimensions };
Type tp = typeof(netprotector.api.dVoid_2IntParam);
GetTrialUnitsCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetTrialUnitsCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) && obj[1].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetTrialDaysLeftCount
[attributes.GetTrialDaysLeftCount]
public static int GetTrialDaysLeftCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetTrialDaysLeftCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetTrialDaysLeftCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetTrialUnitsLeftCount
[attributes.GetTrialUnitsLeftCount]
public static int GetTrialUnitsLeftCount(int dimension)
{
UInt64 address = 0;
object[] obj = new object[] { (int)0, dimension };
Type tp = typeof(netprotector.api.dVoid_2IntParam);
GetTrialUnitsLeftCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetTrialUnitsLeftCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) && obj[1].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetTrialLaunchesCount
[attributes.GetTrialLaunchesCount]
public static int GetTrialLaunchesCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetTrialLaunchesCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetTrialLaunchesCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetTrialLaunchesLeftCount
[attributes.GetTrialLaunchesLeftCount]
public static int GetTrialLaunchesLeftCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetTrialLaunchesLeftCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetTrialLaunchesLeftCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region ShowRegistrationWindow
[attributes.ShowRegistrationWindow]
public static void ShowRegistrationWindow()
{
UInt64 address = 0;
Type tp = typeof(netprotector.api.dVoid_NoParams);
ShowRegistrationWindowTest(address, null, tp);
}
[attributes.Encrypt]
public static void ShowRegistrationWindowTest(UInt64 address, object[] obj, Type delegateType)
{
}
#endregion
#region IsTrialElapsed
[attributes.IsTrialElapsed]
public static bool IsTrialElapsed()
{
UInt64 address = 0;
object[] obj = new object[] { false };
Type tp = typeof(netprotector.api.dVoid_BoolParam);
IsTrialElapsedTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void IsTrialElapsedTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(bool))
return;
obj[0] = false;
}
#endregion
#region GetRenewalPurchaseLink
[attributes.GetRenewalPurchaseLink]
public static String GetRenewalPurchaseLink()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetRenewalPurchaseLinkTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetRenewalPurchaseLinkTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region GetLicenseType
[attributes.GetLicenseType]
public static int GetLicenseType()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetLicenseTypeTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetLicenseTypeTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetLicenseExpirationDaysCount
[attributes.GetLicenseExpirationDaysCount]
public static int GetLicenseExpirationDaysCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetLicenseExpirationDaysCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetLicenseExpirationDaysCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetLicenseExpirationDaysLeftCount
[attributes.GetLicenseExpirationDaysLeftCount]
public static int GetLicenseExpirationDaysLeftCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetLicenseExpirationDaysLeftTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetLicenseExpirationDaysLeftTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetSupportExpirationDaysCount
[attributes.GetSupportExpirationDaysCount]
public static int GetSupportExpirationDaysCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetSupportExpirationDaysCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetSupportExpirationDaysCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetSupportExpirationDaysLeftCount
[attributes.GetSupportExpirationDaysLeftCount]
public static int GetSupportExpirationDaysLeftCount()
{
UInt64 address = 0;
object[] obj = new object[] { (int)0 };
Type tp = typeof(netprotector.api.dVoid_IntParam);
GetSupportExpirationDaysLeftCountTest(address, obj, tp);
return (int)obj[0];
}
[attributes.Encrypt]
public static void GetSupportExpirationDaysLeftCountTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int))
return;
obj[0] = -1;
}
#endregion
#region GetCurrentProductVersion
[attributes.GetCurrentProductVersion]
public static String GetCurrentProductVersion()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetCurrentProductVersionTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetCurrentProductVersionTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region GetCustomerName
[attributes.GetCustomerName]
public static String GetCustomerName()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetCustomerNameTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetCustomerNameTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region GetCustomerEMail
[attributes.GetCustomerEMail]
public static String GetCustomerEMail()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetCustomerEMailTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetCustomerEMailTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region GetLicenseCode
[attributes.GetLicenseCode]
public static String GetLicenseCode()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetLicenseCodeTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetLicenseCodeTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region RegisterSoftware
[attributes.RegisterSoftware]
public static bool RegisterSoftware(string licenseKey)
{
UInt64 address = 0;
bool res = false;
object[] obj = new object[] { res, licenseKey, licenseKey.Length };
Type tp = typeof(netprotector.api.dBool_StringParam);
RegisterSoftwareTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void RegisterSoftwareTest(UInt64 address, object[] obj, Type delegateType)
{
obj[0] = false;
}
#endregion
#region RenewLicenseCode
[attributes.RenewLicenseCode]
public static bool RenewLicenseCode(string renewalCode)
{
UInt64 address = 0;
object[] obj = new object[] { false, renewalCode, renewalCode.Length };
Type tp = typeof(netprotector.api.dBool_StringParam);
RenewLicenseCodeTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void RenewLicenseCodeTest(UInt64 address, object[] obj, Type delegateType)
{
obj[0] = false;
}
#endregion
#region GetCurrentActivationDate
[attributes.GetCurrentActivationDate]
public static DateTime GetCurrentActivationDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetCurrentActivationDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetCurrentActivationDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetCurrentRegistrationDate
[attributes.GetCurrentRegistrationDate]
public static DateTime GetCurrentRegistrationDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetCurrentRegistrationDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetCurrentRegistrationDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetFirstRegistrationDate
[attributes.GetFirstRegistrationDate]
public static DateTime GetFirstRegistrationDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetFirstRegistrationDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetFirstRegistrationDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetOrderDate
[attributes.GetOrderDate]
public static DateTime GetOrderDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetOrderDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetOrderDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetLicenseExpirationDate
[attributes.GetLicenseExpirationDate]
public static DateTime GetLicenseExpirationDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetLicenseExpirationDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetLicenseExpirationDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetProtectionDate
[attributes.GetProtectionDate]
public static DateTime GetProtectionDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetProtectionDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetProtectionDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetSupportExpirationDate
[attributes.GetSupportExpirationDate]
public static DateTime GetSupportExpirationDate()
{
UInt64 address = 0;
object[] obj = new object[] { 0, 0, 0, 0, 0 };
Type tp = typeof(netprotector.api.dVoid_5IntParams);
GetSupportExpirationDateTest(address, obj, tp);
if ((int)obj[0] < 0)
return DateTime.MinValue;
return new DateTime((int)obj[0], (int)obj[1], (int)obj[2], (int)obj[3], (int)obj[4], 0);
}
[attributes.Encrypt]
protected static void GetSupportExpirationDateTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(int) ||
obj[1].GetType() != typeof(int) ||
obj[2].GetType() != typeof(int) ||
obj[3].GetType() != typeof(int) ||
obj[4].GetType() != typeof(int))
{
return;
}
obj[0] = -1;
obj[1] = -1;
obj[2] = -1;
obj[3] = -1;
obj[4] = -1;
}
#endregion
#region GetSupportExpirationProductVersion
[attributes.GetSupportExpirationProductVersion]
public static String GetSupportExpirationProductVersion()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetSupportExpirationProductVersionTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetSupportExpirationProductVersionTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region GetIntelliProtectorVersion
[attributes.GetIntelliProtectorVersion]
public static String GetIntelliProtectorVersion()
{
UInt64 address = 0;
int ciMinLength = 0;
int ciMaxLength = 1024;
StringBuilder rValue = new StringBuilder(ciMaxLength);
object[] obj = new object[] { rValue, ciMaxLength - ciMinLength };
Type tp = typeof(netprotector.api.dVoid_StringBuilderParam);
GetIntelliProtectorVersionTest(address, obj, tp);
return rValue.ToString();
}
[attributes.Encrypt]
protected static void GetIntelliProtectorVersionTest(UInt64 address, object[] obj, Type delegateType)
{
if (obj[0].GetType() != typeof(StringBuilder))
return;
string strLink = "";
if ((int)obj[1] >= strLink.Length)
((StringBuilder)obj[0]).Append(strLink);
}
#endregion
#region CreateRegistrationRequestCertificate
[attributes.CreateRegistrationRequestCertificate]
public static bool CreateRegistrationRequestCertificate(string path, string licenseCode)
{
UInt64 address = 0;
bool res = false;
object[] obj = new object[] { res, path, licenseCode };
Type tp = typeof(netprotector.api.dBool_StringStringParam);
CreateRegistrationRequestCertificateTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void CreateRegistrationRequestCertificateTest(UInt64 address, object[] obj, Type delegateType)
{
obj[0] = true;
}
#endregion
#region UseRegistrationResponseCertificate
[attributes.UseRegistrationResponseCertificate]
public static bool UseRegistrationResponseCertificate(string path)
{
UInt64 address = 0;
bool res = false;
object[] obj = new object[] { res, path };
Type tp = typeof(netprotector.api.dBool_StringOnlyParam);
UseRegistrationResponseCertificateTest(address, obj, tp);
return (bool)obj[0];
}
[attributes.Encrypt]
protected static void UseRegistrationResponseCertificateTest(UInt64 address, object[] obj, Type delegateType)
{
obj[0] = true;
}
#endregion
#region SystemFunction1
[attributes.SystemFunction1]
protected static void SystemFunction1(UInt64 address, object[] parameters, Type delegateType)
{
Delegate delegateFunc = Marshal.GetDelegateForFunctionPointer((IntPtr)address, delegateType);
delegateFunc.DynamicInvoke(parameters);
}
#endregion
}
}