Помощь - Поиск - Пользователи - Календарь
Полная версия: Arx Fatalis [.PAK]
CTPAX-X > Ресурсы > Ресурсы
Siberian GRemlin
Первые четыре байта -- смещение на таблицу. Здесь больше информации. Однако, там всё зашифровано! Пробовал XOR'ить -- ничего не вышло.

Образец.
Корявый распаковщик. Извлекает только из папки с игрой. Ветка реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Arkane Studios\Installed Apps\Arx Fatalis", параметр "Folder".
-=CHE@TER=-
ArxPak Viewer - тут старше версия (0.5.0.6), чем твоя (0.5.0.5). Попробуй её. Кстати, чем тебя этот распаковщик не устроил? В смысле чем он "корявый"?
Siberian GRemlin
Тем что он открывает только архивы из папки с игрой, причём все сразу, может извлечь только всё сразу, а не отдельные файлы. Да и вообще мне нужен упаковщик, точнее алгоритм шифрования, упаковщик я сам напишу.
-=CHE@TER=-
А этот распаковщик точно работает на тех файлах, что ты выложил?
У меня игры нет (и честно говоря всю игру искать и качать лень) - он сканит каталог с теми двумя файлами, показывает их имена, но ничего не извлекает. Может ему все файлы нужны - проверить можешь?
Возможно, просто ты чего-то важное упустил, что нужно ещё сделать, вот у меня оно и не работает.
Как будет распаковывать, я попробую под отладчиком посмотреть где там процедура расшифровки.
P.S. Пока что у меня подозрение, что он расшифровывает все файлы в каком-то порядке и ключ от файла к файлу не сбрасывается, а используется изменённый после работы с предыдущим файлом - иначе я не могу представить зачем этой программе все игровые файлы или почему она не работает на двух.
Siberian GRemlin
Да всё прекрасно работает и с этими двумя файлами в папке. И вот ещё один касяк в нём. Если выбрать папку для извлечения та в которой архивы, то он извлекает всё во внешнюю. Т.е. выбираем C:\Games\Arx и он извлекает в C:\Games. Проверь у себя.
-=CHE@TER=-
Блин, редкостная программа - ей нужна именно запись в реестре, несмотря на то, что та версия, на которую я дал ссылку, если не нашла игру просит указать каталог...
Ок, сегодня поковыряю что да как и отпишусь.

Добавлено:
Ок, поковырял. Алгоритм шифрования и файловая стуктура весьма простые и сдались на 5 минуте отладки, а вот использование PKWARE explode() выжрало мозг на час с лишним - кто же мог предположить, что там даже не "stdcall", а "cdecl"?..
Но и на этом проблемы не кончились - максимум распаковывается 1 файл через explode() и всё падает. Почему-то нельзя использовать память выделенную через GetMem() - нужно обязательно указывать статический буфер. Я там под это дело 64К завёл (0..$FFFF-1) - на тех архивах что ты выложил, вроде бы, хватает и ничего не падает с ошибками. Отчего такая фигня - почему указатель нельзя освободить - даже представить не могу. Причём ладно бы он поменялся, так тот же самый... То ли какая защита вешается на эту область памяти во время работы, то ли ещё что - короче, ничего непонятно.
Кстати, товарищ Axsis! Может ты глянешь почему там всё при использовании указателя валится? Может быть это я где-то туплю...

Если надо делать перепаковку - то это функция implode() - см. в исходных кодах ссылки на два сайта - там можно найти заголовок этой функции (там 6 параметров, вроде бы). В принципе, можно и без упаковки (FlRec^.Pack = 0), но тогда после патча игра раздуется. Хотя, конечно, это куда меньше геммороя, чем с этими долбанными функциями... А! Если ты будешь через InnoSetup делать, то я тебя обрадую - там Callback функции. Т.е. либо делать ещё одну .DLL и её вызывать (т.е. будет две: repack.dll вызывающая impborl.dll), либо искать реализацию implode / explode на Delphi, что, скорее всего, фиг где попадётся.

Вот программа и исходные коды:
Arx Fatalis .PAK unpacker

[OffTopic]

Siberian GRemlin! Почитал твой сайт - что-то ты ударился в создание руссификаторов. Это, конечно, хорошо, но Кирандия простаивает... Единственный, кто сейчас делает и может доделать хороший перевод для всей трилогии это ты, но, видимо, оно то ли не интересно стало, то ли ещё что... Я вот уже 5 лет (а может и больше - даже и не помню сколько точно) всё жду когда ж ты перевод трилогии закончишь. Видимо я на пенсию уйду раньше. (*улыбается*)
Мне просто интересно: ты соревнуешься с zoneofgames (или как он там называется - сайт с переводами откуда ничего никогда скачать нельзя) по количеству и, бесспорно, качеству руссификаторов?
Впрочем, конечно, каждый занимается тем, что ему на данный момент больше по душе.
Я не подгоняю и ничего против твоих увлечений не имею, просто про себя скажу: если начинаю распыляться из-за каких-то других вещей, на главное уже сил не хватает, а потом и просто всё равно становится - слишком выматываешься...
Siberian GRemlin
Спасибо большое! Ничего разжимать и сжимать мне не нужно, т.к. архив с озвучкой не сжат.
-=CHE@TER=-
Для "спасибо" кнопка есть, меня же больше интересовали ответы на вопросы из OffTopic'а... (*улыбается*)
Это упрощенная версия форума. Для просмотра полной версии нажмите нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.