Сейчас на форуме: _MBK_ (+7 невидимых)

 eXeL@B —› Основной форум —› Как распаковать/запаковать *.VDK?
Посл.ответ Сообщение

Ранг: 5.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 мая 2008 04:36 · Поправил: lerg
· Личное сообщение · #1

Здраствуйте. Может кто подсказать каким образом можно распаковать/запаковать файл с расширением VDK? Или дать ссылку на тулс занимающийся запаковкой/распаковкой этого формата. В основном интересует именно запаковка файлов в .VDK так как уже есть программа которая хоть и криво, но может распаковать этот формат. Вот ссылка на файл запакованный в VDK http://www.zshare.net/download/1143842061cf391e/ http://www.zshare.net/download/1143842061cf391e/




Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 03 мая 2008 14:13
· Личное сообщение · #2

ты бы хоть сказал от чего эти файлы.. из игры какой чтоли?
тогда : hxxp://www.extractor.ru/

-----
AutoIt




Ранг: 5.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 мая 2008 20:36
· Личное сообщение · #3

Из игры файлы, из онлайновой игры реквием. Но на том сайте к сожалению нету ничего чем можно было бы эти файлы разпаковать, дайте хоть совет чтоли, что это может быть... Просто дело не именно в этих файлах, а в том чтобы узнать как распаковвывать/запаковвывать этот формат, файл игры для примера просто...



Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 03 мая 2008 23:01
· Личное сообщение · #4

Много интересного можно тут найти (Но твоего формата вроде нет):
wiki.xentax.com/title=GRAFs
Обычно приходится самому ковырять в отладчике и в хекс редакторе. Попробуй связаться с аффтаром программы, которая распаковывает.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 04 мая 2008 11:54 · Поправил: tundra37
· Личное сообщение · #5

lerg Совет : поискать в выполняемых файлах и DLL строки и по ним угадать используемую библиотеку распаковки. Можно IDA натравить - в ней есть часть сигнатур. Если алгоритм самописный или вариация стандартного, то только ковыряние в отладчике и написание тестовых программ...
Можно прореверсить прогу, которая распаковывает - это самое быстрое, но не обязательно даст результат.
++++++++++++++++
Упаковано zlib-ом. Распаковать можно в WinHex-е - начало блока там где после нулей пойдут байтики без нулей. Соответственно упаковщик написать несложно. Правда про это уже на всех форумах написано, но студенты люди занятые




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 04 мая 2008 14:19
· Личное сообщение · #6

lerg
Вот тут http://www.zshare.net/download/1151131477491d5d/ все файлы из твоего VDK, только насчет файлов texture, lua, SCRIPTS, SHADERS - возможно это директории.

-----
Сотрудник DHARMA




Ранг: 5.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 мая 2008 03:19 · Поправил: lerg
· Личное сообщение · #7

Спасибо большое, но распаковщик собственно уже есть ) Он правда кривоват, но хоть какой-то... Может кто-нибудь подробно описать как запаковвывать/распаковвывать эти файлы? Или дать запаковщик... Пол инета по этому формату перерыл - нигде по нему ничего нет... Это файлы из игры и мне надо распаковав и изменив их запаковать обратно...



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 05 мая 2008 08:16
· Личное сообщение · #8

lerg Запаковщик должен делать 2 вещи : запаковывать и записывать правильный заголовок.
С 1-м проблемы в данном случае нет - можно зипом паковать и вырезать оттуда "тело", можно использовать compress.exe, который на базе zlib сделан. А вот с заголовком и просто и сложно. Ясно что там какие-то длины и еще что-то. Если удастся угадать, то тогда надо писать "сборщик тел". После либо сборщик будет извлекать "тела" из изготовленных утилитами упакованных данных, либо написать упаковку самому. Работа на уровне хорошей курсовой - мне не интересно с этим парится...
Ну и мелочь - сначала надо проверить, чтобы compress или zip использовали правильный алгоритм, который игра понимает.




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 05 мая 2008 11:18
· Личное сообщение · #9

Что точно понятно - так это, то что на имя отведено 128 байт, следом идет DWORD - это размер распакованного файла, следом DWORD - это размер упакованного, потом еще 2 DWORD - непонятно и начинается тело с 78h, 01h

-----
Сотрудник DHARMA




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 мая 2008 09:31 · Поправил: Padre77
· Личное сообщение · #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 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 июня 2008 15:45
· Личное сообщение · #11

Padre77 нет никаких продвижений по созданию запаковщика? ) Может кто помочь может в этом деле?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2008 10:04
· Личное сообщение · #12

Продвижений нет. Но как я уже писал есть выход "просто запомнить всю структуру при распаковке" и использовать ее при запаковке, однако это чревато. Кто его знает что скрывается под неизвестными переменными.
Дело в том что я потрашу файлы используя только HEX смотрелку, хобби у меня такой за годы глаз наметался и мне так проще понимать структуру. Я не пытаюсь разбирать логику работы с файлами бинарников (опыта маловато).



Ранг: 5.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 июня 2008 17:44
· Личное сообщение · #13

Может кто из обитателей форума сможет помочь с доведением алгоритма программы до рабочего состояния?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 июня 2008 13:02 · Поправил: Padre77
· Личное сообщение · #14

По просьбам страждущих заборол я наконец его
Анпакер готов.
Пакер в процессе.



Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 августа 2009 22:27 · Поправил: ReadyForAction
· Личное сообщение · #15

В общем нужен пакер, либо метод как редактнуть файлик внутри этого VDK архива чтоб потом игра его сьела)
sk1ll@sibnet.ru на мыло сенданите плз ) если кто сюда чтото постить положительное соберётся)
Заранее спс


 eXeL@B —› Основной форум —› Как распаковать/запаковать *.VDK?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати