Цитата:
Сообщение от VISTALL
|
Для разбора почти не нужно напрягаться. ( типы данных есть в дампе ).
Наверно мало кто дамп смотрел
Свернуть ↑
PHP код:
v63 = &v41;
v1 = 0;
v62 = 0;
*(_DWORD *)a1 = &off_206421D4;
v43 = a1 + 4;
*(_DWORD *)(a1 + 4) = 0;
*(_DWORD *)(a1 + 8) = 0;
*(_DWORD *)(a1 + 12) = 0;
v64 = 2;
*(_DWORD *)a1 = &off_20642224;
LOBYTE(v64) = 3;
v2 = sub_200A04F0(16);
v43 = v2;
LOBYTE(v64) = 4;
if ( v2 )
{
FString::FString(&v42, L"item_begin");
LOBYTE(v64) = 5;
v1 = 1;
v62 = 1;
v3 = sub_200ACA10(v2, (int)&v42, 99);
}
else
{
v3 = 0;
}
v64 = 6;
v61 = v3;
*(_DWORD *)(a1 + 16) = sub_20106E00(a1 + 4, (int)&v61);
v64 = 3;
if ( v1 & 1 )
{
v1 &= 0xFFFFFFFEu;
v62 = v1;
FString::_FString(&v42);
}
v4 = sub_200A04F0(16);
v43 = v4;
LOBYTE(v64) = 7;
if ( v4 )
{
FString::FString(&v42, L"object_id");
LOBYTE(v64) = 8;
v1 |= 2u;
v62 = v1;
v5 = sub_200ACA10(v4, (int)&v42, 100);
}
else
{
v5 = 0;
}
v64 = 9;
v60 = v5;
*(_DWORD *)(a1 + 20) = sub_20106E00(a1 + 4, (int)&v60);
v64 = 3;
if ( v1 & 2 )
{
v1 &= 0xFFFFFFFDu;
v62 = v1;
FString::_FString(&v42);
}
v6 = sub_200A04F0(16);
v43 = v6;
LOBYTE(v64) = 10;
if ( v6 )
{
FString::FString(&v42, L"pDefense");
LOBYTE(v64) = 11;
v1 |= 4u;
v62 = v1;
v7 = sub_200ACA10(v6, (int)&v42, 102);
}
else
{
v7 = 0;
}
v64 = 12;
v59 = v7;
*(_DWORD *)(a1 + 24) = sub_20106E00(a1 + 4, (int)&v59);
v64 = 3;
if ( v1 & 4 )
{
v1 &= 0xFFFFFFFBu;
v62 = v1;
FString::_FString(&v42);
}
v8 = sub_200A04F0(16);
v43 = v8;
LOBYTE(v64) = 13;
if ( v8 )
{
FString::FString(&v42, L"mDefense");
LOBYTE(v64) = 14;
v1 |= 8u;
v62 = v1;
v9 = sub_200ACA10(v8, (int)&v42, 102);
}
else
{
v9 = 0;
}
v64 = 15;
v58 = v9;
*(_DWORD *)(a1 + 28) = sub_20106E00(a1 + 4, (int)&v58);
v64 = 3;
if ( v1 & 8 )
{
v1 &= 0xFFFFFFF7u;
v62 = v1;
FString::_FString(&v42);
}
v10 = sub_200A04F0(16);
v43 = v10;
LOBYTE(v64) = 16;
if ( v10 )
{
FString::FString(&v42, L"pAttack");
LOBYTE(v64) = 17;
v1 |= 0x10u;
v62 = v1;
v11 = sub_200ACA10(v10, (int)&v42, 102);
}
else
{
v11 = 0;
}
v64 = 18;
v57 = v11;
*(_DWORD *)(a1 + 32) = sub_20106E00(a1 + 4, (int)&v57);
v64 = 3;
Свернуть ↑Развернуть ↓
Если присмотреться то это и есть сборщик самой датки.
скажем
FString::FString(&v42, L"pAttack");
LOBYTE(v64) = 17;
v1 |= 0x10u;
v62 = v1;
v11 = sub_200ACA10(v10, (int)&v42, 102);
где pAttack параметр 102 тип ( float ).
99 начало строки
100 int
101 конец строки
102 float
115 String
109 цикл