.VDK file !

05/24/2008 22:12 djbrazil#1
Hello ,

Does any1 have any info about the .vdk file ?
all i could find on the internet is that it is a Steuer99 file ... and i have no idea whats that supposed to means ! lol

by the way ... nothing works with CE...

cya
05/26/2008 12:43 scbiz#2
Quote:
Originally Posted by djbrazil View Post
Hello ,

Does any1 have any info about the .vdk file ?
all i could find on the internet is that it is a Steuer99 file ... and i have no idea whats that supposed to means ! lol

by the way ... nothing works with CE...

cya
lol, it's obviously no Steuer99 file. I guess it's some kind of Virtual (Hard) Disk which has to be mounted to be opened. I base my theory on the first part of the file's header, which says "VDISK1.0" :P
05/26/2008 13:10 CosmosTunes#3
try to mount with this tool. i cant try now because i'm at work ;)

edit: ok i have tried to mount dat.vdk but doesnt seems to work :(

Quote:
D:vdisk>vdk.exe open 0 d:dat.vdk
Virtual Disk Driver for Windows version 3.1
[Only registered and activated users can see links. Click Here To Register...]

Failed to decide type of 'd:dat.vdk'.
Open as a simple sector image file.
'd:dat.vdk' File size (4689055 bytes)
is not a multiple of sector size.
The surplus area (159 bytes) will not be used.
A) abort / I) ignore ? I
Virtual Disk 0
Access Type : Read-Only
Disk Capacity : 9158 sectors (4 MB)
Geometry : (C) 4 * (H) 64 * (S) 32
Number Of Files : 1

Type Size Path
------- ------- ----
FLAT 9158 d:dat.vdk

Partitions :
# Start Sector Length in sectors Type
-- ------------ --------------------- ----
0 0 9158 ( 4 MB) <disk>
when i try to access to the mounted image it says invalid storage format...
05/26/2008 14:45 DeltaX13#4
Once you can open the client files, you will be able to change all about the physics in game. For example you can fly through the air n that stuff cause there is no synch with the server ;)
05/26/2008 14:50 CosmosTunes#5
well its seems its not that easy. i tried to search a bit on russian sites but there is no solution also. and once you can open the images the editing of that files is another part ^^
05/26/2008 18:13 djbrazil#6
yeah ... it is a virtual disk ... acctualy microsoft has some kind of tool used on vitual machines to open it ... but i had no time to look for it !
maybe if we could unpack the .exe file we could find the source code to read it !
have any1 tried it yet ?
05/26/2008 20:53 thekung#7
try Ida Pro It Works A tryed it and yes codes is stored there a been looking a will give u some off them that a founde good not tested butt sounds and look good

aEnchantLevelD db 'Enchant Level:%d',0 ; DATA XREF: .text:0062B349o



t:0049F4BD call ds:__imp_??1?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@QAE@XZ
.text:0049F4C3 push offset aCash ; "Cash"

text:004A0748 loc_4A0748: ; CODE XREF: sub_49F030+120Bj
.text:004A0748 ; sub_49F030+1235j ...
.text:004A0748 push offset aMelee_defense ; "Melee_Defense

text:00615B7E loc_615B7E: ; CODE XREF: sub_615980+1E6j
.text:00615B7E cmp [ebp+var_224], 1
.text:00615B85 jnz short loc_615B9D
.text:00615B87 push offset a1s ; "1s"
.text:00615B8C lea ecx, [ebp+var_448]
.text:00615B92 call ds:??4?$basic_string@DU?$char_traits@D@std@@V?$all ocator@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615B98 jmp loc_615D00

text:00615CAE
.text:00615CAE loc_615CAE: ; CODE XREF: sub_615980+319j
.text:00615CAE cmp [ebp+var_224], 9
.text:00615CB5 jnz short loc_615CCA
.text:00615CB7 push offset a2axe ; "2axe"
.text:00615CBC lea ecx, [ebp+var_448]
.text:00615CC2 call ds:??4?$basic_string@DU?$char_traits@D@std@@V?$all ocator@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615CC8 jmp short loc_615D00


thats all butt there is lot more and gone test it now a think cash will work butt a dotn know
05/27/2008 00:59 djbrazil#8
Quote:
Originally Posted by thekung View Post
try Ida Pro It Works A tryed it and yes codes is stored there a been looking a will give u some off them that a founde good not tested butt sounds and look good

aEnchantLevelD db 'Enchant Level:%d',0 ; DATA XREF: .text:0062B349o



t:0049F4BD call ds:__imp_??1?@DU?@D@std@@V?@D@2@@std@@QAE@XZ
.text:0049F4C3 push offset aCash ; "Cash"

text:004A0748 loc_4A0748: ; CODE XREF: sub_49F030+120Bj
.text:004A0748 ; sub_49F030+1235j ...
.text:004A0748 push offset aMelee_defense ; "Melee_Defense

text:00615B7E loc_615B7E: ; CODE XREF: sub_615980+1E6j
.text:00615B7E cmp [ebp+var_224], 1
.text:00615B85 jnz short loc_615B9D
.text:00615B87 push offset a1s ; "1s"
.text:00615B8C lea ecx, [ebp+var_448]
.text:00615B92 call ds:??4?@DU?@D@std@@V?@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615B98 jmp loc_615D00

text:00615CAE
.text:00615CAE loc_615CAE: ; CODE XREF: sub_615980+319j
.text:00615CAE cmp [ebp+var_224], 9
.text:00615CB5 jnz short loc_615CCA
.text:00615CB7 push offset a2axe ; "2axe"
.text:00615CBC lea ecx, [ebp+var_448]
.text:00615CC2 call ds:??4?@DU?@D@std@@V?@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615CC8 jmp short loc_615D00


