Сейчас на форуме: Magister Yoda, johnniewalker, Kybyx, vsv1, r0lka, -Sanchez-, testrev1337 (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Проблема с Eazfuscator .Net
Посл.ответ Сообщение

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

Создано: 19 февраля 2011 21:14 · Поправил: SwordBack
· Личное сообщение · #1

Проблема в том, что никак не могу правильно расшифровать строки

Код:
Code:
  1. if (str6 ==  .(-740443932))
  2.     {
  3.         str3 =  .(-740443909);
  4.     }
  5.     else if (str6 ==  .(-740443919))
  6.     {
  7.         str3 =  .(-740443960);
  8.     }
  9.     else if (str6 ==  .(-740443938))
  10.     {
  11.         str3 =  .(-740443947);
  12.     }
  13.     else if (str6 ==  .(-740444117))
  14.     {
  15.         str3 =  .(-740444126);
  16.     }
  17.     else if (str6 ==  .(-740444104))
  18.     {
  19.         str3 =  .(-740444145);
  20.     }

Метод:
Code:
  1. [MethodImpl(MethodImplOptions.Synchronized)]
  2. public static string (int )
  3. {
  4.     string str;
  5.     if (! ..TryGetValue(, out str))
  6.     {
  7.         byte[] buffer;
  8.         if (== null)
  9.         {
  10.             Assembly executingAssembly = Assembly.GetExecutingAssembly();
  11.             Assembly callingAssembly = Assembly.GetCallingAssembly();
  12.              = false;
  13.              = new BinaryReader(executingAssembly.GetManifestResourceStream("               "));
  14.             short num = (short) (.ReadInt16() ^ -24047);
  15.             if (num == 0)
  16.             {
  17.                  = (short) (.ReadInt16() ^ 0x3130);
  18.             }
  19.             else
  20.             {
  21.                  = .ReadBytes(num);
  22.             }
  23.              = callingAssembly.GetName().GetPublicKeyToken();
  24.             if ((!= null) && (.Length == 0))
  25.             {
  26.                  = null;
  27.             }
  28.         }
  29.         int num2 =  ^ -740476241;
  30.         .BaseStream.Position = num2;
  31.         if (!= null)
  32.         {
  33.             buffer = ;
  34.         }
  35.         else
  36.         {
  37.             short num3;
  38.             if (== -1)
  39.             {
  40.                 num3 = (short) ((.ReadInt16() ^ -19866) ^ num2);
  41.             }
  42.             else
  43.             {
  44.                 num3 = ;
  45.             }
  46.             if (num3 == 0)
  47.             {
  48.                 buffer = null;
  49.             }
  50.             else
  51.             {
  52.                 buffer = .ReadBytes(num3);
  53.             }
  54.         }
  55.         int count = (.ReadInt32() ^ num2) ^ 0x5cac0fed;
  56.         bool flag = (count & -2147483648) != 0;
  57.         if (flag)
  58.         {
  59.             count &= 0x7fffffff;
  60.         }
  61.         byte[] bytes =  .(buffer, .ReadBytes(count));
  62.         if ((!= null) != )
  63.         {
  64.             for (int i = 0; i < count; i++)
  65.             {
  66.                 byte num6 = [& 7];
  67.                 num6 = (byte) ((num6 << 3) | (num6 >> 5));
  68.                 bytes[i] = (byte) (bytes[i] ^ num6);
  69.             }
  70.         }
  71.         if (flag && !)
  72.         {
  73.             char[] chArray = new char[count];
  74.             for (int j = 0; j < count; j++)
  75.             {
  76.                 chArray[j] = (char) bytes[j];
  77.             }
  78.             str = new string(chArray);
  79.         }
  80.         else
  81.         {
  82.             str = Encoding.Unicode.GetString(bytes, 0, bytes.Length);
  83.         }
  84.         if ()
  85.         {
  86.             str = ((+ count) ^ 0xe4a78).ToString("X");
  87.         }
  88.         str = string.Intern(str);
  89.         &#8192;..Add(, str);
  90.         if (&#8192;..Count == 0x7d0)
  91.         {
  92.             .Close();
  93.              = null;
  94.              = (byte[]) (= null);
  95.         }
  96.     }
  97.     return str;
  98. }


Прогонял через SAE, но он их приводит в нечитабельный вид.
Если нужен сам экзешник, могу скинуть в ЛС.




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 20 февраля 2011 12:48
· Личное сообщение · #2

Assembly callingAssembly = Assembly.GetCallingAssembly();
 = callingAssembly.GetName().GetPublicKeyToken();
юзает стронг нэйм вызывающей сборки. поэтому сае не правильно декодит.
пропатч GetCallingAssembly на GetExecutingAssembly например. ну и обойти проверку стронгнейма фреймворком, и декодить стринги. или вшить стронг нейм верный сюда.

-----
zzz


| Сообщение посчитали полезным: SwordBack

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

Создано: 20 февраля 2011 13:17
· Личное сообщение · #3

Большое спасибо)
Вопрос исчерпан.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 февраля 2011 13:40
· Личное сообщение · #4

Раз исчерпан, тогда закрою.


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