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

Найти эту функцию, можно по строке ACCOUNT_MESSAGE_BODY_NO_READ_URL, она такая одна
Код:
signed int __thiscall sub_92B460(int this, int a2)
{
  int v2; // edi@1
  int v3; // edx@3
  char *v4; // ecx@3
  signed int v5; // esi@3
  int v6; // eax@3
  char v7; // al@4
  int v8; // eax@9
  signed int v9; // esi@9
  int v10; // esi@9
  int v11; // eax@9
  char v13; // [sp+4h] [bp-57Ch]@3
  char v14; // [sp+504h] [bp-7Ch]@9
  char v15[20]; // [sp+560h] [bp-20h]@9
  char v16; // [sp+574h] [bp-Ch]@9
  int v17; // [sp+57Ch] [bp-4h]@11

  v2 = this;
  if ( *(_DWORD *)(this + 4) == 1 || *(_DWORD *)(this + 60) )
    return 0;
  v13 = 0;
  v6 = sub_4D3320();
  v4 = &v13;
  v5 = 1279;
  v3 = v6 - (_DWORD)&v13;
  while ( 1 )
  {
    v7 = v4[v3];
    *v4++ = v7;
    if ( !v7 )
      break;
    --v5;
    if ( !v5 )
      goto LABEL_8;
  }
  if ( v5 )
    goto LABEL_9;
LABEL_8:
  *v4 = 0;
LABEL_9:
  v8 = ClientServices__GetCurrentConnection();
  v10 = ClientServices__GetSessionKey(v8);
  SHA1__Init(&v14);
  SHA1__Update(&v14, v10, 40);
  SHA1__Update(&v14, "\vz", 2);
  SHA1__Final(v15, &v14);
  DynamicString__DynamicString(&v16);
  DynamicString__Resize(1024);
  v11 = FrameScript__GetText("ACCOUNT_MESSAGE_BODY_NO_READ_URL", -1, 0);
  sub_7CB5A0(v11);
  DynamicString__Append("?accountName=");
  DynamicString__Append(&v13);
  DynamicString__Append("&sessionKeyHash=");
  v9 = 0;
  do
    DynamicString__Unknown1((unsigned __int8)v15[v9++]);
  while ( v9 < 20 );
  DynamicString__Append("&messageId=");
  DynamicString__Unknown1(a2);
  if ( !(unsigned __int8)sub_7D4F60(v17, sub_92C010, v2) )
  {
    *(_DWORD *)(v2 + 4) = 3;
    DynamicString__Free(&v16);
    return 0;
  }
  *(_DWORD *)(v2 + 64) = 0;
  sub_92BFF0(v2);
  DynamicString__Free(&v16);
  return 1;
}
Код:
int __cdecl ClientServices__GetCurrentConnection()
{
  return dword_CA5C34;// в десятичной системе исчисления это и будет  искомое значение
}
Код:
int __thiscall ClientServices__GetSessionKey(void *this)
{
  return (int)((char *)this + 1288);
}
Когда-то показывал все это TOM_RUS еще на старом форуме
__________________
Konctantin вне форума   Ответить с цитированием