Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
L2.exe - и все по нему
#11
Само собой оригинальный клиент не читает пересохраненные файлы, так как у него нет нового ключа RSA, который использует l2encdec (ключ взят с потолка разработчиком l2encdec и его надо подсунуть клиенту). А вторую часть ключа NCsoft (для шифрования) получить не представляется возможным.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#12
Для того, что бы разбирать клиент и реверсить его требуется знание ASM & WinAPI (Winapi не обьязателен..но хотя бы понимать какие функции вызывает клиент , по типу GetFileSize/GetfileSizeEX)

А теперь думаем, сколько человек знает ASM и функции WinAPI на форуме по L2, где 99% Java кодеры.

Ну кроме Хинта...


Удачи в этом деле. Советую для начала поучить хотя бы базовый Ассемблер.
Ответ
#13
PaINN Написал:А теперь думаем, сколько человек знает ASM и функции WinAPI на форуме по L2, где 99% Java кодеры.

Ну с пяток наберётся точно Smile

P.S. Помимо Hint'a.
Fortuna - non penis, in manus non recipe.
Ответ
#14
Ashe Написал:Ну с пяток наберётся точно Smile

P.S. Помимо Hint'a.

Возможно и есть такие.

Но большинство нубы в этой сфере, которые в жизни не видели ничего сложного . (Именно поэтому предпочитаю C/C++ > Java) .

(P.s никому не в обиду!)
Ответ
#15
PaINN;287339 Написал:Советую для начала поучить хотя бы базовый Ассемблер
Помогает псевдокод иды.
PaINN;287339 Написал:Удачи в этом деле
Спасибо. Уже сдвинулись с мертвой точки Smile
Hint;287336 Написал:который использует l2encdec (ключ взят с потолка разработчиком l2encdec и его надо подсунуть клиенту).
Не совсем спасает. Опять же клиент сбрасывает все на нелогируемый appExit.
Вопрос еще встал в другом:
Распаковать то его можно, от долбаной дряни. Дальше все же видно, что он не чистый вовсе.

Собственно коды РСА("с потолка разработчиком l2encdec"):
Код:
75b4d6de5c016544068a1acf125869f43d2e09fc55b8b1e289556daf9b8757635593446288b3653da1ce91c87bb1a5c18f16323495c55d7d72c0890a83f69bfd1fd9434eb1c02f3e4679edfa43309319070129c267c85604d87bb65bae205de3707af1d2108881abb567c3b3d069ae67c3a4c6a3aa93d26413d4c66094ae2039
---
И так же:
"0000001d"

Оригинал:
Код:
97df398472ddf737ef0a0cd17e8d172f0fef1661a38a8ae1d6e829bc1c6e4c3cfc19292dda9ef90175e46e7394a18850b6417d03be6eea274d3ed1dde5b5d7bde72cc0a0b71d03608655633881793a02c9a67d9ef2b45eb7c08d4be329083ce450e68f7867b6749314d40511d09bc5744551baa86a89dc38123dc1668fd72d83
---
И так же:
"00000035"

Дальше стал вопрос с самими датниками, который старый енкДекодер отказывается распаковывать(там на руках новая хрень есть, но как и что в ней пашет хрен понятно, и работает через старый енкДекодер), учитывая что он вроде совершенно спокойно анпакал и с сободного ключа и с оригинала О_О

P.S - Hint помнится ты очень долго пытался добиться (вроде) алгоритмов шифрования, или чего-то(не помню, давно дело было, еще на coderx), с овнера енкДекодера. Он так и не раскололся Smile? или все же...?
Ответ
#16
Декодирование есть в шаре а конкретнее тут
Кодирование процесс обратный )

Как то давно решили свой декодер делать ( когда disam перестал работать )
Помогли с codex-а темы.

картинкО
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
Ответ
#17
Bacek;287395 Написал:Как то давно решили свой декодер делать ( когда disam перестал работать )
Помогли с codex-а темы.
Ну пока(и на том радует Smile ) старый добрый файлЭдит с плюшками от хинта работает. Да и датки разобрать тоже можно (писал что есть на руках хренотень, которая непонятным образом работает, но работает Smile Получил из 3х рук. Вполне норм разбирает линдвиор файлы. Правда если в линдвиоре они используют что-то новое, то этот "расширенный" енкДек попросту перегоняет все в старый вариант(я просто хз пока как это обозвать, учусь Smile )).
[Изображение: e7Vxr.th.png]


Bacek;287395 Написал:Подскажу по даткам в лв ( не там копаешь , все на много проще ).
Обращусь когда совсем буду в печали Smile (уже для себя). Просто данным топиком хотел разобрать все это дело не в приват, а на пользование простым смертным(хотя уже личности в виде Пейнов начинают накалять со своими "нуб","учи асм" и т.д).
Ответ
#18
KilRoy Написал:Дальше стал вопрос с самими датниками, который старый енкДекодер отказывается распаковывать(там на руках новая хрень есть, но как и что в ней пашет хрен понятно, и работает через старый енкДекодер), учитывая что он вроде совершенно спокойно анпакал и с сободного ключа и с оригинала О_О

P.S - Hint помнится ты очень долго пытался добиться (вроде) алгоритмов шифрования, или чего-то(не помню, давно дело было, еще на coderx), с овнера енкДекодера. Он так и не раскололся Smile? или все же...?
Что именно не работает? енкДекодер - l2encdec?

Да нет, с кем-то в аське с этого форума общался, речь зашла о файлах, стало интересно, начал копаться. В тот же вечер и тему здесь создал (Bacek дал ссылку выше). В коде и ключи, кстати, есть.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#19
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 (Ни декодированные, ни оригинал). Хотя если опять же вручную вернуть ему старый ориг. ключ - все нормально Smile Следовательно момент с "кривые руки" отпадает сразу...
П.С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?
Да. Собственно его лог(многообещающий прям Smile ):
Код:
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"
Ответ
#20
пару часов искал декодер для линдвиораSmile понял что их в паблике нет, наткнулся на Вашу забавную тему... да же зарегистрировался

Код:
RSA stream not divisible by 128.

потратил минут 20 на анализ этого сообщенияSmile

так как ключ не менялся, а декодер все еще ругается, остается сделать простую операцию, а именно выровнить 'RSA stream' на 128 байт
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)