Ну чтож, дорогие господа...
Вот и настал сей знаменательный (во всяком случае - для меня) день. Я готов зарелизить свой собственный распаковщик dat-файлов Blade and Soul.
Что он умеет?
1. Распаковывать dat-ники.
2. Расшифровывать XML-ки в читаемый и редактируемый вид
3. Запаковывать всё обратно
Да-да, с помощью этой утилиты можно полностью менять конфиги BnS, сохранённые в xml-файлах внутри dat-ников!
Пока что я не приступал к распаковке огромного bin файла внутри xml.dat, но у него явно есть некий свой собственный формат (спасибо, кэп! ).
Пользуясь случаем, хочу сообщить, что ищу народ для совместной реализации сервера Blade and Soul на прекрасном языке Erlang (знания самого языка необязательны - было бы желание! Научимся в процессе )
Нас пока двое, но вдвоём далеко мы не уедем. Так что предлагаю присоединиться!
Возвращаясь непосредственно к самой утилите. Называется она dated.exe (сокращение от ".dat editor") и является консольной утилитой.
Как ей пользоваться? Очень просто:
dated.exe path_to_dat -- path_to_folder -- mode
path_to_dat заменяете путём (абсолютным или относительным, не очень важно) к dat-нику,
path_to_folder заменяете путём к директории с распакованными файлами, а
mode - заменяете на d (от слова decrypt) или e (от слова encrypt).
Что она делает? Если mode = d, то содержимое dat-ника будет распаковано в указанную папку, при этом все xml-ки будут приведены в читаемый формат - их достаточно просто будет отредактировать.
Если mode = e, то содержимое папки будет обратно запаковано в dat-ник, при этом все xml-ки будут вновь приведены в формат внутреннего представления данных BnS.
Примеры:
C:\BnS\>dated.exe C:\Program Files\Blade and Soul\contents\data\xml.dat -- C:\BnS\xmlunpacked -- d
В данном примере будет распакован файл C:\Program Files\Blade and Soul\contents\data\config.dat в папку C:\BnS\xmlunpacked (если папка xmlunpacked в папке C:\BnS не существует она будет создана автоматически).
C:\BnS\>dated.exe C:\BnS\config.dat -- C:\BnS\configedited -- e
В данном примере будет создан файл C:\BnS\config.dat на основе файлов, расположенных в папке C:\BnS\configedited.
ВНИМАНИЕ! Я не несу никакой ответственности за возможный причинённый вред при пользовании этой программой. Различные баги возможны, даже больше - вероятны.
Производительность может сильно хромать, запаситесь побольше RAM - как минимум 300 мегабайт для xml.dat рекомендуется держать наготове. Оптимизировать было лень.
Разрабатывалась в Microsoft Visual C++ Studio 2010 Express (вроде соответствующие либы статически вкомпилированы, но если что, то ищите Microsoft Visual C++ 2010 Redistributable Package)
Исходный код решено не публиковать. Если есть заинтересованные в дальнейшем развитии - пишите!
Ссылки:
PRE-178: https://www.box.com/s/rny3lflcitp0qakts7l7 (291,5 KiB)
FROM-178: https://www.box.com/s/0r4pkf202tfznigotiyu (294,0 KiB)
Убедительная просьба при распространении указывать именно эту ссылку, и не перезаливать файл на другие хосты! Таким образом я смогу оперативно обновлять программу!
Вот и настал сей знаменательный (во всяком случае - для меня) день. Я готов зарелизить свой собственный распаковщик dat-файлов Blade and Soul.
Что он умеет?
1. Распаковывать dat-ники.
2. Расшифровывать XML-ки в читаемый и редактируемый вид
3. Запаковывать всё обратно
Да-да, с помощью этой утилиты можно полностью менять конфиги BnS, сохранённые в xml-файлах внутри dat-ников!
Пока что я не приступал к распаковке огромного bin файла внутри xml.dat, но у него явно есть некий свой собственный формат (спасибо, кэп! ).
Пользуясь случаем, хочу сообщить, что ищу народ для совместной реализации сервера Blade and Soul на прекрасном языке Erlang (знания самого языка необязательны - было бы желание! Научимся в процессе )
Нас пока двое, но вдвоём далеко мы не уедем. Так что предлагаю присоединиться!
Возвращаясь непосредственно к самой утилите. Называется она dated.exe (сокращение от ".dat editor") и является консольной утилитой.
Как ей пользоваться? Очень просто:
dated.exe path_to_dat -- path_to_folder -- mode
path_to_dat заменяете путём (абсолютным или относительным, не очень важно) к dat-нику,
path_to_folder заменяете путём к директории с распакованными файлами, а
mode - заменяете на d (от слова decrypt) или e (от слова encrypt).
Что она делает? Если mode = d, то содержимое dat-ника будет распаковано в указанную папку, при этом все xml-ки будут приведены в читаемый формат - их достаточно просто будет отредактировать.
Если mode = e, то содержимое папки будет обратно запаковано в dat-ник, при этом все xml-ки будут вновь приведены в формат внутреннего представления данных BnS.
Примеры:
C:\BnS\>dated.exe C:\Program Files\Blade and Soul\contents\data\xml.dat -- C:\BnS\xmlunpacked -- d
В данном примере будет распакован файл C:\Program Files\Blade and Soul\contents\data\config.dat в папку C:\BnS\xmlunpacked (если папка xmlunpacked в папке C:\BnS не существует она будет создана автоматически).
C:\BnS\>dated.exe C:\BnS\config.dat -- C:\BnS\configedited -- e
В данном примере будет создан файл C:\BnS\config.dat на основе файлов, расположенных в папке C:\BnS\configedited.
ВНИМАНИЕ! Я не несу никакой ответственности за возможный причинённый вред при пользовании этой программой. Различные баги возможны, даже больше - вероятны.
Производительность может сильно хромать, запаситесь побольше RAM - как минимум 300 мегабайт для xml.dat рекомендуется держать наготове. Оптимизировать было лень.
Разрабатывалась в Microsoft Visual C++ Studio 2010 Express (вроде соответствующие либы статически вкомпилированы, но если что, то ищите Microsoft Visual C++ 2010 Redistributable Package)
Исходный код решено не публиковать. Если есть заинтересованные в дальнейшем развитии - пишите!
Ссылки:
PRE-178: https://www.box.com/s/rny3lflcitp0qakts7l7 (291,5 KiB)
FROM-178: https://www.box.com/s/0r4pkf202tfznigotiyu (294,0 KiB)
Убедительная просьба при распространении указывать именно эту ссылку, и не перезаливать файл на другие хосты! Таким образом я смогу оперативно обновлять программу!