Сейчас на форуме: testrev1337, vsv1, 2nd, bedop66938 (+7 невидимых)

 eXeL@B —› Крэки, обсуждения —› Последний Шаг или.Net и с чем его едят
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 04 марта 2009 21:52 · Поправил: FleXik
· Личное сообщение · #1

Всем доброго времени суток.
Это опять я=) как говорится помогите кто чем может, нипайму я как разрезать внутренности ДотНет проги( а точнее добраться до сути немогу.
Начну с того что 2\3 я уже сделал, а именно
1) залез на сайтец проги , слил ее оттуда (благо ОдМиН оказался лохом) и запрос юзер\пасс меня не остановили.
2) Сетапер который я слил оказался запароленный, но пароль я всетаки выдрал для некольких продуктов, один из которых был мой. ну думал все- ага не тут то было- самое сладкое осталось напоследок
3) установив прогу оказалось что требуется Authorization Code.
дальнейшие исследования показали что : "удалено за ненадобностью"



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 11:57
· Личное сообщение · #2

нашел интересный кусок кода
Code:
  1. while (true)
  2.                         {
  3.                             MiTekLicensing.MiiLicensing.= new Root.c();
  4.                             System.Collections.IEnumerator ienumerator1 = arrayList.GetEnumerator();
  5.                             i2 = 13;
  6.                             goto label_1;
  7.                             goto label_25;
  8.                             i2 = 14;
  9.                             goto label_1;
  10.                             if (System.Environment.UserDomainName == MiTekLicensing.MiiLicensing.m)
  11.                                 goto label_8;
  12.                             i2 = 8;
  13.                             goto label_1;
  14.                             while (true)
  15.                             {
  16.                                 i2 = 17;
  17.                                 goto label_1;
  18.                                 if (A_3.ToUpper() == Root.a.c().ToUpper())
  19.                                     goto label_10;
  20.                                 i2 = 31;
  21.                                 goto label_1;
  22.                                 goto label_3;
  23.                             label_14:
  24.                                 try
  25.                                 {
  26.                                     i2 = 10;
  27.                                     goto label_15;
  28.                                     while (true)
  29.                                     {
  30.                                     label_15:
  31.                                         switch (i2)(label_0,label_0,label_0,label_0,label_0,label_0,label_0,label_0,l abel_0,label_0,label_0,label_0);
  32.                                         goto label_0;
  33.                                     label_16:
  34.                                         s = new Root.s();
  35.                                         System.DateTime dateTime5 = System.DateTime.ParseExact(s11, s8, iformatProvider);
  36.                                         s.= dateTime5.ToLocalTime();
  37.                                         s.= System.Convert.ToInt32(s12);
  38.                                         s.= s13;
  39.                                         f.d.Add(s);
  40.                                         i2 = 8;
  41.                                         continue;
  42.                                         while (true)
  43.                                         {
  44.                                             do
  45.                                             {
  46.                                                 i1++;
  47.                                                 i2 = 2;
  48.                                                 goto label_15;
  49.                                                 while (true)
  50.                                                 {
  51.                                                     f = new Root.f();
  52.                                                     System.DateTime dateTime4 = System.DateTime.ParseExact(s11, s8, iformatProvider);
  53.                                                     f.= dateTime4.ToLocalTime();
  54.                                                     f.= System.Convert.ToInt32(s12);
  55.                                                     f.= s13;
  56.                                                     MiTekLicensing.MiiLicensing.u.a.Add(f);
  57.                                                     i2 = 1;
  58.                                                     goto label_15;
  59.                                                     break;
  60.                                                     i2 = 9;
  61.                                                     goto label_15;
  62.                                                     if (!ienumerator2.MoveNext())
  63.                                                     {
  64.                                                         i2 = 6;
  65.                                                         goto label_15;
  66.                                                         break;
  67.                                                     }
  68.                                                     MiTekLicensing.FeatureLicense2 featureLicense2_3 = (MiTekLicensing.FeatureLicense2)ienumerator2.Current;
  69.                                                     s11 = featureLicense2_3.Expiry;
  70.                                                     s12 = featureLicense2_3.ID;
  71.                                                     s13 = featureLicense2_3.Description;
  72.                                                     string s14 = featureLicense2_3.ParentFeatureNumber;
  73.                                                     l += System.Convert.ToInt64(s11);
  74.                                                     i2 = 5;
  75.                                                     goto label_15;
  76.                                                     if (System.Convert.ToInt32(s14) != 0)
  77.                                                         goto label_16;
  78.                                                     i2 = 4;
  79.                                                     goto label_15;
  80.                                                 }
  81.                                                 i2 = 3;
  82.                                                 goto label_15;
  83.                                             } while (System.Convert.ToInt32(s12) != A_1);
  84.                                             i2 = 0;
  85.                                             goto label_15;
  86.                                             timeSpan = System.DateTime.ParseExact(s11, s8, iformatProvider) - dateTime2;
  87.                                             i2 = 7;
  88.                                             goto label_15;
  89.                                         }
  90.                                         i2 = 11;
  91.                                     }
  92.                                     goto label_11;
  93.                                 }




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 11:58
· Личное сообщение · #3

Code:
  1. finally
  2.                                 {
  3.                                     while (true)
  4.                                     {
  5.                                     label_17:
  6.                                         while (true)
  7.                                         {
  8.                                             switch (i2)(label_18,label_19,label_20);
  9.                                             idisposable2 = ienumerator2 as System.IDisposable;
  10.                                             i2 = 0;
  11.                                             goto label_17;
  12.                                         label_18:
  13.                                             if (idisposable2 == null)
  14.                                                 goto label_21;
  15.                                             i2 = 1;
  16.                                         }
  17.                                     label_19:;
  18.                                         idisposable2.Dispose();
  19.                                         i2 = 2;
  20.                                     }
  21.                                 label_20:;
  22.                                 label_21:;
  23.                                 }
  24.                             label_22:
  25.                                 j1 = Root.j.h;
  26.                                 i2 = 36;
  27.                                 goto label_1;
  28.                                 goto label_45;
  29.                             label_23:
  30.                                 dateTime2 = System.DateTime.Now;
  31.                                 s8 = Root.<Module>.a("\u713B\u733D\u243F\u2641\u3D43\u3F45\u3147\u3349\u044 B\u064D", i3);
  32.                                 l = (long)0;
  33.                                 timeSpan = new System.TimeSpan(-1, 0, 0, 0);
  34.                                 i1 = 0;
  35.                                 i2 = 3;
  36.                                 goto label_1;
  37.                                 if (arrayList.Count != 0)
  38.                                     goto label_43;
  39.                                 i2 = 16;
  40.                                 goto label_1;
  41.                                 goto label_5;
  42.                             label_24:
  43.                                 MiTekLicensing.MiiLicenseFileInfo miiLicenseFileInfo = new MiTekLicensing.MiiLicenseFileInfo();
  44.                                 Root.g.a(s1, ref miiLicenseFileInfo);
  45.                                 arrayList = miiLicenseFileInfo.FeatureList;
  46.                                 string s2 = miiLicenseFileInfo.TimeStamp;
  47.                                 A_4 = miiLicenseFileInfo.ComputerName;
  48.                                 miiLicenseFileInfo.CPUId;
  49.                                 miiLicenseFileInfo.MACAddress;
  50.                                 A_3 = miiLicenseFileInfo.OSUserName;
  51.                                 s3 = miiLicenseFileInfo.VolumeSerialNumber;
  52.                                 string s4 = miiLicenseFileInfo.Guid;
  53.                                 A_2 = new System.Guid(s4);
  54.                                 miiLicenseFileInfo.UpdateCounter;
  55.                                 s5 = miiLicenseFileInfo.CheckSum;
  56.                                 iformatProvider = new System.Globalization.CultureInfo(Root.<Module>.a("\u593B\u503D\u6D3F\u 1741\u1743", i3), true);
  57.                                 System.DateTime dateTime1 = System.DateTime.ParseExact(s2, Root.<Module>.a("\u713B\u733D\u243F\u2641\u3D43\u3F45\u3147\u3349\u044 B\u064D\u3D4F\u3F51\u2753\u2555", i3), iformatProvider);
  58.                                 j1 = MiTekLicensing.MiiLicensing.a(dateTime1);
  59.                                 i2 = 0;
  60.                                 goto label_1;
  61.                                 if (j1 != Root.j.a)
  62.                                     goto label_45;
  63.                                 i2 = 1;
  64.                                 goto label_1;
  65.                             }
  66.                         label_25:
  67.                             try
  68.                             {
  69.                                 i2 = 5;
  70.                                 goto label_27;
  71.                             label_26:
  72.                                 while (true)
  73.                                 {
  74.                                 label_27:
  75.                                     switch (i2)(label_29,label_30,label_33,label_37,label_35,label_26,label_28,la bel_31);
  76.                                 label_28:
  77.                                     while (ienumerator1.MoveNext())
  78.                                     {
  79.                                         MiTekLicensing.FeatureLicense2 featureLicense2_2 = (MiTekLicensing.FeatureLicense2)ienumerator1.Current;
  80.                                         string s9 = featureLicense2_2.Expiry;
  81.                                         string s10 = featureLicense2_2.ID;
  82.                                         l += System.Convert.ToInt64(s9);
  83.                                         System.DateTime dateTime3 = System.DateTime.ParseExact(s9, s8, iformatProvider);
  84.                                         MiTekLicensing.MiiLicensing.t.b[i1] = dateTime3.ToLocalTime();
  85.                                         MiTekLicensing.MiiLicensing.t.c[i1] = System.Convert.ToInt32(s10);
  86.                                         i2 = 0;
  87.                                         goto label_27;
  88.                                     label_29:
  89.                                         if (System.Convert.ToInt32(s10) != A_1)
  90.                                             goto label_34;
  91.                                         i2 = 1;
  92.                                         goto label_27;
  93.                                     label_30:;
  94.                                         timeSpan = System.DateTime.ParseExact(s9, s8, iformatProvider) - dateTime2;
  95.                                         i2 = 7;
  96.                                         goto label_27;
  97.                                     label_31:
  98.                                         goto label_34;
  99.                                     label_32:
  100.                                         i2 = 6;
  101.                                         goto label_27;
  102.                                     }




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 11:58
· Личное сообщение · #4

Code:
  1.  i2 = 2;
  2.                                     continue;
  3.                                 label_33:
  4.                                     goto label_36;
  5.                                 label_34:
  6.                                     i1++;
  7.                                     i2 = 4;
  8.                                     continue;
  9.                                 label_35:
  10.                                     goto label_32;
  11.                                 label_36:
  12.                                     i2 = 3;
  13.                                 }
  14.                             label_37:
  15.                                 goto label_11;
  16.                             }
  17.                             finally
  18.                             {
  19.                                 while (true)
  20.                                 {
  21.                                 label_38:
  22.                                     while (true)
  23.                                     {
  24.                                         switch (i2)(label_40,label_39,label_41);
  25.                                         idisposable1 = ienumerator1 as System.IDisposable;
  26.                                         i2 = 1;
  27.                                         goto label_38;
  28.                                     label_39:
  29.                                         if (idisposable1 == null)
  30.                                             goto label_42;
  31.                                         i2 = 0;
  32.                                     }
  33.                                 label_40:;
  34.                                     idisposable1.Dispose();
  35.                                     i2 = 2;
  36.                                 }
  37.                             label_41:;
  38.                             label_42:;
  39.                             }
  40.                         label_43:
  41.                             MiTekLicensing.FeatureLicense2 featureLicense2_1 = (MiTekLicensing.FeatureLicense2)arrayList[0];
  42.                             i2 = 12;
  43.                             goto label_1;
  44.                             if (featureLicense2_1.Description != System.String.Empty)
  45.                                 goto label_12;
  46.                             i2 = 24;
  47.                             goto label_1;
  48.                         }
  49.                     label_44:
  50.                         MiTekLicensing.MiiLicensing.= true;
  51.                         j1 = MiTekLicensing.MiiLicensing.a(timeSpan, j1);
  52.                         i2 = 28;
  53.                         break;
  54.                 }
  55.             }
  56.         label_45:
  57.             binaryReader.Close();
  58.             fileStream.Close();
  59.             j2 = j1;
  60.             i2 = 6;
  61.         }




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 12:04
· Личное сообщение · #5

Первый самый интересный ибо в нем есть

MiTekLicensing.FeatureLicense2 featureLicense2_3 = (MiTekLicensing.FeatureLicense2)ienumerator2.Current;
s11 = featureLicense2_3.Expiry;
s12 = featureLicense2_3.ID;
s13 = featureLicense2_3.Description;
string s14 = featureLicense2_3.ParentFeatureNumber;
l += System.Convert.ToInt64(s11);
дальше идет отделение compname ну и тд и закидывание всего этого добра в локальные переменные, но а где же проверка то? Оо тут вижу проверку только на дату... выходит она в другом модуле???
и
timeSpan = System.DateTime.ParseExact(s11, s8, iformatProvider) - dateTime2;
которая как я полагаю вычисляет количество оставшихся часов работы.
но так как в си я не очень сильно рублю - обьясните кто знает шо такое
idisposable2 = ienumerator2 as System.IDisposable
и если можно то какие то свои коментарии по этому поводу.



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 12:07
· Личное сообщение · #6

вот в другом модуле вроде бы идет чтение с файла лицензии
Code:
  1. private static Root.j a(System.DateTime A_0)
  2. {
  3.     int i1, i2;
  4.     string s2, s3, s4, s5;
  5.     System.DateTime dateTime1;
  6.     Root.j j;
  7.     int i3 = 10;
  8.     string s1 = Root.u.c().a(Root.<Module>.a("\u7933\u5F35\u6C37\u5F39\u573B", i3)).b(MiTekLicensing.MiiLicensing.k()).FullName;
  9.     System.IO.FileStream fileStream = null;
  10.     System.IO.BinaryReader binaryReader = null;
  11.     try
  12.     {
  13.         while (true)
  14.         {
  15.         label_1:
  16.             while (true)
  17.             {
  18.                 switch (i2)
  19.                 {
  20.                     case 3:
  21.                     case 5:
  22.                         fileStream = System.IO.File.OpenRead(s1);
  23.                         binaryReader = new System.IO.BinaryReader(fileStream);
  24.                         break;
  25.                     case 7:
  26.                     case 13:
  27.                         i1 = binaryReader.ReadInt32();
  28.                         s2 = binaryReader.ReadString();
  29.                         s3 = binaryReader.ReadString();
  30.                         s4 = binaryReader.ReadString();
  31.                         break;
  32.                     case 8:
  33.                         s5 = System.String.Empty;
  34.                         i2 = 6;
  35.                         goto label_1;
  36.                         break;
  37.                     case 6:
  38.                         if (i1 != MiTekLicensing.MiiLicensing.i) goto label_2;
  39.                         break;
  40.                     case 4:
  41.                         i2 = 12;
  42.                         goto label_1;
  43.                         break;
  44.                     case 12:
  45.                         goto label_4;
  46.                     label_2:
  47.                         s5 = binaryReader.ReadString();
  48.                         break;
  49.                     case 9:
  50.                     case 10:
  51.                         MiTekLicensing.MiiLicensing.= Root.g.b(s2, s5);
  52.                         i2 = 0;
  53.                         goto label_1;
  54.                         break;
  55.                     case 0:
  56.                     case 11:
  57.                         goto label_6;
  58.                     label_3:
  59.                         i2 = 2;
  60.                         goto label_1;
  61.                         break;
  62.                     case 2:
  63.                         if (A_0 <= dateTime1 + MiTekLicensing.MiiLicensing.n)
  64.                             goto label_7;
  65.                         i2 = 1;
  66.                         goto label_1;
  67.                         break;
  68.                     case 1:
  69.                         goto label_5;
  70.                     label_4:
  71.                         MiTekLicensing.MiiLicensing.= System.Environment.UserDomainName;
  72.                         i2 = 5;
  73.                         break;
  74.                 }
  75.             }
  76.             while (true)
  77.             {
  78.                 j = Root.j.b;
  79.                 i2 = 13;
  80.                 goto label_1;
  81.                 goto label_9;
  82.             label_5:
  83.                 j = Root.j.b;
  84.                 i2 = 8;
  85.                 goto label_1;
  86.                 goto label_9;
  87.                 while (true)
  88.                 {
  89.                     j = Root.j.b;
  90.                     i2 = 7;
  91.                     goto label_1;
  92.                     goto label_9;
  93.                 label_6:
  94.                     binaryReader.Close();
  95.                     fileStream.Close();
  96.                     binaryReader = null;
  97.                     fileStream = null;
  98.                     string s6 = Root.g.b(s2, s4);
  99.                     string s7 = Root.g.b(s2, s3);
  100.                     System.IFormatProvider iformatProvider = new System.Globalization.CultureInfo(Root.<Module>.a("\u5133\u5835\u1537\u 6F39\u6F3B", i3), true);
  101.                     dateTime1 = System.DateTime.ParseExact(s6, Root.<Module>.a("\u7933\u7B35\u5C37\u5E39\u453B\u473D\u393F\u3B41\u0C4 3\u0E45\u2547\u2749\u3F4B\u3D4D", i3), iformatProvider);
  102.                     long l = System.Convert.ToInt64(System.String.Format(Root.<Module>.a("\u4F33\u0 635\u0237\u7739\u713B\u5A3D\u243F\u3B41\u3D43\u3F45\u3147\u3749", i3), dateTime1)) + System.Convert.ToInt64(System.String.Format(Root.<Module>.a("\u4F33\u0 635\u0237\u0A39\u0C3B\u433D", i3), dateTime1.Hour)) + System.Convert.ToInt64(System.String.Format(Root.<Module>.a("\u4F33\u0 635\u0237\u0A39\u0C3B\u433D", i3), dateTime1.Minute)) + System.Convert.ToInt64(System.String.Format(Root.<Module>.a("\u4F33\u0 635\u0237\u0A39\u0C3B\u433D", i3), dateTime1.Second));
  103.                     i2 = 10;
  104.                     goto label_1;
  105.                     if (l.ToString() != s7)
  106.                     {
  107.                         i2 = 11;
  108.                         goto label_1;
  109.                     }
  110.                 }
  111.                 i2 = 4;
  112.                 goto label_1;
  113.                 System.DateTime dateTime2 = System.DateTime.Now;
  114.                 if (dateTime1 <= dateTime2.ToUniversalTime() + MiTekLicensing.MiiLicensing.n)
  115.                     goto label_3;
  116.                 i2 = 9;
  117.                 goto label_1;
  118.             }
  119.         label_7:
  120.             j = Root.j.a;
  121.             i2 = 3;
  122.         }
  123.     }
  124.     catch (System.Exception)
  125.     {
  126.         if (binaryReader == null)
  127.             goto label_8;
  128.         while (true)
  129.         {
  130.             fileStream.Close();
  131.             break;
  132.             binaryReader.Close();
  133.         label_8:
  134.             if (fileStream != null)
  135.                 break;
  136.         }
  137.         j = Root.j.f;
  138.     }
  139. label_9:;
  140.     if (!0)
  141.     {
  142.     }
  143.     return j;
  144. }




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 12:07 · Поправил: FleXik
· Личное сообщение · #7

то есть файл должен иметь вид
i1 = binaryReader.ReadInt32();
s2 = binaryReader.ReadString();
s3 = binaryReader.ReadString();
s4 = binaryReader.ReadString();

MiTekLicensing.MiiLicensing.z.Elapsed += new System.Timers.ElapsedEventHandler(MiTekLicensing.MiiLicensing.b);
MiTekLicensing.MiiLicensing.z.Interval = 1800000.0;
MiTekLicensing.MiiLicensing.z.Start();
вот тоже смешной код - проверяет не истекло ли время лицензии каждые 18 минут?




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 10 марта 2009 12:15
· Личное сообщение · #8

Так в чем вопрос? Удали этот метод, перед этим в рефлекторе посмотри где его вызывают и удали там вызовы... Можно еще и другой вариант, найди место где проверяется валидность лицензии, и поставь чтоб всегда возвращала тру.

-----
have a nice day




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 12:17 · Поправил: FleXik
· Личное сообщение · #9

вопрос в том что я его нимагу найти (((
да и проверяется оно в нескольких местах.
вот допустим структура описывающая файл лиценизии как я понимаю

private static void a(ref MiTekLicensing.SeatFingerPrint A_0)
{
int i = 18;
if (!0)
{
}
string s1 = Root.a.i(); // методы i j k f c вытаскивают из системы соответствующие переменные
string s2 = Root.a.j();
string s3 = Root.a.k();
string s4 = Root.a.f();
string s5 = Root.a.c();
Root.a.b();
A_0 = new MiTekLicensing.SeatFingerPrint();
A_0.ComputerName = s4;
A_0.OSUserName = s5;
A_0.MACAddress = s1;
A_0.CPUId = s3;
A_0.VolumeSerialNumber = s2;
string s6 = Root.u.c().a(Root.<Module>.a("\u713B\u573D\u143F\u2741\u2F43", i)).b(Root.<Module>.a("\u493B\u4D3D\u253F\u3041\u2D43\u2845\u2E47\u254 9\u624B\u274D\u3E4F\u3B51", i)).FullName;
A_0.RegisterUserType = System.Convert.ToInt32(Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u1043\u3F45\u3847\u2F49", i), Root.<Module>.a("\u0C3B", i)));
A_0.RegisterName = Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u723B\u5F3D\u2D3F\u2741", i), Root.<Module>.a("\u6C3B\u4C3D\u2F3F\u3A41\u3D43", i));
A_0.RegisterCompany = Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u7F3B\u513D\u2D3F\u3241\u2543\u2845\u3147", i), Root.<Module>.a("\u6C3B\u4C3D\u2F3F\u3A41\u3D43", i));
A_0.RegisterEMail = Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u793B\u733D\u213F\u2B41\u2843", i), Root.<Module>.a("\u6C3B\u4C3D\u2F3F\u3A41\u3D43", i));
A_0.SiteId = System.Convert.ToInt32(Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u6F3B\u573D\u343F\u2741\u0843\u2945\u2B47\u2B49\u384 B\u274D\u3F4F\u3C51\u1D53\u3255", i), Root.<Module>.a("\u0C3B", i)));
A_0.FeatureTemplateId = System.Convert.ToInt32(Root.l.a(s6, Root.<Module>.a("\u693B\u4D3D\u253F\u3041\u0D43\u2845\u2E47\u2549", i), Root.<Module>.a("\u7A3B\u5B3D\u213F\u3641\u3143\u3445\u2D47\u1E49\u294 B\u234D\u204F\u3E51\u3553\u2255\u3D57\u1359\u385B", i), Root.<Module>.a("\u0C3B", i)));
}



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2009 12:54
· Личное сообщение · #10

Nimnul
Удали этот метод, перед этим в рефлекторе посмотри где его вызывают и удали там вызовы...
удалил =) терь прога ваще не запускается а тупо вылетает (




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 15 марта 2009 12:29
· Личное сообщение · #11

а компиляция проходит нормально после удаления?

-----
have a nice day




Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 15 марта 2009 12:52 · Поправил: Ultras
· Личное сообщение · #12

FleXik пишет:
MiTekLicensing.MiiLicensing.z.Elapsed += new System.Timers.ElapsedEventHandler(MiTekLicensing.MiiLicensing.b);
MiTekLicensing.MiiLicensing.z.Interval = 1800000.0;
MiTekLicensing.MiiLicensing.z.Start();
вот тоже смешной код - проверяет не истекло ли время лицензии каждые 18 минут?

Вообще-то 1800000 мсек = 30 минут

И не надо ничего удалять, проще в конце рег. ф-ии вернуть True (или 1) плюс может прийдется установить переменную, отвечающую за regsuccess в True. А по-хорошему надо алго разбирать(рипать) и кигенить...

Ты саму процедуру проверки основную нашел или нет?

Переведи нужные строки вида "System.Convert.ToInt32(Root.l.a(s6, Root.<Module>.a("....." в нормальный вид и всё станет прозрачно. Напиши небольшую программку, по декоду этих строк просто рипнув алго и замени в коде на декодированные. Если лень, добавь в Root.l.a логгинг входных пар-ов и ее рез-т. потом поищи просто в логе что нужно и замени в сурсе. Ну и методы порефакторить не мешает для удобства разбора.

-----
.[ rE! p0w4 ].




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:14
· Личное сообщение · #13

Ultras да все уже сделано =) впринципе на данном этапе идет разборка этого кода с нормальными строками итп для создания кейгена. просто мы с диггером в аське перекидываемся а суда пока ничего не постил=)
+ я написал прогу по разбору этих ужасных goto и переводу их к нормальному виду включая автоопределение перехода в инструкции switch и обход всех Условных переходов как отдельных ветвей дерева... кароче с нуля во всем разветвлениям и делает из этого хтмл файл табличками=) диггер сказал что, я, цитирую: "Редкий извращенец =)"



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:16
· Личное сообщение · #14

правдо получается файло размером 237 кило =)) но зато наглядный)



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:17 · Поправил: FleXik
· Личное сообщение · #15

