Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
23 / 23 / 6
Регистрация: 23.03.2013
Сообщений: 245

Что примерно делает этот код (из HexRays)

25.10.2014, 10:07. Показов 1383. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
int __fastcall sub_4010##(int *a1, int a2)
{
  int result; 
  int v3; 
  signed int v4; 
  signed int v5; 
  char v6; 
 
  if ( a2 )
    *(_DWORD *)a2 = 0;
  if ( !a1 || (result = *(_BYTE *)a1, v3 = (int)((char *)a1 + 1), !*(_BYTE *)a1) )
    return -1;
  if ( a2 )
    ++*(_DWORD *)a2;
  if ( (result & 0xFE) == -4 )
  {
    result &= 1u;
    v4 = 5;
  }
  else
  {
    if ( (result & 0xFC) == -8 )
    {
      result &= 3u;
      v4 = 4;
    }
    else
    {
      if ( (result & 0xF8) == -16 )
      {
        result &= 7u;
        v4 = 3;
      }
      else
      {
        if ( (result & 0xF0) == -32 )
        {
          result &= 0xFu;
          v4 = 2;
        }
        else
        {
          if ( (result & 0xE0) != -64 )
          {
            if ( (char)result < 0 )
              result = -2147483648;
            return result;
          }
          result &= 0x1Fu;
          v4 = 1;
        }
      }
    }
  }
  v5 = 0;
  if ( v4 > 0 )
  {
    while ( 1 )
    {
      v6 = *(_BYTE *)v3++;
      if ( !v6 )
        return -1;
      if ( a2 )
        ++*(_DWORD *)a2;
      if ( (v6 & 0xC0) != -128 )
        break;
      ++v5;
      result = (result << 6) | v6 & 0x3F;
      if ( v5 >= v4 )
        return result;
    }
    result = -2147483648;
  }
  return result;
}

Кто может подсказать для чего этот код?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.10.2014, 10:07
Ответы с готовыми решениями:

Что делает этот код?
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; int main() { long long n; ...

Что делает этот код?
Не могли бы мне помочь int Score = std::atoi( Row ); кажется этот код показывает только числа. каким способом можно вывести тексты

Что делает этот код?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL,&quot;Rus&quot;); const int n=3, k=3; int...

1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
25.10.2014, 10:22
А я, сигнализировал

проще в ассемблерном листинге разобраться чем в этом псевдокоде
смотри кто вызывает функцию, что за параметры, потом в параллель открываешь Си и асм и начинаешь по шагам искать
меняя имена на осмысленные,
и типы тоже меняешь
по крайней мере вот это
Цитата Сообщение от karaulov6 Посмотреть сообщение
v3 = (int)((char *)a1 + 1)
примет осмысленный вид

C
1
2
3
v3=a1[1];
//или
v3=a1->elem1;
по крайней мере if не сработает
Цитата Сообщение от karaulov6 Посмотреть сообщение
int result;
Цитата Сообщение от karaulov6 Посмотреть сообщение
if ( (result & 0xFC) == -8 )
допустим в result -8 0xFFFFFFF8
после операции И 0xFFFFFFF8 & 0xFC=0x08
ну никак не равна -8
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.10.2014, 10:22
Помогаю со студенческими работами здесь

Что этот код делает?
буду очень благодарен если в кратце раскажыте что этот код делает. #include &lt;iostream&gt; #include &lt;cmath&gt; int main(){ ...

Что делает этот код?
Почему выводит 26? int x; for (x=1; x&lt;7;x++) {x=x*x;} cout&lt;&lt;x;

Можете объяснить что делает этот код?
#include &lt;iostream&gt; using namespace std; int main() { char s; cin&gt;&gt;s; for(int i=0;i&lt;5;i++) s=s...

Объясните пожалуйста, что делает этот код
char s=&quot;0123456&quot;; char *pc1, *pc2; pc2=s+1; char *pl=pc2+s-'0'; *pl+=3; pc1=s+*(s+strlen(s)-3) -'0'; *pc1-=*'8'; *pc1=*pc2+1;...

Что делает этот код
Объясните, пожалуйста, русскими словами что делает этот фрагмент кода? protected void Page_Load(object sender, EventArgs e) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru