Показать сообщение отдельно
Старый 12.10.2014, 23:09   #5
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

В аддоне 6.х.х нас ждет небольшое изменение:
похоже уже нету разбивки на тип пакетов.
Код:
char __thiscall NetClient::ProcessMessage(void *this, int a2, int a3, int buffer, int a5)
{
  int v5; // esi@1
  void *v6; // edi@1
  char result; // al@1

  ++dword_10B5C24;
  v5 = buffer;
  v6 = this;
  CDataStore::GetInt32(buffer, (int)&buffer);
  result = sub_623A4A(v6, a2, a3, buffer, v5);
  if ( !result )
    result = (*(int (__thiscall **)(_DWORD))(*(_DWORD *)v5 + 24))(v5);
  return result;
}
Код:
char __thiscall sub_623A4A(void *this, int a2, int a3, int a4, int a5)
{
  int *v5; // eax@1
  int *v6; // edi@1
  int v7; // esi@1
  int i; // eax@1
  int v9; // ebx@2
  void *v11; // [sp+Ch] [bp-4h]@1

  v11 = this;
  v5 = sub_6239BC();
  v6 = v5;
  v7 = *v5;
  for ( i = *v5 + 4 * v5[1]; ; i = *v6 + 4 * v6[1] )
  {
    if ( v7 == i )
      return 0;
    v9 = *(_DWORD *)v7;
    if ( (unsigned __int8)(*(int (__cdecl **)(int))(*(_DWORD *)v7 + 4))(a4) )
      break;
    v7 += 4;
  }
  (*(void (__cdecl **)(void *, _DWORD, int, int, int, int))(v9 + 20))(v11, 0, a2, a3, a4, a5);
  return 1;
}
__________________
Konctantin вне форума   Ответить с цитированием