так же сразу скажу что там шифруются "XML теги имеющие (см след пост) " тупой функцией дотнета:
Code:
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         ' Create a new DES key.
  3.         Dim sReader As StreamReader
  4.         Dim cStream As CryptoStream
  5.         Dim key As New DESCryptoServiceProvider()
  6.         arrbyt = Encoding.ASCII.GetBytes(":{|@#$%^".ToString())
  7.         dESCryptoServiceProvider1 = New DESCryptoServiceProvider()
  8.         mStream = New MemoryStream(Convert.FromBase64String(TextBox1.Text))
  9.         cStream = New CryptoStream(mStream, dESCryptoServiceProvider1.CreateDecryptor(arrbyt, arrbyt), CryptoStreamMode.Read)
  10.         sReader = New StreamReader(cStream)
  11.         ' Encrypt a string to a byte array.
  12.         'Dim buffer As Byte() = Encrypt("This is some plaintext!", key)
  13.         'MS = New MemoryStream(Convert.FromBase64String(TextBox1.Text))
  14.         ' Decrypt the byte array back to a string.
  15.         'Dim plaintext As String = Decrypt(MS, key)
  16.         ' Display the plaintext value to the console.
  17.         TextBox1.Text = sReader.ReadToEnd
  18.     End Sub
  19.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  20.         ' Create a new DES key.
  21.         Dim SWriter As StreamWriter
  22.         Dim cStream As CryptoStream
  23.         Dim key As New DESCryptoServiceProvider()
  24.         arrbyt = Encoding.ASCII.GetBytes(":{|@#$%^")
  25.         dESCryptoServiceProvider1 = New DESCryptoServiceProvider()
  26.         mStream = New MemoryStream()
  27.         cStream = New CryptoStream(mStream, dESCryptoServiceProvider1.CreateEncryptor(arrbyt, arrbyt), CryptoStreamMode.Write)
  28.         SWriter = New StreamWriter(cStream)
  29.         SWriter.Write(TextBox1.Text)
  30.         SWriter.Flush()
  31.         cStream.FlushFinalBlock()
  32.         SWriter.Flush()
  33.         ' Encrypt a string to a byte array.
  34.         'Dim buffer As Byte() = Encrypt(TextBox1.Text, key)
  35.         'MS = New MemoryStream(Convert.FromBase64String(TextBox1.Text))
  36.         ' Decrypt the byte array back to a string.
  37.         'Dim plaintext As String = Decrypt(MS, key)
  38.         ' Display the plaintext value to the console.
  39.         TextBox1.Text = Convert.ToBase64String(mStream.GetBuffer(), 0, mStream.Length)
  40.     End Sub




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:17 · Поправил: FleXik
· Личное сообщение · #16

