Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Игровой клиент (https://forum.zone-game.info/forumdisplay.php?f=54)
-   -   А давайте напишем свой L2FileEdit :-) (https://forum.zone-game.info/showthread.php?t=41214)

BSmith 08.08.2016 20:09

А давайте напишем свой L2FileEdit :-)
 
Вдохновившись темой https://forum.zone-game.info/showthread.php?t=40993 захотелось мне написать на коленке что-то вроде простенького редактора dat файлов, полноценного редактора конечно не получилось, но все же возможно найдутся люди кто подхватит идею

Итак, первым делом пришлось вытащить ключ из l2encdec, тут пришла на помощь IDA, открываю файл l2encdec.exe, декомпил в С код, долгий анализ и ничего не вышло, нету его там, но где то же он есть )) Открываю gg-bps.dll и вот она заветная строка

PHP код:

      v3 "75b4d6de5c016544068a1acf125869f43d2e09fc55b8b1e289556daf9b8757635593446288b3653da1ce91c87bb1a5c18f16323495c55"
           "d7d72c0890a83f69bfd1fd9434eb1c02f3e4679edfa43309319070129c267c85604d87bb65bae205de3707af1d2108881abb567c3b3d0"
           "69ae67c3a4c6a3aa93d26413d4c66094ae20390000001d"


Этих данных нам с головой хватит для дешифрации (Примечание, способ работает после прогона папки system утилитой patcher.exe)

Первые 256 байт это так называемый modulus, оставшиеся 8 байт это publicExponent (то что нужно для инициализации RSAPublicKeySpec)

Далее конечно же написание кода с использованием полученных ключей, что примечательно структура даток напоминает структуру пакетов, а именно ByteBuffer и все вытекающее, чтобы увидеть быстрый результат пришлось взять L2GameDataName.dat т.к. он состоит из списка простых строк

Код:
Свернуть ↑Развернуть ↓


И конечно же результат, точнее вырезки из лога

Результат:
Свернуть ↑Развернуть ↓


P.s. Подводя итоги можно с уверенностью сказать что основа для декодирования даток готова, далее необходимо собственно сделать поддержку структур нужных нам файлов а именно это

PHP код:

int count Integer.reverseBytes(byteBuffer.getInt());
for(
int i 0counti++)
{
    
System.out.println(readUtfString(byteBuffer));



Emperor 08.08.2016 20:34

Re: А давайте напишем свой L2FileEdit :-)
 
За старания плюс, но зачем придумывать велосипед? Профит разве что от работы с новыми хроникам, т.к. файледит не всегда быстро обновляют до свежих хроник\протоколов.

BSmith 08.08.2016 20:40

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

Сообщение от Emperor (Сообщение 416699)
За старания плюс, но зачем придумывать велосипед? Профит разве что от работы с новыми хроникам, т.к. файледит не всегда быстро обновляют до свежих хроник\протоколов.

Это скорее хобби + на эту тему мануалов я как таковых не нашел (хотя может плохо искал)

Zubastic 08.08.2016 20:52

Re: А давайте напишем свой L2FileEdit :-)
 
https://github.com/L2Miko/L2FileEdit
автор делай свой форк и вперед пилить хелиос :)

BSmith 09.08.2016 09:45

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

Сообщение от Zubastic (Сообщение 416702)
https://github.com/L2Miko/L2FileEdit
автор делай свой форк и вперед пилить хелиос :)

Форк ? У этого товарища стандартный L2FileEdit который не поддерживает многие новые структуры (об этом уже писали на форуме не 1 раз). В данном случае нужна именно новая утилита

smeli 09.08.2016 10:54

Re: А давайте напишем свой L2FileEdit :-)
 
думаю в сентябре я присоединюсь к етому проекту

GOODPower 09.08.2016 11:24

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

думаю в сентябре я присоединюсь к етому проекту
... надеюсь ты шутишь :D

Zubastic 09.08.2016 11:52

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

Сообщение от BSmith (Сообщение 416719)
Форк ? У этого товарища стандартный L2FileEdit который не поддерживает многие новые структуры (об этом уже писали на форуме не 1 раз). В данном случае нужна именно новая утилита

Форк - своя разработка основанная на том, что я кинул выше. Добавляете структуры и получаете новый файл едит :)

smeli 09.08.2016 12:43

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

Сообщение от GOODPower (Сообщение 416723)
... надеюсь ты шутишь :D

а чего вы боитесь то?

Emperor 09.08.2016 14:33

Re: А давайте напишем свой L2FileEdit :-)
 
Цитата:

Сообщение от BSmith (Сообщение 416701)
Это скорее хобби + на эту тему мануалов я как таковых не нашел (хотя может плохо искал)

Пили компилятор *.u файлов.
http://cs5.pikabu.ru/images/previews...9111212862.jpg


Текущее время: 08:24. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot