Посл.ответ |
Сообщение |
Ранг: 5.7 (гость) Статус: Участник
|
Создано: 3 мая 2008 04:36 · Поправил: lerg New! Цитата · Личное сообщение · #1
Здраствуйте. Может кто подсказать каким образом можно распаковать/запаковать файл с расширением VDK? Или дать ссылку на тулс занимающийся запаковкой/распаковкой этого формата. В основном интересует именно запаковка файлов в .VDK так как уже есть программа которая хоть и криво, но может распаковать этот формат. Вот ссылка на файл запакованный в VDK http://www.zshare.net/download/1143842061cf391e/ http://www.zshare.net/download/1143842061cf391e/
|
|
 Ранг: 233.1 (наставник) Статус: Участник
|
Создано: 3 мая 2008 14:13 New! Цитата · Личное сообщение · #2
ты бы хоть сказал от чего эти файлы.. из игры какой чтоли?
тогда : hxxp://www.extractor.ru/
|
Ранг: 5.7 (гость) Статус: Участник
|
Создано: 3 мая 2008 20:36 New! Цитата · Личное сообщение · #3
Из игры файлы, из онлайновой игры реквием. Но на том сайте к сожалению нету ничего чем можно было бы эти файлы разпаковать, дайте хоть совет чтоли, что это может быть... Просто дело не именно в этих файлах, а в том чтобы узнать как распаковвывать/запаковвывать этот формат, файл игры для примера просто...
|
Ранг: 18.3 (новичок) Статус: Участник
|
Создано: 3 мая 2008 23:01 New! Цитата · Личное сообщение · #4
Много интересного можно тут найти (Но твоего формата вроде нет):
wiki.xentax.com/index.php?title=GRAFs
Обычно приходится самому ковырять в отладчике и в хекс редакторе. Попробуй связаться с аффтаром программы, которая распаковывает.
|
Ранг: 310.8 (мудрец) Статус: Участник
|
Создано: 4 мая 2008 11:54 · Поправил: tundra37 New! Цитата · Личное сообщение · #5
lerg Совет : поискать в выполняемых файлах и DLL строки и по ним угадать используемую библиотеку распаковки. Можно IDA натравить - в ней есть часть сигнатур. Если алгоритм самописный или вариация стандартного, то только ковыряние в отладчике и написание тестовых программ...
Можно прореверсить прогу, которая распаковывает - это самое быстрое, но не обязательно даст результат.
++++++++++++++++
Упаковано zlib-ом. Распаковать можно в WinHex-е - начало блока там где после нулей пойдут байтики без нулей. Соответственно упаковщик написать несложно. Правда про это уже на всех форумах написано, но студенты люди занятые
|
 Ранг: 192.7 (ветеран) Статус: Участник The ONE
|
Создано: 4 мая 2008 14:19 New! Цитата · Личное сообщение · #6
lerg
Вот тут http://www.zshare.net/download/1151131477491d5d/ все файлы из твоего VDK, только насчет файлов texture, lua, SCRIPTS, SHADERS - возможно это директории.
|
Ранг: 5.7 (гость) Статус: Участник
|
Создано: 5 мая 2008 03:19 · Поправил: lerg New! Цитата · Личное сообщение · #7
Спасибо большое, но распаковщик собственно уже есть ) Он правда кривоват, но хоть какой-то... Может кто-нибудь подробно описать как запаковвывать/распаковвывать эти файлы? Или дать запаковщик... Пол инета по этому формату перерыл - нигде по нему ничего нет... Это файлы из игры и мне надо распаковав и изменив их запаковать обратно...
|
Ранг: 310.8 (мудрец) Статус: Участник
|
Создано: 5 мая 2008 08:16 New! Цитата · Личное сообщение · #8
lerg Запаковщик должен делать 2 вещи : запаковывать и записывать правильный заголовок.
С 1-м проблемы в данном случае нет - можно зипом паковать и вырезать оттуда "тело", можно использовать compress.exe, который на базе zlib сделан. А вот с заголовком и просто и сложно. Ясно что там какие-то длины и еще что-то. Если удастся угадать, то тогда надо писать "сборщик тел". После либо сборщик будет извлекать "тела" из изготовленных утилитами упакованных данных, либо написать упаковку самому. Работа на уровне хорошей курсовой - мне не интересно с этим парится...
Ну и мелочь - сначала надо проверить, чтобы compress или zip использовали правильный алгоритм, который игра понимает.
|
 Ранг: 192.7 (ветеран) Статус: Участник The ONE
