Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# .NET

Войти
Регистрация
Восстановить пароль
 
DarkSkeleton
#1

Декриптер - C#

05.09.2011, 14:30. Просмотров 475. Ответов 1
Метки нет (Все метки)

Уважаемые форумчане помогите с написанием декриптера на C#
Есть декомпилированный исходник

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
unsigned __int8 __cdecl BitRotateDecript(unsigned __int8 *a1, unsigned int a2, unsigned int a3)
{
  unsigned __int8 result; // al@1
  char v4; // bl@1
  unsigned int v5; // ebp@1
  unsigned int v6; // esi@1
  unsigned __int8 v7; // dl@3
  unsigned __int8 i; // [sp+1Ch] [bp+Ch]@1
 
  result = a2;
  v4 = a3;
  v6 = a2 - 1;
  v5 = 8 - a3;
  for ( i = a1[a2 - 1]; (signed int)v6 >= 0; a1[v6 + 1] = result )
  {
    if ( (signed int)v6 <= 0 )
      v7 = i;
    else
      v7 = a1[v6 - 1];
    result = (v7 << v5) | (a1[v6--] >> v4);
  }
  return result;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NickoTin
Почетный модератор
Эксперт .NET
8245 / 3527 / 239
Регистрация: 14.06.2010
Сообщений: 4,510
Записей в блоге: 9
05.09.2011, 16:56 #2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static byte BitRotateDecript ( byte[] a1, int a2, int a3 ) {
    byte result; // al@1
    byte v4; // bl@1
    int v5; // ebp@1
    int v6; // esi@1
    byte v7; // dl@3
    byte i; // [sp+1Ch] [bp+Ch]@1
 
    result = (byte)a2;
    v4 = (byte)a3;
    v6 = a2 - 1;
    v5 = 8 - a3;
    for ( i = a1[a2 - 1]; v6 >= 0; a1[v6 + 1] = result ) {
        if ( v6 <= 0 )
            v7 = i;
        else
            v7 = a1[v6 - 1];
 
        result = (byte)( ( v7 << v5 ) | ( a1[v6--] >> v4 ) );
    }
    return result;
}
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru