Цитата:
Сообщение от Hint
Что именно не работает? енкДекодер - l2encdec?
|
И енкДек(отписывает что произошла внутренняя ошибка. Его еже не дебажил, не сильно приоритетен.) и подмена ключей на клиенте - точней он, как писал выше, падает без лога. Деббагер показал удивительные вещи:
Код:
Log data, item 62
Address=1091E602
Message=Access violation when writing to [04F00000]
Код:
1091E602 > 66:0F7F07 MOVQ QWORD PTR DS:[EDI],MM0
после чего благополучно закрыл трид.
---
П.С - падает клиент после попытки подсунуть ему декодированные датки.
Хотя после смены ключа он вообще ничего грузить не хочет xD (Ни декодированные, ни оригинал). Хотя если опять же вручную вернуть ему старый ориг. ключ - все нормально Следовательно момент с "кривые руки" отпадает сразу...
П.С2 - убив любой конфиг файл, он всеже допрыгивает до декрипта файлов(клиент всмысле), но высылает мессаджБокс с "Файл корруптом".
---
Собстна по злому адресу имеется:
Код:
void __cdecl sub_1091E5E2(int a1, unsigned int a2)
{
int v2; // edi@1
unsigned int v3; // ecx@1
v2 = a1;
v3 = a2 >> 7;
do
{
_mm_store_si128((__m128i *)v2, 0);
_mm_store_si128((__m128i *)(v2 + 16), 0);
_mm_store_si128((__m128i *)(v2 + 32), 0);
_mm_store_si128((__m128i *)(v2 + 48), 0);
_mm_store_si128((__m128i *)(v2 + 64), 0);
_mm_store_si128((__m128i *)(v2 + 80), 0);
_mm_store_si128((__m128i *)(v2 + 96), 0);
_mm_store_si128((__m128i *)(v2 + 112), 0);
v2 += 128;
--v3;
}
while ( v3 );
}
Который выполняется в:
Код:
int __cdecl sub_1091E639(int a1, int a2, int a3)
{
int result; // eax@1
int v4; // edx@2
int v5; // edi@5
int j; // ecx@5
int v7; // edi@9
int i; // ecx@9
int v9; // [sp+4h] [bp-Ch]@2
result = a1;
if ( (char)a1 % -16 )
{
v7 = a1;
for ( i = 16 - (unsigned __int8)((char)a1 % -16); i; --i )
*(_BYTE *)v7++ = 0;
sub_1091E639(16 - (unsigned __int8)((char)a1 % -16) + a1, 0, a3 - (16 - (unsigned __int8)((char)a1 % -16)));
result = a1;
}
else
{
v4 = a3 & 0x7F;
v9 = v4;
if ( a3 != v4 )
{
sub_1091E5E2(a1, a3 - v4);
result = a1;
v4 = v9;
}
if ( v4 )
{
v5 = a3 + result - v4;
for ( j = v9; j; --j )
*(_BYTE *)v5++ = 0;
result = a1;
}
}
return result;
}
----------------
Цитата:
Сообщение от Hint
енкДекодер - l2encdec?
|
Да. Собственно его лог(многообещающий прям
):
Код:
Input file: "AbnormalDefaultEffect.dat"
Output file (given or generated): "dec-AbnormalDefaultEffect.dat"
Header: "Lineage2Ver413"
Action chosen: decode legacy 41x
Outer stream size: 236
RSA pair #0 chosen (meaningful for 41x only).
RSA stream not divisible by 128.
There was an error during inner processing.
Patcher: patching file "AbnormalDefaultEffect.dat" failed.
Aborting due to l2encdec's error.
Hmmm, looks like there have been some problems with l2encdec's call.
Оригинальный
"AbnormalDefaultEffect.dat"
Раскодированный
"AbnormalDefaultEffect.dat"