Цитата:
ну вот как? каааааак? с чего начинать, куда смотреть... расскажите методу, плиз.
|
Ну я не спец в этом, а ищу их можна сказать по строке
"ClientServices.cpp"
выше находится массив с функциями:
внутри NetClient__ProcessMessage0 - находится функция ту которую мы ищем.
Код:
signed int __thiscall NetClient__ProcessMessage0(void *this, int a2, int a3, int a4)
{
void *v4; // edi@1
bool v5; // zf@1
int v7; // [sp+4h] [bp-18h]@2
int v8; // [sp+8h] [bp-14h]@2
int v9; // [sp+Ch] [bp-10h]@2
int v10; // [sp+10h] [bp-Ch]@2
int v11; // [sp+14h] [bp-8h]@2
int v12; // [sp+18h] [bp-4h]@2
v4 = this;
sub_798A6B();
v5 = *((_DWORD *)v4 + 339) == 5;
dword_10AB260 += a4 + 2;
if ( v5 )
{
v10 = -1;
v8 = a3;
v11 = a4;
v9 = 0;
v12 = 0;
v7 = (int)off_D298E8;
NetClient__ProcessMessage(a2, &v7, 0);
v7 = (int)off_D298E8;
sub_408F9E(&v7);
}
sub_79B357();
return 1;
}
это приемка пакетов, а отправка тоже по строке ("creaturecache.wdb"):
единственная ссылка ведет нас сюда
Код:
sub_628B9E(1464684354, "creaturecache.wdb", PH_CMSG_CREATURE_QUERY, 0, 0, 1, 0);
а в PH_CMSG_CREATURE_QUERY
Код:
void __cdecl PH_CMSG_CREATURE_QUERY(int a1)
{
char v1; // [sp+0h] [bp-14h]@1
int v2; // [sp+10h] [bp-4h]@1
sub_6909BB(&v1);
v2 = *(_DWORD *)a1;
NetClient__Send_d(&v1);
sub_690F91(&v1);
}
int __cdecl NetClient__Send_d(int a1)
{
int result; // eax@1
void *v2; // eax@2
result = sub_A65D94();
if ( result )
{
v2 = (void *)sub_A65D94();
result = sub_79A82A(v2, a1, 2); // NetClient__Send
}
return result;
}
int __thiscall sub_79A82A(void *this, int a2, int a3)
{
int v3; // ebx@1
int v4; // eax@1
int v6; // [sp+Ch] [bp-18h]@1
int v7; // [sp+10h] [bp-14h]@1
int v8; // [sp+14h] [bp-10h]@1
int v9; // [sp+18h] [bp-Ch]@1
int v10; // [sp+1Ch] [bp-8h]@1
int v11; // [sp+20h] [bp-4h]@1
v11 = -1;
v3 = (int)this;
v4 = *(_DWORD *)a2;
v6 = (int)off_D298E8;
v7 = 0;
v8 = 0;
v9 = 0;
v10 = 0;
(*(void (__stdcall **)(int *))(v4 + 8))(&v6);
v11 = 0;
NetClient__Send2(v3, (int)&v6, a3);
v6 = (int)off_D298E8;
return sub_408F9E(&v6);
}
Способы примитивные, но хз... как-то так и ищу.
Последние 2 раза делал дифы баз ИДА.