|
Создано: 5 мая 2008 11:18 New! Цитата · Личное сообщение · #9
Что точно понятно - так это, то что на имя отведено 128 байт, следом идет DWORD - это размер распакованного файла, следом DWORD - это размер упакованного, потом еще 2 DWORD - непонятно и начинается тело с 78h, 01h
|
Ранг: 3.0 (гость) Статус: Участник
|
Создано: 6 мая 2008 09:31 · Поправил: Padre77 New! Цитата · Личное сообщение · #10
Вопщем я автор анпакера. Вот формат. и проблема, по которой я не могу правильно распаковать, с соблюдением структуры папок и соответственно запаковать. Хотя выход есть - просто запомнить всю структуру при распаковке.
Заголовок файла
vdisk_description: array [0..7] of char; //VDISK1.0
vdisk_hz1: array [1..4] of byte; //неизвестно
vdisk_filecount: integer; //кол-во файлов
vdisk_hz2: array [1..4] of byte; //неизвестно (может количество папок?)
vdisk_size: array [1..4] of byte; //размер файла without header (+$a9)
Папка или файл
ftype: byte; //ftype=0 файл, ftype=1 папка
fname: array [1..128] of byte; //имя
foriginal_size: integer; //размер оригинальный
fpacked_size: integer; //размер распакованный
fhz: integer; //неизвестное
nextfolder: integer; //адрес след. файла/папки
1 - Проблема в именах папок "." и ".."
2 - не до конца понятно - fhz: integer; //неизвестное
nextfolder: integer; //адрес след. файла/папки
в цикле читаем имена и все остальное из второго блока. если это папка, то пытаемся создать ее (вот тут надо анализировать путь, по которому создавать), если файл, то его содержимое идет сразу после - распаковываем его и сохраняем.
--> И кстати вот последняя, боле-менее человеческая версия <-- http://daddy.mirgames.ru/vdkunp.zip
|
Ранг: 5.7 (гость) Статус: Участник
|
Создано: 1 июня 2008 15:45 New! Цитата · Личное сообщение · #11
Padre77 нет никаких продвижений по созданию запаковщика? ) Может кто помочь может в этом деле?
|
Ранг: 3.0 (гость) Статус: Участник
|
Создано: 4 июня 2008 10:04 New! Цитата · Личное сообщение · #12
Продвижений нет. Но как я уже писал есть выход "просто запомнить всю структуру при распаковке" и использовать ее при запаковке, однако это чревато. Кто его знает что скрывается под неизвестными переменными.
Дело в том что я потрашу файлы используя только HEX смотрелку, хобби у меня такой  за годы глаз наметался и мне так проще понимать структуру. Я не пытаюсь разбирать логику работы с файлами бинарников (опыта маловато).
|
Ранг: 5.7 (гость) Статус: Участник
|
Создано: 9 июня 2008 17:44 New! Цитата · Личное сообщение · #13
Может кто из обитателей форума сможет помочь с доведением алгоритма программы до рабочего состояния?
|
Ранг: 3.0 (гость) Статус: Участник
|
Создано: 11 июня 2008 13:02 · Поправил: Padre77 New! Цитата · Личное сообщение · #14
По просьбам страждущих заборол я наконец его
Анпакер готов.
Пакер в процессе.
|
Ранг: -0.6 (нарушитель) Статус: Участник
|
Создано: 30 августа 2009 22:27 · Поправил: ReadyForAction New! Цитата · Личное сообщение · #15
В общем нужен пакер, либо метод как редактнуть файлик внутри этого VDK архива чтоб потом игра его сьела) sk1ll@sibnet.ru на мыло сенданите плз ) если кто сюда чтото постить положительное соберётся) Заранее спс
|