Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Май 2020
- Сообщения
- 36
- Реакции
- 1
Я хочу декомпилировать GameAssembly.dll через ILL2CPP Decompiler, но он говорит что метадата зашифрована (v29), на стороннем форуме я узнал что в игре есть функция, которая её декодит (логично), нашёл её в IDA через xrefs
В этой строке, видно что вызывается некоторая функция и результат сохраняется в перменную v4
Я так предполагаю что это не функция декода, а просто считывание содержимого файла. Вот тут я и застрял, что искать как и в какой момент. Если подскажите буду очень благодарен =)
C++:
char __fastcall sub_180385640(_DWORD *a1, _DWORD *a2)
{
__int64 v4; // rax
unsigned __int64 v5; // kr00_8
unsigned __int64 v6; // rax
size_t v7; // rcx
v4 = sub_180336E70("global-metadata.dat");
qword_1839D7858 = v4;
if ( v4 )
{
v5 = *(v4 + 172);
qword_1839D7860 = v4;
*a1 = v5 / 0x28;
v6 = *(v4 + 180) >> 6;
dword_1839D7628 = v5 / 0x28;
v7 = dword_1839D7628;
*a2 = v6;
qword_1839D7630 = j_j__calloc_base(v7, 0x18ui64);
qword_1839D7650 = j_j__calloc_base(*(qword_1839D7870 + 48), 8ui64);
qword_1839D7658 = j_j__calloc_base(*(qword_1839D7860 + 164) / 0x58ui64, 8ui64);
qword_1839D7640 = j_j__calloc_base(*(qword_1839D7860 + 52) >> 5, 8ui64);
qword_1839D7638 = j_j__calloc_base(*(qword_1839D7870 + 64), 8ui64);
sub_1803864E0(sub_180385EC0, sub_1803858B0);
LOBYTE(v4) = 1;
}
return v4;
}
В этой строке, видно что вызывается некоторая функция и результат сохраняется в перменную v4
v4 = sub_180336E70("global-metadata.dat");
Я так предполагаю что это не функция декода, а просто считывание содержимого файла. Вот тут я и застрял, что искать как и в какой момент. Если подскажите буду очень благодарен =)