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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Blade & Soul (https://forum.zone-game.info/forumdisplay.php?f=183)
-   -   BNS эмулятор JAVA (https://forum.zone-game.info/showthread.php?t=33167)

luna9966 25.12.2013 01:13

Re: BNS эмулятор JAVA
 
Итак, сломал я вашего ЛокиРеборна, а точне его патчер для китайской версии. Теперь его программа работает на меня. :redlol: А также у есть полный сурс его патчера и "мифический" криптор для DataFile.bin

Ниже смотрим скрины:





Как вы можете видеть из скрина, русификация будет требовать шрифтов приятных для глаз...

Что касается сурса и криптора. Возможно я переделаю патчер под свои нужды (анпакера/пакера). Если будет время. :)

С наступающим всех!

trixiejack 25.12.2013 14:11

Re: BNS эмулятор JAVA
 
Наверно долго старались, да?


Если у вас есть желание разрабатывать совместно, разрабатывая алгоритмы и анализируя пакеты, напишите в ЛС свой скайп. Про эмулятор я не упоминаю по одной причине - пишу на Go.

luna9966 25.12.2013 17:27

Re: BNS эмулятор JAVA
 
Цитата:

Сообщение от trixiejack (Сообщение 341664)
Наверно долго старались, да?


Если у вас есть желание разрабатывать совместно, разрабатывая алгоритмы и анализируя пакеты, напишите в ЛС свой скайп. Про эмулятор я не упоминаю по одной причине - пишу на Go.

Заняло минут 30 на ночь. Как-то уж очень хвалили этого Локи, а на деле оказалось, то что оказалось. :) Разобрать не составляет труда, а вот заставить программу работать на себя и выполнять вам нужные задачи, чуток сложнее.

По поводу разработок, отпишу с января месяца, после всех праздников.

trixiejack 25.12.2013 18:55

Re: BNS эмулятор JAVA
 
Ничего там сложного нету, декомпилированные исходники правятся минут 5-10 и поменять линк на свой архив с переводом. Это без учета Offset'ов, которые предоставляет Локи .php скриптом, но на данный момент не работает. Переписать программу на легковесный вариант тоже можно, крипт достаточно легкий.

luna9966 27.12.2013 20:36

Re: BNS эмулятор JAVA
 
Небольшие новости...

Таки, я доломал окончательно программку Реборна. Из того что она может:
1. Полностью совместима с корейским клиентом последней версии.
2. Парсит и экспортит весь XML контент из datafile.bin в отдельный файл.
3. Позволяет редактировать поля как в переведенной английской версии, так и в чисто корейской.

Информация, думаю интересная для будущих переводчиков.



Вот так выглядит корейский клиент в русском переводе. Да, нужно подобрать шрифт. Как это сделать я не в курсе, поскольку в эту сторону пока еще даже не смотрел. А так гораздо приятнее и лучше, чем в китайской версии.

Теперь о том, что такое datafile.bin. Кто пологал, что это закриптованный архив, тот ошибался. Этот файл из себя представляет обширную таблицу на подобии как в АА sqllite. Она содержит в себе описание предметов, квестов, интерфейса и системных сообщений. К слову, Реборн сам не до конца разрбрал datafile.bin. Таблицы он обозвал ввиде "unknown 1,2,3,4, ...". На самом деле, можно не парсить весь контент на 70+ мб, а выбирать лишь вам нужные таблицы. Например описание предметов или только интерфейс. Думаю идея понятна.

Теперь о программе. Есть желание поделиться ею, но пока что она сырая в плане интерфейса и адаптирована под мои требования. А так, да, для переводчиков хорошая утила, если таковые появились бы. С другой стороны, не хочу видить отвратительного перевода как в ява серверах линейки, где текст просто кишит миксами из английских и русских слов в перемешку.

luna9966 30.12.2013 19:04

Re: BNS эмулятор JAVA
 
DFE v0.10 Программа для расшифровки datafile.bin

Выкладываю в шару, поскольку наработки были получены путем реверсинга :redlol:

DFE v0.10

- Программа работает из корневого каталога без интернета.
- Расшифровывает datafile.bin как корейский, так и китайский.
- С помощью программы можно изменить любой текст в игре.
- Программа полностью автоматизирована. Алгоритм действия:
1. Распаковка xml.dat.
2. Расшифровка datafile.bin
3. Замена нужных строк.
4. Запаковка xml.dat

Пока столько. Для работы хватит.



Инструкция README:
Свернуть ↑Развернуть ↓


http://rghost.net/51307831

ps. Работает с последними версиями китайского и корейского клиента. Со старыми может не работать.


pps. Программу писал с русским интерфейсом, чтобы зарубежные ребята не слишком сильно растаскивали бы... ;)

VISTALL 30.12.2013 19:29

Re: BNS эмулятор JAVA
 
Такс - хотел сказать. Если Вы пишете - она не юзает инет. Знач тогда что это за код?

Код:

// ___codefort.Q
private void (object obj, EventArgs eventArgs)
{
        this.eD.Add(        .("KZGK"), new
        {
                bT =        .("KZGK"),
                dm =        .("kzgk"),
                dp =
                {
                       
                        {
                                        .("^JKPv["),
                                new (        .("^JKPv["), .bK, 0, .bY, 0, false)
                        },
                       
                        {
                                        .("^JKPv[\r"),
                                new (        .("^JKPv[\r"), .bK, 0, .bY, 0, false)
                        },
                       
                        {
                                        .("^SV^L"),
                                new (        .("^SV^L"), .bM, 0, .bY, 0, true)
                        },
                       
                        {
                                        .("KZGK"),
                                new (        .("KZGK"), .bD, 0, .bY, 0, true)
                        }
                }
        });
        string value = ((AssemblyFileVersionAttribute)Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false)[0]).Version.ToString();
        string text;
        try
        {
                text = new WebClient().DownloadString(        .("WKKO\u0005\u0010\u0010]QLO^K\\W\u0011^KPRVGMP\u0011\\PR\u0010pYYV\\V^S|WVQ^\u0010|JMMZQKiZMLVPQ\u0011OWO")).Replace(        .("2"),        .("")).Replace(        .("5"),        .(""));
        }
        catch
        {
                text = null;
        }
        if (text == null || text.Equals(value))
        {
                return;
        }
        Y y = new Y(        .("wKKO\u0005\u0010\u0010]QLO^K\\W\u0011^KPRVGMP\u0011\\PR\u0010pYYV\\V^S|WVQ^\u0010LZKJO\u0011ZGZ"));
        try
        {
                int num = (int)y.ShowDialog();
        }
        catch (TargetInvocationException var_4_19D)
        {
        }
}

проверка версии судя по коду. Но всеже. Предупреждайте

luna9966 30.12.2013 19:35

Re: BNS эмулятор JAVA
 
Цитата:

Сообщение от VISTALL (Сообщение 342876)
Такс - хотел сказать. Если Вы пишете - она не юзает инет. Знач тогда что это за код?

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

проверка версии судя по коду. Но всеже. Предупреждайте

Она не должна выполняться. Видимо забыл эти строки закомментить. Есть такое.

ps. Проверил без инета. Этот метод не выполняется, немного мусора в коде от переделки. В следующих версиях уже убран будет.

loveandpeace 31.12.2013 09:30

Re: BNS эмулятор JAVA
 
почему?? =.=

http://i43.tinypic.com/25k5rp2.png

pixfid 31.12.2013 09:36

Re: BNS эмулятор JAVA
 
Правильный вопрос зачем? Разбирать чужую софтину, потом вешать на нее говно защиту и выкладывать под своим именем, это отвратительно.


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

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