Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
Само собой оригинальный клиент не читает пересохраненные файлы, так как у него нет нового ключа RSA, который использует l2encdec (ключ взят с потолка разработчиком l2encdec и его надо подсунуть клиенту). А вторую часть ключа NCsoft (для шифрования) получить не представляется возможным.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 629
Тем: 14
Зарегистрирован: Feb 2013
Репутация:
4,073
Для того, что бы разбирать клиент и реверсить его требуется знание ASM & WinAPI (Winapi не обьязателен..но хотя бы понимать какие функции вызывает клиент , по типу GetFileSize/GetfileSizeEX)
А теперь думаем, сколько человек знает ASM и функции WinAPI на форуме по L2, где 99% Java кодеры.
Ну кроме Хинта...
Удачи в этом деле. Советую для начала поучить хотя бы базовый Ассемблер.
Сообщений: 4,692
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
PaINN Написал:А теперь думаем, сколько человек знает ASM и функции WinAPI на форуме по L2, где 99% Java кодеры.
Ну с пяток наберётся точно
P.S. Помимо Hint'a.
Fortuna - non penis, in manus non recipe.
Сообщений: 629
Тем: 14
Зарегистрирован: Feb 2013
Репутация:
4,073
Ashe Написал:Ну с пяток наберётся точно
P.S. Помимо Hint'a.
Возможно и есть такие.
Но большинство нубы в этой сфере, которые в жизни не видели ничего сложного . (Именно поэтому предпочитаю C/C++ > Java) .
(P.s никому не в обиду!)
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
PaINN;287339 Написал:Советую для начала поучить хотя бы базовый Ассемблер Помогает псевдокод иды.
PaINN;287339 Написал:Удачи в этом деле Спасибо. Уже сдвинулись с мертвой точки
Hint;287336 Написал:который использует l2encdec (ключ взят с потолка разработчиком l2encdec и его надо подсунуть клиенту). Не совсем спасает. Опять же клиент сбрасывает все на нелогируемый appExit.
Вопрос еще встал в другом:
Распаковать то его можно, от долбаной дряни. Дальше все же видно, что он не чистый вовсе.
Собственно коды РСА("с потолка разработчиком l2encdec"):
Код: 75b4d6de5c016544068a1acf125869f43d2e09fc55b8b1e289556daf9b8757635593446288b3653da1ce91c87bb1a5c18f16323495c55d7d72c0890a83f69bfd1fd9434eb1c02f3e4679edfa43309319070129c267c85604d87bb65bae205de3707af1d2108881abb567c3b3d069ae67c3a4c6a3aa93d26413d4c66094ae2039
---
И так же:
"0000001d"
Оригинал:
Код: 97df398472ddf737ef0a0cd17e8d172f0fef1661a38a8ae1d6e829bc1c6e4c3cfc19292dda9ef90175e46e7394a18850b6417d03be6eea274d3ed1dde5b5d7bde72cc0a0b71d03608655633881793a02c9a67d9ef2b45eb7c08d4be329083ce450e68f7867b6749314d40511d09bc5744551baa86a89dc38123dc1668fd72d83
---
И так же:
"00000035"
Дальше стал вопрос с самими датниками, который старый енкДекодер отказывается распаковывать(там на руках новая хрень есть, но как и что в ней пашет хрен понятно, и работает через старый енкДекодер), учитывая что он вроде совершенно спокойно анпакал и с сободного ключа и с оригинала О_О
P.S - Hint помнится ты очень долго пытался добиться (вроде) алгоритмов шифрования, или чего-то(не помню, давно дело было, еще на coderx), с овнера енкДекодера. Он так и не раскололся  ? или все же...?
Сообщений: 406
Тем: 10
Зарегистрирован: Jun 2008
Репутация:
2,862
Декодирование есть в шаре а конкретнее тут
Кодирование процесс обратный )
Как то давно решили свой декодер делать ( когда disam перестал работать )
Помогли с codex-а темы.
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
Bacek;287395 Написал:Как то давно решили свой декодер делать ( когда disam перестал работать )
Помогли с codex-а темы. Ну пока(и на том радует  ) старый добрый файлЭдит с плюшками от хинта работает. Да и датки разобрать тоже можно (писал что есть на руках хренотень, которая непонятным образом работает, но работает  Получил из 3х рук. Вполне норм разбирает линдвиор файлы. Правда если в линдвиоре они используют что-то новое, то этот "расширенный" енкДек попросту перегоняет все в старый вариант(я просто хз пока как это обозвать, учусь  )).
Bacek;287395 Написал:Подскажу по даткам в лв ( не там копаешь , все на много проще ). Обращусь когда совсем буду в печали  (уже для себя). Просто данным топиком хотел разобрать все это дело не в приват, а на пользование простым смертным(хотя уже личности в виде Пейнов начинают накалять со своими "нуб","учи асм" и т.д).
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
KilRoy Написал:Дальше стал вопрос с самими датниками, который старый енкДекодер отказывается распаковывать(там на руках новая хрень есть, но как и что в ней пашет хрен понятно, и работает через старый енкДекодер), учитывая что он вроде совершенно спокойно анпакал и с сободного ключа и с оригинала О_О
P.S - Hint помнится ты очень долго пытался добиться (вроде) алгоритмов шифрования, или чего-то(не помню, давно дело было, еще на coderx), с овнера енкДекодера. Он так и не раскололся ? или все же...? Что именно не работает? енкДекодер - l2encdec?
Да нет, с кем-то в аське с этого форума общался, речь зашла о файлах, стало интересно, начал копаться. В тот же вечер и тему здесь создал (Bacek дал ссылку выше). В коде и ключи, кстати, есть.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
03-25-2013, 04:24 PM
(Сообщение последний раз редактировалось: 03-25-2013, 04:57 PM KilRoy.)
Hint;287404 Написал:Что именно не работает? енкДекодер - 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;287404 Написал:енкДекодер - 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"
Сообщений: 3
Тем: 0
Зарегистрирован: Mar 2013
Репутация:
0
пару часов искал декодер для линдвиора  понял что их в паблике нет, наткнулся на Вашу забавную тему... да же зарегистрировался
Код: RSA stream not divisible by 128.
потратил минут 20 на анализ этого сообщения
так как ключ не менялся, а декодер все еще ругается, остается сделать простую операцию, а именно выровнить 'RSA stream' на 128 байт
|