thats all butt there is lot more and gone test it now a think cash will work butt a dotn know
i didnt get it ... what is that again ?
05/27/2008 13:24 kiom#9
Quote:
Originally Posted by thekung View Post
try Ida Pro It Works A tryed it and yes codes is stored there a been looking a will give u some off them that a founde good not tested butt sounds and look good

aEnchantLevelD db 'Enchant Level:%d',0 ; DATA XREF: .text:0062B349o



t:0049F4BD call ds:__imp_??1?@DU?@D@std@@V?@D@2@@std@@QAE@XZ
.text:0049F4C3 push offset aCash ; "Cash"

text:004A0748 loc_4A0748: ; CODE XREF: sub_49F030+120Bj
.text:004A0748 ; sub_49F030+1235j ...
.text:004A0748 push offset aMelee_defense ; "Melee_Defense

text:00615B7E loc_615B7E: ; CODE XREF: sub_615980+1E6j
.text:00615B7E cmp [ebp+var_224], 1
.text:00615B85 jnz short loc_615B9D
.text:00615B87 push offset a1s ; "1s"
.text:00615B8C lea ecx, [ebp+var_448]
.text:00615B92 call ds:??4?@DU?@D@std@@V?@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615B98 jmp loc_615D00

text:00615CAE
.text:00615CAE loc_615CAE: ; CODE XREF: sub_615980+319j
.text:00615CAE cmp [ebp+var_224], 9
.text:00615CB5 jnz short loc_615CCA
.text:00615CB7 push offset a2axe ; "2axe"
.text:00615CBC lea ecx, [ebp+var_448]
.text:00615CC2 call ds:??4?@DU?@D@std@@V?@D@2@@std@@QAEAAV01@PBD@Z ; std::basic_string<char,std::char_traits<char>,std: :allocator<char>>::operator=(char const *)
.text:00615CC8 jmp short loc_615D00


thats all butt there is lot more and gone test it now a think cash will work butt a dotn know
Dammit not long ago uninstalled IDA.x) was pain to find.
05/27/2008 13:37 xhugox#10
It will be pretty difficult to change things in the .VDK files since Requiem.exe have some CRC's.

Here are the results of the PEiD plugin KANAL:
Quote:
ADLER32 :: 0038B69F :: 0078C29F
The reference is above.
CRC16 (rev) [word] :: 003DC430 :: 007DD830
The reference is above.
CRC32 :: 003D9750 :: 007DAB50
Referenced at 0078BE94
Referenced at 0078BEDA
Referenced at 0078BF1B
Referenced at 0078BF5D
Referenced at 0078BF9E
Referenced at 0078BFE3
Referenced at 0078C01C
Referenced at 0078C062
Referenced at 0078C0A1
Referenced at 0078C0F7
Referenced at 0078C12F
CRC32 :: 003DC630 :: 007DDA30
The reference is above.
CRC32 :: 004421E8 :: 008435E8
Referenced at 00401348
ZLIB deflate [word] :: 003DC260 :: 007DD660
The reference is above.
I think this one "CRC16 (rev) [word] :: 003DC430 :: 007DD830" is the bad guy.
06/05/2008 17:02 Timbojones#11
I'm curious as to whether or not anyone has decent way of opening the VDK files. I'd like to get into the data files, not to try to tweak things or anything, but just to get into the data to data mine it.

I downloaded IDA (Freeware version) but am not too savvy on what to do. I couldn't get any of them to open up.

Any tips?
06/11/2008 01:08 dsfgd#12
i analysed a little bit this filesystem
it's easy, but not really easy for beginners.

i wrote a little prog which can extract any file inside this VDK's
here a screenshot: (DAT.VDK)
[Only registered and activated users can see links. Click Here To Register...]

it's really basic and reads only the name + file infos
any directory info is ignored, what means, atm it reads directorys as files.

this is my little File Format info:

Code:
8 Byte = "VDISK1.0"
4 Byte = 00 FF FF FF
4 Byte = File Count (without directory info)
4 Byte = VDK typ ??? don't know
4 Byte = VDK Size (- Header)

Loop (FileCount)
1 Byte = Type (0 = File, 1 = Directory)
128 Byte = Filename/Directory Name
4 byte = FileSize Uncompressed
4 byte = FileSize Compressed
4 byte = an Offset, empty by files, not empty by directorys
4 byte = an Offset which links to another file, don't know atm, it's 0 when this is the last file of directory
X Byte = Compressed Data
Loop until EOF
any file is compressed with Zlib

my prog is not finished and i don't want to release it for now


//edit:

i finished it today, it has fully directory support and it automatically decompress the selected file after extracting.

here the current build:
Screeenshot:
[Only registered and activated users can see links. Click Here To Register...]
download:
[Only registered and activated users can see links. Click Here To Register...]

you will need VB6 Runtime or it will not work.
optional: copy Zlib.dll to "C:\Windows\System32" but do this only when it gives you an error on decompressing.

have fun finding hacks, most files are csv so it's easy to edit them.
06/12/2008 23:33 DeltaX13#13
Can't test it til sunday but it seems you did a really good job mate. Thank you!
06/17/2008 03:02 david04#14
when try to extract, it said input file corrupted.... -.-
06/17/2008 17:22 dsfgd#15
Quote:
Originally Posted by david04 View Post
when try to extract, it said input file corrupted.... -.-
try to copy Zlib.dll to your "C:\Windows\System32\" directory.