Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
Shayne Написал:Поставить в варианте darkevil'a значение 0 или -1 и она поидее не будет закрываться, не?
У меня например так и не получилось отредактировать бинарник HEX не осилил :-D
Сообщений: 855
Тем: 9
Зарегистрирован: Jul 2011
Репутация:
2,852
darkevil Написал:xolseg советую вооружиться все же инструментом вроде ida и почитать хотя бы http://habrahabr.ru/post/154419/
1010101010
Aka Stels
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
Shayne Написал:1010101010
Я читал, это мне не помогло))))
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
xolseg Написал:Я читал, это мне не помогло))))
Как успехи?
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
05-09-2013, 05:35 AM
(Сообщение последний раз редактировалось: 05-09-2013, 03:36 PM xolseg.)
darkevil Написал:Как успехи?
Изменил то число на 0xFFFFFF...
Ищу как выключить эту проверку вообще. Пока что не очень получается.
Программа закрывается рандомно, поймать момент не могу.
Нашел ещё в гугле http://codepaste.ru/12743/ - это, думаю относится к боту, но мало чем поможет. :-)
Добавлено через 53 минуты
C8e.C9e+Cce..ctor()
[src="c#"]public Cce()
{
this.string_0 = "";
this.xe = new ArrayList();
this.Be = true;
this.Ne = true;
this.string_1 = "";
this.ce = true;
this.Re = true;
this.Se = "";
this.Ke = true;
this.De = "http://";
this.ee = 0x1c;
this.Ue = C9e.Cke.se;
this.le = 0x5;
this.ue = 0x1f;
this.dateTime_0 = DateTime.Now.AddDays(1.0);
this.Ae = 0x14;
this.be = 0xa;
this.Pe = 0x3c;
this.Ee = 0x1;
this.we = true;
this.Ye = true;
this.Ie = true;
this.bool_3 = true;
this.ae = true;
this.He = true;
this.We = true;
this.qe = true;
this.je = true;
this.bool_4 = true;
this.Te = true;
this.Fe = true;
this.oe = "You are on day [current_days] of your [max_days] day evaluation period. Your trial period is expired! You need to purchase a license to run this software.";
this.pe = "Your expiration date([expiration_date]) is reached! You need to purchase a license file to run this software.";
this.ze = "You have used this software [current_execution] times out of a maximum of [max_executions]. You have [executions_left] uses left. Your trial period is expired! You need to purchase a license to run this software.";
this.string_2 = "This software won't run without a valid license file. Either a valid license file could not be found or your license file is expired.";
this.string_3 = "You can only run maximal [max_instances] instances of this software at the same time.";
this.string_4 = "You are on minute [current_global] of your [max_global] minutes evaluation period. Your trial period is expired! You need to purchase a license to run this software.";
this.string_5 = "Your runtime is exceeded!";
this.string_6 = "Nag Screen! This message will disappear when a valid license file is installed.";
this.string_7 = "";
this.string_8 = "*.license";
this.hashtable_0 = new Hashtable();
}
[/src]
Нашел все надписи которые показываются.
т.е. из этого составляется окно при запуске программы. А именнно
![[Изображение: 07:31:52_be3ae864.png]](http://screenshot.ru/screens/09.05.13/07:31:52_be3ae864.png)
А вот как убрать её, для меня пока загадка. Скорее всего надо выключить вообще сообщения которые всплывают ShowMessage и т.п... попробую сам разобраться
Добавлено через 1 час 10 минут
А так же нашел
C8e.c9e
[src="c#"][DesignTimeVisible(false)]
internal class C9e : LicenseProvider
{
// Fields
private static bool g0e;
private static string g2e;
private static string g5e;
private static string g7e;
internal static string g9e;
private static string gBe;
private static bool gce;
private static bool gge;
private static bool gGe;
private static string gJe;
internal static string gke;
private static bool gNe;
private static string gOe;
private static string gQe;
private static string gse;
private static bool gxe;
private static bool gXe;
private uint Q1e;
private static SortedList Q3e;
private const uint Q8e = 0xd55f8767;
private static bool Qae;
private const uint QAe = 0x40000000;
private const uint Qbe = 0x1;
private const uint QCe = 0x104aa1ad;
private const uint Qde = 0x2;
private const uint QEe = 0x3;
private const uint Qfe = 0x32378fc7;
private uint QFe;
private static bool QHe;
private static SortedList QIe;
private uint Qje;
private uint Qne;
internal static byte[] Qoe;
internal static byte[] Qpe;
private const uint QPe = 0x1;
private uint Qqe;
private const double Qte = 4.6566128730773926E-10;
private uint QTe;
private const double Que = 2.3283064365386963E-10;
private const uint QVe = 0x2;
internal static object Qwe;
internal static byte[] QWe;
private const uint Qye = 0x80000000;
internal static object QYe;
internal static string Qze;
private const uint QZe = 0x4;
// Methods
static C9e();
public C9e();
internal static ManagementObjectCollection ae(string string_0);
private int Be(int int_0, int int_1);
private string ce(Assembly assembly_0, Type type_0);
[DllImport("kernel32.dll", SetLastError=true)]
private static extern bool CloseHandle(uint uint_0);
[DllImport("kernel32", SetLastError=true)]
private static extern uint CreateFile(string string_0, uint uint_0, uint uint_1, IntPtr intptr_0, uint uint_2, uint uint_3, IntPtr intptr_1);
[DllImport("kernel32.dll", EntryPoint="CreateFile")]
private static extern IntPtr CreateFile_1(string string_0, uint uint_0, int int_0, IntPtr intptr_0, int int_1, int int_2, IntPtr intptr_1);
private static string de(string string_0, string string_1);
internal static string De(bool bool_0, bool bool_1, bool bool_2, bool bool_3, bool bool_4, bool bool_5);
internal static string ee(string string_0);
private static uint Ee(string string_0, string string_1, string string_2);
[DllImport("user32.dll")]
internal static extern bool EnableWindow(IntPtr intptr_0, bool bool_0);
internal static byte[] fe(string string_0);
internal static string ge(LicenseContext licenseContext_0);
internal int Ge();
[DllImport("iphlpapi.dll", CharSet=CharSet.Ansi)]
internal static extern int GetAdaptersInfo(IntPtr intptr_0, ref long long_0);
[DllImport("kernel32.dll", CharSet=CharSet.Ansi, SetLastError=true)]
internal static extern IntPtr GetCurrentProcess();
[DllImport("kernel32", SetLastError=true)]
private static extern uint GetFileSize(uint uint_0, IntPtr intptr_0);
public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions);
[DllImport("kernel32.dll", SetLastError=true)]
public static extern uint GetModuleFileName([In] IntPtr intptr_0, [Out] StringBuilder stringBuilder_0, [In, MarshalAs(UnmanagedType.U4)] int int_0);
private bool he(Type type_0, string string_0);
private static string He();
internal static string ie(string string_0, string string_1);
internal static string Ie(string string_0, string string_1);
private void ilHifFeDUTsZtKIFfN18();
private static string je();
internal void Je(int int_0);
internal static string ke(string string_0);
internal static string le();
internal static string me(bool bool_0, bool bool_1, bool bool_2, bool bool_3, bool bool_4, bool bool_5);
internal static string Me(string string_0);
internal int method_0(int int_0);
internal void method_1(byte[] byte_0);
internal bool method_2();
internal static void mkLdf8923rwE89zRgl4s();
internal double Ne();
internal License Oe(LicenseContext licenseContext_0, Type type_0, object object_0, bool bool_0, bool bool_1, bool bool_2, bool bool_3, string string_0, string string_1, byte[] byte_0, bool bool_4, bool bool_5, bool bool_6);
private static string qe();
internal static string Qe(string string_0);
private static string re();
internal static void Re(string string_0);
[DllImport("kernel32", SetLastError=true)]
private static extern uint ReadFile(uint uint_0, byte[] byte_0, uint uint_1, ref uint uint_2, IntPtr intptr_0);
internal int se();
internal static void ShowMessage(string message);
internal static string smethod_0(string string_0);
internal static bool smethod_1();
public static void smethod_2(string string_0, byte[] byte_0);
internal static string smethod_3(ManagementObjectCollection managementObjectCollection_0, string string_0);
internal static CBe te(string string_0);
internal static string Te();
[DllImport("kernel32.dll", CharSet=CharSet.Auto, SetLastError=true)]
internal static extern bool TerminateProcess(IntPtr intptr_0, int int_0);
internal static bool ue(CBe cbe_0, byte[] byte_0, byte[] byte_1);
internal static string Ue();
internal static uint ve(string string_0, string string_1, string string_2);
private static string we();
private static string We();
[DllImport("kernel32.dll", SetLastError=true)]
private static extern bool WriteFile(uint uint_0, byte[] byte_0, uint uint_1, ref uint uint_2, IntPtr intptr_0);
internal int xe(int int_0, int int_1);
internal uint Xe();
private static string Ye();
private static string Ze();
// Nested Types
private class C1e
{
// Fields
internal Timer ge;
private Assembly Ge;
private C9e.Cce Je;
internal static C9e.C1e Qe;
// Methods
public C1e(C9e.Cce cce_0, Assembly assembly_0);
internal void ke(object object_0);
public void method_0();
}
private class C2e
{
// Fields
private Type Be;
private byte[] byte_0;
internal Timer ge;
private C9e.Cme Ge;
internal int int_0;
private C9e.Cce Je;
private byte[] Ne;
internal static C9e.C2e Qe;
internal int xe;
// Methods
public C2e(C9e.Cce cce_0, C9e.Cme cme_0, Type type_0, byte[] byte_1, byte[] byte_2);
internal void ke(object object_0);
public void method_0();
}
private class C3e
{
// Fields
internal static Timer ke;
// Methods
public C3e();
internal void method_0(object object_0);
}
[GeneratedCode("wsdl", "2.0.50727.42")]
internal delegate void C5e(object sender, C9e.CPe e);
private class C7e
{
// Fields
private uint Be;
private uint[] Ne;
// Methods
public C7e(C9e.C7e c7e_0);
public C7e(byte[] byte_0);
public C7e(uint uint_0);
public C7e(ulong ulong_0);
public C7e(C9e.C7e c7e_0, uint uint_0);
public C7e(CJe cje_0, uint uint_0);
public override bool Equals(object obj);
public byte[] ge();
private void Ge();
public override int GetHashCode();
public CJe Je(C9e.C7e c7e_0);
public bool ke(int int_0);
public int method_0();
public C9e.C7e method_1(C9e.C7e c7e_0);
public static C9e.C7e operator +(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e operator /(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e operator /(C9e.C7e c7e_0, int int_0);
public static bool operator ==(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static bool operator ==(C9e.C7e c7e_0, uint uint_0);
public static bool operator >(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static bool operator >=(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static implicit operator C9e.C7e(int int_0);
public static implicit operator C9e.C7e(uint uint_0);
public static implicit operator C9e.C7e(ulong ulong_0);
public static bool operator !=(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static bool operator !=(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e operator <<(C9e.C7e c7e_0, int int_0);
public static bool operator <(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static bool operator <=(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e operator %(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static int operator %(C9e.C7e c7e_0, int int_0);
public static uint operator %(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e operator *(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e operator *(C9e.C7e c7e_0, int int_0);
public static C9e.C7e operator >>(C9e.C7e c7e_0, int int_0);
public static C9e.C7e operator -(C9e.C7e c7e_0, C9e.C7e c7e_1);
public byte[] Qe();
public C9e.C7e xe(C9e.C7e c7e_0, C9e.C7e c7e_1);
// Nested Types
private sealed class Che
{
// Fields
private C9e.C7e c7e_0;
private C9e.C7e Ge;
// Methods
public Che(C9e.C7e c7e_1);
public C9e.C7e ge(C9e.C7e c7e_1, C9e.C7e c7e_2);
public C9e.C7e Je(uint uint_0, C9e.C7e c7e_1);
public C9e.C7e ke(C9e.C7e c7e_1, C9e.C7e c7e_2);
public void method_0(C9e.C7e c7e_1);
public C9e.C7e Qe(C9e.C7e c7e_1, C9e.C7e c7e_2);
}
private sealed class CIe
{
// Methods
public CIe();
public static C9e.C7e[] Be(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e ce(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static void ge(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static uint Ge(C9e.C7e c7e_0, uint uint_0);
public static uint he(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e.CJe Je(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e ke(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e[] Ne(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static void Oe(uint[] uint_0, int int_0, int int_1, uint[] uint_1, int int_2, int int_3, uint[] uint_2, int int_4, int int_5);
public static void Qe(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e se(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e smethod_0(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static uint smethod_1(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e smethod_2(C9e.C7e c7e_0, int int_0);
public static void smethod_3(uint[] uint_0, uint uint_1, uint uint_2, uint[] uint_3, uint uint_4, uint uint_5, uint[] uint_6, uint uint_7);
public static C9e.C7e smethod_4(C9e.C7e c7e_0, C9e.C7e c7e_1);
public static C9e.C7e xe(C9e.C7e c7e_0, uint uint_0);
public static C9e.C7e Xe(C9e.C7e c7e_0, int int_0);
}
internal enum CJe
{
}
}
private class Cbe
{
// Fields
private Type Be;
private byte[] byte_0;
private C9e.Cce cce_0;
internal Timer ge;
internal int Ge;
internal int Je;
private byte[] Ne;
internal static C9e.Cbe Qe;
private C9e.Cme xe;
// Methods
public Cbe(C9e.Cce cce_1, C9e.Cme cme_0, Type type_0, byte[] byte_1, byte[] byte_2);
internal void ke(object object_0);
public void method_0();
}
internal class CBe : RSA
{
// Fields
private C9e.C7e c7e_0;
private C9e.C7e De;
private C9e.C7e ee;
private const int int_0 = 0x1;
private C9e.C7e Ke;
private C9e.C7e le;
private static byte[] Le;
private C9e.C7e me;
private C9e.C7e Me;
private static byte[] re;
private const int Re = 0x2;
private int Se;
private C9e.C7e Ue;
// Methods
static CBe();
public CBe();
public CBe(int int_1);
public bool Be(byte[] byte_0, string string_0, byte[] byte_1);
private bool ce(XmlReader xmlReader_0, string string_0, string string_1, ref C9e.C7e c7e_1);
public override byte[] DecryptValue(byte[] rgb);
protected override void Dispose(bool disposing);
public override byte[] EncryptValue(byte[] rgb);
public override RSAParameters ExportParameters(bool includePrivateParameters);
public override void FromXmlString(string xmlString);
public byte[] ge(byte[] byte_0, bool bool_0);
public CTe Ge(string string_0);
private CTe he(HashAlgorithm hashAlgorithm_0);
public override void ImportParameters(RSAParameters parameters);
public byte[] Je(byte[] byte_0, bool bool_0);
public byte[] ke(byte[] byte_0);
public byte[] method_0(byte[] byte_0);
public byte[] method_1(byte[] byte_0, string string_0);
public byte[] method_2(byte[] byte_0, HashAlgorithm hashAlgorithm_0);
private byte[] method_3(byte[] byte_0, int int_1);
public bool Ne(byte[] byte_0, byte[] byte_1, CTe cte_0);
private string Oe(C9e.C7e c7e_1);
public bool Qe();
private bool se(byte[] byte_0, int int_1, byte[] byte_1, int int_2, int int_3);
public byte[] xe(byte[] byte_0, CTe cte_0);
public bool Xe(byte[] byte_0, HashAlgorithm hashAlgorithm_0, byte[] byte_1);
// Properties
public override string KeyExchangeAlgorithm { get; }
public override int KeySize { get; set; }
public override string SignatureAlgorithm { get; }
// Nested Types
internal enum CTe
{
}
}
private class Cce
{
// Fields
internal bool ae;
internal int Ae;
internal int be;
internal bool Be;
internal bool bool_0;
internal bool bool_1;
internal bool bool_2;
internal bool bool_3;
internal bool bool_4;
internal bool ce;
internal bool Ce;
internal DateTime dateTime_0;
internal bool de;
internal string De;
internal int ee;
internal int Ee;
internal bool fe;
internal bool Fe;
internal Hashtable hashtable_0;
internal bool he;
internal bool He;
internal bool ie;
internal bool Ie;
internal bool je;
internal bool Ke;
internal int le;
internal bool Le;
internal bool me;
internal bool Me;
internal bool ne;
internal bool Ne;
internal string oe;
internal bool Oe;
internal string pe;
internal int Pe;
internal bool qe;
internal bool re;
internal bool Re;
internal bool se;
internal string Se;
internal string string_0;
internal string string_1;
internal string string_2;
internal string string_3;
internal string string_4;
internal string string_5;
internal string string_6;
internal string string_7;
internal string string_8;
internal bool te;
internal bool Te;
internal int ue;
internal string Ue;
internal int ve;
internal bool Ve;
internal bool we;
internal bool We;
internal ArrayList xe;
internal bool Xe;
internal bool ye;
internal bool Ye;
internal string ze;
internal bool Ze;
// Methods
public Cce();
internal int ge(string string_9);
internal DateTime Ge(string string_9);
internal string Je(string string_9);
internal bool ke(byte[] byte_0);
internal bool method_0(byte[] byte_0);
internal bool Qe(string string_9);
}
internal class CCe
{
// Fields
private C9e.Cje ke;
// Methods
public CCe(string string_0);
public byte[] method_0(byte[] byte_0);
}
[StructLayout(LayoutKind.Sequential)]
internal struct Cee
{
public IntPtr intptr_0;
public C9e.Cge ke;
public C9e.Cge Qe;
public int ge;
}
[LicenseProvider(typeof(C9e))]
private class CFe
{
// Methods
public CFe();
private void method_0();
}
[StructLayout(LayoutKind.Sequential)]
internal struct Cge
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=0x10)]
public string string_0;
}
[GeneratedCode("wsdl", "2.0.50727.42"), DesignerCategory("code"), WebServiceBinding(Name="ActivationServiceSoap", Namespace="http://tempuri.org/"), DebuggerStepThrough]
internal class Cje : SoapHttpClientProtocol
{
// Fields
private SendOrPostCallback sendOrPostCallback_0;
private C9e.C5e Xe;
// Events
public event C9e.C5e Ne;
// Methods
public Cje(string string_0);
[return: XmlElement(DataType="base64Binary")]
[SoapDocumentMethod("http://tempuri.org/Activate", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
public byte[] Activate([XmlElement(DataType="base64Binary")] byte[] license);
public void ge(byte[] byte_0, object object_0);
public void Ge(object object_0);
private void Je(object object_0);
public byte[] ke(IAsyncResult iasyncResult_0);
public IAsyncResult method_0(byte[] byte_0, AsyncCallback asyncCallback_0, object object_0);
public void Qe(byte[] byte_0);
}
internal class Cke
{
// Fields
internal static string Be;
internal static string ce;
internal static string Ce;
internal static string De;
internal static string ee;
internal static string fe;
internal static string ge;
internal static string Ge;
internal static string he;
internal static string ie;
internal static string Je;
internal static string ke;
internal static string Ke;
internal static string le;
internal static string Le;
internal static string me;
internal static string Me;
internal static string Ne;
internal static string Oe;
internal static string Qe;
internal static string re;
internal static string Re;
internal static string se;
internal static string Se;
internal static string string_0;
internal static string string_1;
internal static string string_2;
internal static string string_3;
internal static string string_4;
internal static string string_5;
internal static string string_6;
internal static string te;
internal static string ue;
internal static string Ue;
internal static string ve;
internal static string xe;
internal static string Xe;
// Methods
static Cke();
public Cke();
}
internal class Cme
{
// Fields
internal DateTime Be;
internal bool bool_0;
internal int ce;
internal DateTime dateTime_0;
internal string he;
internal int int_0;
internal DateTime Ne;
internal ulong Oe;
private string Re;
internal int se;
internal int Xe;
// Methods
public Cme();
internal ulong ge(string string_0);
internal string Ge(byte[] byte_0, byte[] byte_1);
internal DateTime Je(string string_0);
internal bool ke(string string_0);
internal bool method_0(string string_0, byte[] byte_0, byte[] byte_1);
internal void method_1(string string_0);
internal int Qe(string string_0);
internal void xe(object object_0);
}
[GeneratedCode("wsdl", "2.0.50727.42"), DesignerCategory("code"), DebuggerStepThrough]
internal class CPe : AsyncCompletedEventArgs
{
// Fields
private object[] object_0;
// Methods
internal CPe(object[] object_1, Exception exception_0, bool bool_0, object object_2);
public byte[] method_0();
}
private class Cse
{
// Fields
private byte[] Be;
internal Timer ge;
private C9e.Cme Ge;
private C9e.Cce Je;
internal static C9e.Cse Qe;
private Type type_0;
private byte[] xe;
// Methods
public Cse(C9e.Cce cce_0, C9e.Cme cme_0, Type type_1, byte[] byte_0, byte[] byte_1);
internal void ke(object object_0);
public void method_0();
}
[StructLayout(LayoutKind.Sequential)]
internal struct CSe
{
public IntPtr intptr_0;
public int ke;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=0x104)]
public string Qe;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=0x84)]
public string ge;
public uint Je;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=0x8)]
public byte[] Ge;
public int int_0;
public uint xe;
public uint Be;
public IntPtr Ne;
public C9e.Cee cee_0;
public C9e.Cee Xe;
public C9e.Cee se;
public bool bool_0;
public C9e.Cee Oe;
public C9e.Cee ce;
public int he;
public int int_1;
}
private class CYe : License
{
// Fields
private string ke;
private object object_0;
// Methods
public CYe(object object_1, string string_0);
public override void Dispose();
// Properties
public override string LicenseKey { get; }
}
}
Expand Methods
[/src]
Как это выключить, пока что не придумал, но всё впереди.
Добавлено через 4 часа 15 минут
Вообщем, программа работает всё равно 2 часа. о_О при замере прошлом ошибся, скорее всего.
Для замера скорости использовал Sharpdevelop - возможно это микроскопом гвозди забивать, но не чего другого не придумал.
Как найти в этой программе, что заставляет её закрывать, понять не могу, но покопаю данные, мб что то интересное найду.
Добавлено через 5 часов 53 минуты
Нашел внутри библиотеку intellilock, скорее всего в ней "зашито" сколько должна работать программа и она же наверное закрывает её.
Добавлено через 6 часов 10 минут
Выдернул либу EVE.Resources.IntelliLock.Licensing.dll, запустил на таймер, посмотрим что произойдет через 2 часа.
Тема превращается в блог "сломай программу"...
2 часа прошло, опять выключилось.
Добавлено через 9 часов 24 минуты
![[Изображение: 16:03:04_8e10060b.png]](http://screenshot.ru/screens/09.05.13/16:03:04_8e10060b.png)
Кто подскажет, что это захрень?
[src="c#"] Re("<script language='javascript'>alert( \"" + message + "\" );</script>");[/src]
Точнее я знаю, что это такое, но что оно может тут делать?
Добавлено через 9 часов 59 минут
http://rghost.ru/45873887
Убрал мессагу при включении проги.
Что делать с таймером так и не знаю. =(
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
Попробуй эту версию бинарника.
http://rghost.ru/45873966
В ней я проверку в том месте залочил, в теории триал должен быть теперь бесконечный. На практике хз не могу проверить =(
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
05-09-2013, 03:42 PM
(Сообщение последний раз редактировалось: 05-09-2013, 09:34 PM xolseg.)
darkevil Написал:Попробуй эту версию бинарника.
http://rghost.ru/45873966
В ней я проверку в том месте залочил, в теории триал должен быть теперь бесконечный. На практике хз не могу проверить =(
Эм, а я в своей версии убрал всякую другую гадость сейчас и не вспомню что убирал)
На практике проверяется так, включается программа и ждать 2 часа. :-)
Добавлено через 33 минуты
Запустил 3 разных варианта, 1 твой и 2 своих. Посмотрим, какой из вариантов упадет через 2 часа. Пы.Сы. 17:18 Мск
Добавлено через 2 часа 35 минут
Все 3 выключились.
Добавлено через 2 часа 51 минуту
Покопался в логе нашел стек, потом полез в рефлектор и нашел такой код
[src="il"]internal void ke(object object_0)
{
try
{
this.ge.Dispose();
}
catch
{
}
try
{
Cle.Ge().ke((CGe) 0x3);
if (Cle.Ge().Ne() == ((CXe) 0x2))
{
Cle.Ge().xe(Cle.Ge().method_0());
}
if (Cle.Ge().Ne() == ((CXe) 0x1))
{
Cle.Ge().Je(Cle.Ge().method_0());
}
if (this.Je.je)
{
C9e.C3e.ke = new Timer(new TimerCallback(new C9e.C3e().method_0), null, 0x15f90, 0x7530);
if (this.Je.bool_3)
{
try
{
C9e.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
}
catch
{
}
}
[/src]
Мне кажется - это и есть ТО, что нужно убрать.
Т.е. мне кажется, что эти два значения складываются 0x15f90, 0x7530 и получается 120 минут :-)
Почему я так решил? В том же месте есть такая строка
[src="il"] L_0007: callvirt instance void [mscorlib]System.Threading.Timer:  ispose()[/src]
По этому мне показалось, что моя догадка верна и нужно либо полностью убрать счетчик, т.е. вызов опкода или изменить значение. Сначала проверю со значением, потом уберу вызов и протестирую ещё раз.
Запустил на тест свою версию exe, без окна при старте и с измененными числами в этом коде. 19.39 Мск
Добавлено через 5 часов 52 минуты
Нужно, что то другое придумывать, мой вариант не проканал. :Olen':
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
05-10-2013, 06:36 PM
(Сообщение последний раз редактировалось: 05-11-2013, 01:41 AM xolseg.)
Есть у кого нибудь какие идеи?
Мне бы идею, а там сам попробую разобраться, что и как. А то, что то голова не варит уже.
Вырезать полностью таймер, почему то не получается, в дальнейшем мб, что то и получится.
Добавлено через 7 часов 4 минуты
Возможно ли, что время до выхода берется из файла _trial.license?
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
Немного не так действуешь. Тебе нужно заставить программу думать, что она не триальная, а нормальная. Смотрим где грузится файл с лицензией и меняем флаг на противоположный. И никаких мучений с таймером.
http://www.insidepro.com/kk/140/140r.shtml вот как это тут сделано.
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
05-11-2013, 11:04 AM
(Сообщение последний раз редактировалось: 05-11-2013, 12:56 PM xolseg.)
Zubastic Написал:Немного не так действуешь. Тебе нужно заставить программу думать, что она не триальная, а нормальная. Смотрим где грузится файл с лицензией и меняем флаг на противоположный. И никаких мучений с таймером.
http://www.insidepro.com/kk/140/140r.shtml вот как это тут сделано.
Я этой логики не понимаю просто. Вот я убрал из кода все выключения программы, которые нашел.
Что то типа таких удалил:
[SRC="C#"] private class C3e
{
internal static Timer ke;
internal void method_0(object object_0)
{
ke.Dispose();
try
{
C9e.TerminateProcess(C9e.GetCurrentProcess(), 1);
}
catch
{
}
}
}[/SRC]
А толку нету, выходит все равно.
Можешь дать какой нибудь другой пример?
Добавлено через 1 час 52 минуты
А так же, подскажите, что значит это?
Код: internal int method_0(int int_0)
{
if (int_0 < 0)
{
throw new Exception("upperBound=" + int_0.ToString() + "; upperBound must be >=0");
}
uint num = this.Qqe ^ (this.Qqe << 11);
this.Qqe = this.Qje;
this.Qje = this.Q1e;
this.Q1e = this.QTe;
return (int) ((4.6566128730773926E-10 * (0x7fffffff & (this.QTe = (this.QTe ^ (this.QTe >> 0x13)) ^ (num ^ (num >> 8))))) * int_0);
}
А именно меня интересует вот это
Код: return (int) ((4.6566128730773926E-10 * (0x7fffffff & (this.QTe = (this.QTe ^ (this.QTe >> 0x13)) ^ (num ^ (num >> 8))))) * int_0);
Я так понимаю это выражение математическое, каким образом оно считается? Почитал в msdn, но нечего не понял.
|