Цитата:
Сообщение от qsh
Ты же знаешь, что нужно сделать
Сам говоришь, что есть группа для триала ...
Решений много но самых рациональных будет два.
Есть вызов базы предметов для триала(так как ты говоришь что он некоторые предметы закупает на триале) тебе придётся найти вызов этой функции и заменить функцию на функцию оплаченной версии.
Либо найти такую же базу для триала и заменить на базу полноценной версии.
|
Группа для триала - это образоное выражение, т.е. это теория и то правило, что на триале можно продавать эти книги.
База для триала и база для полной версии одни и теже, просто лицензия активируется файлом лицензии. В посте выше я описывал иерархию в игре и вид в боте.
Найти бы ещё этот вызов, я даже не представляю как он может выглядеть..
Добавлено через 30 минут
При изучение сайта msdn наткнулся на
http://msdn.microsoft.com/ru-ru/libr...secontext.aspx
После решил посмотреть код, есть ли такое в коде, но до конца не понял, что тут делается. Возвращаются пустые значения.. А это нам не нужно, как узнать какое значение должно вернуться?
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
if (obj is int)
{
return ((((int) obj) >= 0x0) && (this == ((uint) obj)));
}
C9e.C7e ce = obj as C9e.C7e;
if (ce == null)
{
return false;
}
return (CIe.Je(this, ce) == ((CJe) 0x0));
}
Code: C
Добавлено через 59 минут
[CLe(Ge=true, Qe=true, Be=true)]
internal class Cle
{
private static CKe Be = new CKe();
internal static bool Ne = false;
public static void ge(string string_0)
{
lock (C9e.Qwe)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cpe), null, true, true, false, false, "", string_0, null, false, false, false);
}
}
public static CKe Ge()
{
if (!Ne)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cle), null, true, false, false, false, "", "", null, false, false, false);
}
return Be;
}
public static void Je(byte[] byte_0)
{
lock (C9e.Qwe)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cpe), null, true, true, false, false, "", "", byte_0, false, false, false);
}
}
public static void ke(byte[] byte_0)
{
try
{
LicenseContext currentContext = LicenseManager.CurrentContext;
if (currentContext != null)
{
currentContext.SetSavedLicenseKey(typeof(ILLicenseModule), Convert.ToBase64String(byte_0));
}
}
catch
{
}
string str = C9e.Qe("<RSAKeyValue><Modulus>qxjDeOh60EDrX85MZvD/h3Q0b0ukuqSDs118nZF1vJ+L5ulVuP61T/49t/Nbw5vhWl4cv7X5jxsLVzcvsn4vZWzrX2P26R0An7GCuIqOGcxXFJuhToU0Qf8WBrMpQaAisGh098FbgaWa930CksfJbIwb4R5CLxnAOX1p7AU7kK1DZJlY/JzJFd5KIPQ+kJ6UfD3zq/7ObjNNVJOkVjOpZ/oO4H1FvhsdY+Xgutek1RLKVnhysAdqgL7Dqsk08/kD30JMubsEys03n8/aUytkcuH3mmuCjyUN8YNQaw1b12UgYIDUBFS+Q7PMMCoSaugma8OVnPINVMmy4r4i2czwpQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");
try
{
C9e.smethod_2(C9e.smethod_0(str), byte_0);
}
catch (Exception)
{
try
{
C9e.smethod_2(C9e.ke(str), byte_0);
}
catch
{
}
}
}
public static byte[] Qe()
{
return C9e.QWe;
}
public static void smethod_0(CKe cke_0)
{
Be = cke_0;
}
public static void smethod_1(string string_0)
{
ke(C9e.fe(string_0));
}
}
Code: C
Заинтересовал код выше, а именно отрезок
public static void ge(string string_0)
{
lock (C9e.Qwe)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cpe), null, true, true, false, false, "", string_0, null, false, false, false);
}
}
public static CKe Ge()
{
if (!Ne)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cle), null, true, false, false, false, "", "", null, false, false, false);
}
return Be;
}
public static void Je(byte[] byte_0)
{
lock (C9e.Qwe)
{
new C9e().Oe(LicenseManager.CurrentContext, typeof(Cpe), null, true, true, false, false, "", "", byte_0, false, false, false);
}
}
Code: C
Добавлено через 1 час 6 минут
И самое интересное такие проверки не только тут, ещё и в других местах.