первый батон- дешифрация ... второй батон шифрация=)
Code:
  1. <?xml version="1.0" encoding="utf-16"?>
  2. <SeatFingerPrint_InternalUse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <ActivationCodeOrGuid>ea701cf7-1941-4ff4-b6e5-8ed6e00fcdb0</Activation CodeOrGuid>
  4.   <SeatPrint>&lt;?xml version="1.0" encoding="utf-16"?&gt;
  5. &lt;SeatFingerPrint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  6.   &lt;ComputerName&gt;COMPX&lt;/ComputerName&gt;
  7.   &lt;CPUId&gt;BFEBFBFF00000F49&lt;/CPUId&gt;
  8.   &lt;MACAddress&gt;00:15:F2:6D:3E:6C&lt;/MACAddress&gt;
  9.   &lt;OSUserName&gt;COMPX\FleX&lt;/OSUserName&gt;
  10.   &lt;VolumeSerialNumber&gt;78968AC0&lt;/VolumeSerialNumber&gt;
  11.   &lt;Guid&gt;ea701cf7-1941-4ff4-b6e5-8ed6e00fcdb0&lt;/Guid&gt;
  12.   &lt;UpdateCounter&gt;0&lt;/UpdateCounter&gt;
  13.   &lt;RegisterUserType&gt;0&lt;/RegisterUserType&gt;
  14.   &lt;RegisterName&gt;1&lt;/RegisterName&gt;
  15.   &lt;RegisterCompany&gt;1&lt;/RegisterCompany&gt;
  16.   &lt;RegisterEMail&gt;1&lt;/RegisterEMail&gt;
  17.   &lt;SiteId&gt;0&lt;/SiteId&gt;
  18.   &lt;FeatureTemplateId&gt;0&lt;/FeatureTemplateId&gt;
  19. &lt;/SeatFingerPrint&gt;</SeatPrint>




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:22
· Личное сообщение · #17

