Jump to content
Alloder.pro: about Allods with love
Search In
  • More options...
Find results that contain...
Find results in...

New program for writers

We turn from quantity to quality and tell you how we will supplement the Allods Team program with rewards in rubles.

More

The new Updater

Let us to introduce the new addon updater software and to share the details

Read more

Alloder 2.0

We have started the process of project evolve, and this relates not only, and not even primarily of the site's view

Read more

AO-Tools


Guest gsomgsom
 Share

Recommended Posts

Guest gsomgsom

По просьбе SLA, выкладываю ao-tools.zip
 

Allods Online Tools

loc.extractor
Allods Online pack.loc resource extractor. v0.4 by gsomgsom .
Распаковывает ресурсы из файла pack.loc.
Вызов: loc.extractor [file.loc] [patch_to]

Распаковка может затянуться до 10 минут. Это вполне нормально.



loc.compiler
Allods Online pack.loc file compiler v0.5 by gsomgsom and kosh .
Компилирует файл ресурсов pack.loc.
Вызов: loc.compiler <patch> <file.loc>

Компиляция может затянуться до 10 минут. Это вполне нормально.



game.ver.info
Allods Online game.version file viewer v0.2 by gsomgsom .
Показывает содержимое файла game.version.
Вызов: game.ver.info [game.version]



game.ver.truncator
Allods Online game.version File Truncator v0.2 by SLA .
Программа урезает файл game.version таким образом, чтобы лаунчер Аллодов, при старте, не сканировал PAK-файлы в поисках изменённых файлов.
Вызов: game.ver.truncator [game.version [game.version.out] ]



Напоминаю, что все утилиты вы используете на свой страх и риск.

Для компиляции исходного кода использовалась программа
Bambalam PHP EXE Compiler/Embedder 1.21
-----
По необходимости пост будет обновляться.

UPD 24.03.2010: перезалил на другой сайт

Link to comment
Share on other sites

  • 1 month later...

Судя по всему, в loc.extractor'е есть баг. Это обсуждалось здесь.

Во-первых, иногда он генерирует подозрительные имена файлов: "OrcMaleElite_SL.xdb22_22_Name.txt".

Во-вторых, например, в "\Characters\Orc_male\Instances\AstralIsle06" оба текстовых файла битые (битый utf-8 текст, не читается).

Я посмотрел исходник декомпилятора, там всё достаточно просто. Видимо, нужно дописать код, чтобы декомпилятор проверял соответствие всех "странных" данных тем константам, которые есть в исходнике компилятора. И если где-то не совпадёт, то нужно выдавать юзеру alarm.

Ещё один очень эффективный метод - сравнить в hex-редакторе содержимое оригинального pack.loc с декомпилированным и обратно скомпилированным pack.loc. Я ещё не пробовал.

В общем, кто-нибудь должен попробовать починить декомпилятор.

P.S. Ещё, extractor пишется через o. :)

Link to comment
Share on other sites

Guest gsomgsom

Поглядим на досуге.

Щас редко к компу подхожу, так что некогда.

Quote:
Ещё один очень эффективный метод - сравнить в hex-редакторе содержимое оригинального pack.loc с декомпилированным и обратно скомпилированным pack.loc. Я ещё не пробовал.

Не прокатит. Компилятор не пытается ничего оптимизировать. Так что просто если распаковать-запаковать, то полученный файл будет отличаться.

З.Ы. о - поправил в описании. Как руки дойдут - поправлю в архиве.

Link to comment
Share on other sites

  • 2 months later...

Вот что мне удалось раскопать. Для сравнения, приведу формат предыдущей версии (ver3), а затем, современной (ver4):

ver3

Code:
HEAD:

(4 байта) DATA size

(4 байта) DATA crc32

(4 байта) константа "00 00 00 05" или "00 00 00 02", ни на что не влияет.

DATA:

(4 байта) "ver3"

(4 байта) Version string size

(строка) Version string

(данные) Данные...

ver4

Code:
HEAD:

(4 байта) ???????? "Ключик"

DATA:

(4 байта) "ver4"

(4 байта) Version string size

(строка) Version string

(4 байта) Размер ZLIB-сжатых данных.

(данные) Данные В СТАРОМ ФОРМАТЕ, просто сжатые ZLIB'ом, сигнатура ZLIB "78 DA" (это максимальный уровень сжатия).

(24 байта) ???????? "Замочек"

Однозначно, где-то зарыт CRC32, т.к. при измененных ZLIB-сжатых данных, моментально обнаруживает "повреждение". Однако, я всё перерыл, и не нашёл, чьим CRC32 мог бы быть "Ключик" (4 байта).

"Ключик" и "Замечек" -- это условные названия. На самом деле, это может быть что угодно.

"Замечек" имеет длину 24 байта, то есть 192 бита. Гугл меня огорчает, т.к. на запрос "192 bytes code" выдаёт всякие алгоритмы криптографии... И это печально. У кого какие будут идеи?

"Ключик" и "Замочек" в версии 1.0.07.7:

  • 89 90 55 16
  • 35 AF A9 C4 7A 13 3F B7 FA D1 49 92 C6 94 03 A1 08 6F E5 5A 14 00 00 00

"Ключик" и "Замочек" в версии 1.0.07.8:

  • CE D8 34 9F
  • B9 CB DD FB 19 00 E4 5A D8 D9 D2 51 5C 32 19 A6 15 C1 43 87 14 00 00 00

Заметьте, кстати, "Замочек" всегда заканчивается "14 00 00 00" - может, это просто число 20 (0x14).

P.S. game.version - это только первый уровень защиты от моддинга PAK-файлов.

Для меня очень важно научиться снова подсовывать свои PAKи, или модифицировать оригинальные, т.к. это снова оживит "декоративные" моды. Просто не знаю, как я теперь буду играть за Империю, без мода RedAlert :) И AstralMapWithChat был отличной идеей. И лигийские квесты в бане, без мода AoNudePatch, выглядят абсурдно :) Понимаю, что разработчики тем самым защитили LUA-файлы от моддинга, но мне пофиг LUA-моды. Мне обидно за ТЕКСТУРНЫЕ моды, которые совершенно безвредны, за то, приносили столько фана в игру. Их то за что?

Link to comment
Share on other sites

  • 1 year later...
  • 3 months later...
Guest langust

Можете, пожалуста, расписать текст программы, что нужно делать. Я ничего не понимаю в этом.=(

Link to comment
Share on other sites

Guest langust

Поиграть хочется...У меня просто проблема с game.version, а остольное мне не очень нужно.

Link to comment
Share on other sites

  • 11 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use