так же пишется все это добро в зашифрованном варианте в файлы
C:\Documents and Settings\FleX\MiTek
msys.dat -сам файло лицензии который имеет формат :
int32
string (= шифрованным хмл тегам.. каким точно пока не допер потому как ругается пока что)
msys2.dat -доп файло хер нает для чего но в нем
int32
string (да вы угадали! тоже пошифрованные XMLки)
string
string
и для него определяется :
.property instance string Description
.property instance string Expiry
.property instance string ID
.property instance string ParentFeatureNumber
щаз копаю глубже



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 01:44
· Личное сообщение · #18

смешной цикл:
Code:
  1. ->->->->->->->->->->->->->->->->L_02bd: newobj instance void e::.ctor()
  2. ->->->->->->->->L_02c2: stsfld class e MiTekLicensing.MiiLicensing::u
  3. ->->->->->->->->L_02c7: ldnull 
  4. ->->->->->->->->L_02c8: stloc.s f
  5. ->->->->->->->->L_02ca: ldnull 
  6. ->->->->->->->->L_02cb: stloc.s s
  7. ->->->->->->->->L_02cd: ldsfld class e MiTekLicensing.MiiLicensing::u
  8. ->->->->->->->->L_02d2: ldfld class [mscorlib]System.Collections.ArrayList e::a
  9. ->->->->->->->->L_02d7: callvirt instance void [mscorlib]System.Collections.ArrayList::Clear()
  10. ->->->->->->->->L_02dc: ldloc.s list
  11. ->->->->->->->->L_02de: callvirt instance class [mscorlib]System.Collections.IEnumerator [mscorlib]System.Collections.ArrayList::GetEnumerator()
  12. ->->->->->->->->L_02e3: stloc.s enumerator2
  13. ->->->->->->->->L_02e5: ldc.i4 4
  14. ->->->->->->->->++ Switch Jump ++
  15. ->->->->->->->->L_02f3: br L_0433
  16. ->->->->->->->->L_0433: ldc.i4 10
  17. ->->->->->->->->++ Switch Jump ++
  18. ->->->->->->->->L_043e: br.s L_0479
  19. ->->->->->->->->L_0479: br L_054d
  20. ->->->->->->->->L_054d: ldc.i4 9
  21. ->->->->->->->->++ Switch Jump ++
  22. ->->->->->->->->L_055b: ldloc.s enumerator2
  23. ->->->->->->->->L_055d: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
  24. ->->->->->->->->L_0562: brtrue L_057a
  25. ->->->->->->->->========= T-True ========
  26. ->->->->->->->->->->->->->->->->->->L_057a: ldloc.s enumerator2
  27. ->->->->->->->->->L_057c: callvirt instance object [mscorlib]System.Collections.IEnumerator::get_Current()
  28. ->->->->->->->->->L_0581: castclass MiTekLicensing.FeatureLicense2
  29. ->->->->->->->->->L_0586: stloc.s license3
  30. ->->->->->->->->->L_0588: ldloc.s license3
  31. ->->->->->->->->->L_058a: callvirt instance string MiTekLicensing.FeatureLicense2::get_Expiry()
  32. ->->->->->->->->->L_058f: stloc.s str11
  33. ->->->->->->->->->L_0591: ldloc.s license3
  34. ->->->->->->->->->L_0593: callvirt instance string MiTekLicensing.FeatureLicense2::get_ID()
  35. ->->->->->->->->->L_0598: stloc.s str12
  36. ->->->->->->->->->L_059a: ldloc.s license3
  37. ->->->->->->->->->L_059c: callvirt instance string MiTekLicensing.FeatureLicense2::get_Description()
  38. ->->->->->->->->->L_05a1: stloc.s str13
  39. ->->->->->->->->->L_05a3: ldloc.s license3
  40. ->->->->->->->->->L_05a5: callvirt instance string MiTekLicensing.FeatureLicense2::get_ParentFeatureNumber()
  41. ->->->->->->->->->L_05aa: stloc.s str14
  42. ->->->->->->->->->L_05ac: ldloc.s num
  43. ->->->->->->->->->L_05ae: ldloc.s str11
  44. ->->->->->->->->->L_05b0: call int64 [mscorlib]System.Convert::ToInt64(string)
  45. ->->->->->->->->->L_05b5: add 
  46. ->->->->->->->->->L_05b6: stloc.s num
  47. ->->->->->->->->->L_05b8: ldc.i4 5
  48. ->->->->->->->->->++ Switch Jump ++
  49. ->->->->->->->->->L_05c6: ldloc.s str14
  50. ->->->->->->->->->L_05c8: call int32 [mscorlib]System.Convert::ToInt32(string)
  51. ->->->->->->->->->L_05cd: brtrue L_047e
  52. ->->->->->->->->->========= T-True ========
  53. ->->->->->->->->->->->->->->->->->->->->L_047e: newobj instance void s::.ctor()
  54. ->->->->->->->->->->L_0483: stloc.s s
  55. ->->->->->->->->->->L_0485: ldloc.s s
  56. ->->->->->->->->->->L_0487: ldloc.s str11
  57. ->->->->->->->->->->L_0489: ldloc.s str8
  58. ->->->->->->->->->->L_048b: ldloc.s provider
  59. ->->->->->->->->->->L_048d: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::ParseExact(string, string, class [mscorlib]System.IFormatProvider)
  60. ->->->->->->->->->->L_0492: stloc.s time5
  61. ->->->->->->->->->->L_0494: ldloca.s time5
  62. ->->->->->->->->->->L_0496: call instance valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::ToLocalTime()
  63. ->->->->->->->->->->L_049b: stfld valuetype [mscorlib]System.DateTime s::a
  64. ->->->->->->->->->->L_04a0: ldloc.s s
  65. ->->->->->->->->->->L_04a2: ldloc.s str12
  66. ->->->->->->->->->->L_04a4: call int32 [mscorlib]System.Convert::ToInt32(string)
  67. ->->->->->->->->->->L_04a9: stfld int32 s::b
  68. ->->->->->->->->->->L_04ae: ldloc.s s
  69. ->->->->->->->->->->L_04b0: ldloc.s str13
  70. ->->->->->->->->->->L_04b2: stfld string s::c
  71. ->->->->->->->->->->L_04b7: ldloc.s f
  72. ->->->->->->->->->->L_04b9: ldfld class [mscorlib]System.Collections.ArrayList f::d
  73. ->->->->->->->->->->L_04be: ldloc.s s
  74. ->->->->->->->->->->L_04c0: callvirt instance int32 [mscorlib]System.Collections.ArrayList::Add(object)
  75. ->->->->->->->->->->L_04c5: pop 
  76. ->->->->->->->->->->L_04c6: ldc.i4 8
  77. ->->->->->->->->->->++ Switch Jump ++
  78. ->->->->->->->->->->L_04d4: br L_05e5
  79. ->->->->->->->->->->L_05e5: ldc.i4 3
  80. ->->->->->->->->->->++ Switch Jump ++
  81. ->->->->->->->->->->L_05f3: ldloc.s str12
  82. ->->->->->->->->->->L_05f5: call int32 [mscorlib]System.Convert::ToInt32(string)
  83. ->->->->->->->->->->L_05fa: ldarg.1 
  84. ->->->->->->->->->->L_05fb: bne.un L_04d9
  85. ->->->->->->->->->->========= NOT EQ-true ========
  86. ->->->->->->->->->->->->->->->->->->->->->->L_04d9: ldloc.s num2
  87. ->->->->->->->->->->->L_04db: ldc.i4.1 
  88. ->->->->->->->->->->->L_04dc: add 
  89. ->->->->->->->->->->->L_04dd: stloc.s num2
  90. ->->->->->->->->->->->L_04df: ldc.i4 2
  91. ->->->->->->->->->->->++ Switch Jump ++
  92. ->->->->->->->->->->->L_04ed: br.s L_054d
  93. ->->->->->->->->->->->L_054d: ldc.i4 9
  94. ->->->->->->->->->->->++ Switch Jump ++
  95. ->->->->->->->->->->->L_055b: ldloc.s enumerator2
  96. ->->->->->->->->->->->L_055d: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
  97. ->->->->->->->->->->->L_0562: brtrue L_057a
  98. ->->->->->->->->->->->========= T-True ========
  99. ->->->->->->->->->->-> === CYCLE DETECTED ===




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 02:33
· Личное сообщение · #19

каму надо вот результат работы моей проги =)) ыы
link_deleted_by_forum_engine/files/oo75tb5up



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 13:31 · Поправил: FleXik
· Личное сообщение · #20

ошибочка вышла...
файл msys2.dat является ограничителем по времени и имеет формат
int32 - если >0x3e8 то считывается str5, если меньше то не считывается=)
str2 - строка-ключ для дешифрации строк str5,str4,str3
str3 - часы, минуты, секунды
str4 - имеет формат MMddyyyyHHmmss выбераются токо ЧМС и сверяется с расшифрованной str3, если не совпали берется текущее время и проверяется на зашкаливаение, зашкалило- вернуть 0 , нет? - вернуть 1, при неправильной сверке вернуть 100
str5 - stsfld string MiTekLicensing.MiiLicensing::m суда пишется ( если его нет в файле то в то ще статическое поле пишется call string [mscorlib]System.Environment::get_UserDomainName() - те похоже что параметр int32 отвечает за нахождение в домене или отдельная раб станция Имхо)




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 16 марта 2009 21:01
· Личное сообщение · #21

радости полные штаны. там наверняка нужно только один байт поменять.

-----
have a nice day




Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 16 марта 2009 22:25
· Личное сообщение · #22

Ув. Nimnul просвятите, будьте добры, где же этот байт. я может и анпакер не писал, но не полный идиот что б не найти этот байт, причем там на каждый ехе модуль создается отдельная структура отвечающая за конец лицензии на данный ехе. если есть такой байт я с радостью признаю свою ошибку! с Ув. FleX.



Ранг: 1.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 марта 2009 23:27
· Личное сообщение · #23

Если не сложно ув. господа, посмотрите
http://www.exelab.ru/f/action=vthread&forum=5&topic=14006 <--" target="_blank">--> http://www.exelab.ru/f/action=vthread&forum=5&topic=14006 <--
а то меня сюда направляют, говорят, что без .Net никак, это так?



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 17 марта 2009 13:15
· Личное сообщение · #24

pox77 как доломаю я постараюсь написать статью + возможно видеоролик поподробней как все это делалось, а если вы читали тему то наверное должны были много почерпнуть. дело в том что я, как говорилось выше, прочитал 3 статьи по .net с краклаба и честноговоря многого тогда не понял.
pox77 пишет:
без .Net никак, это так?
нет. вы можете просидеть в ольке несколько часов, потому что используется что то типа псевдокода, и горячолюбимый всеми фреймворк разгребает у себя все инструкции в цикле, который вы кстати тоже можете найти и увидеть передаваемые параметры (я так нашел в установщике серийный номер для проверки. установщик тоже был на дотнет писаный). то есть если ы хотите отловить допустим вылазинье месагбокса то просто ставте бряк на функцию в user32 messageboxtimeoutA (вроде она предпоследняя перед вызовом ) а потом когда месагбокс пропустите прога всеравно поднимется наверх по колстеку и выйдет на место в проге где оно вызывается( Сразу предупреждаю- в оле будьте готовы к тому что код будет ВНЕ ЛЮБОГО МОДУЛЯ и вы его не сможете проанализировать олей-только по асм коду ручками)




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 17 марта 2009 13:35
· Личное сообщение · #25

pox77

Пробуй. http://rapidshare.com/files/210234904/AVS-iTimer.Patched.rar.html



Ранг: -3.4 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 30 марта 2009 19:04
· Личное сообщение · #26

Прошу прощения за не самый умный вопрос но какие принципиальные отличия между прогами
.net and .exe если при этом они одинаковы по функционалу.
И счем их едят ( чем отлаживать ).
--> mista <-- интересная статья но из неё я понял
1. Программа написаная на .net будет работать гораздо дольше чем аналогичная на api
2. Эта технология призвана облегчить процесс программирования.
3. исполнении кода в виртуальной среде выполнения улучшает безопасность
4. Формат исполняемых файлов .NET Framework расширяет спецификацию PE (Portable Executable), так что мы по-прежнему имеем дело с EXE и DLL-файлами, но содержание у них новое.
Есть ли что-нибудь интересное в этой технологии с точки зрения безопасности и небезопасности.



Ранг: 49.3 (посетитель), 43thx
Активность: 0.060
Статус: Участник

Создано: 30 марта 2009 19:30
· Личное сообщение · #27

avraam, отличия между прогами .net and .exe в том, что .NET - это платформа, а .exe - это расширение исполняемого под windows файла Ты правда хочешь, чтоб тебя забанили?



Ранг: 3.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 31 марта 2009 21:42
· Личное сообщение · #28

я смотрю пошли оффтоповые вопросы и вопросы непотеме.
подытожу - в проге разработчики накуралесили просто охренеть как. я уже задолбался кругами ходить и плясать с бубном вокруг ихних нескольких дат и проверок что б лицензия больше чем на 5 дней юзеру не выдавалась. на сем хочу закрыть тему. всем спс


<< . 1 . 2 .
 eXeL@B —› Крэки, обсуждения —› Последний Шаг или.Net и с чем его едят
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати