You last visited: Today at 02:36
Advertisement
.VDK file !
Discussion on .VDK file ! within the General Gaming Discussion forum part of the General Gaming category.
10/02/2008, 17:39
#31
elite*gold: 0
Join Date: Dec 2007
Posts: 142
Received Thanks: 135
any beta of the packer?? can you send via private message plz?
10/03/2008, 07:03
#32
elite*gold: 0
Join Date: Jul 2008
Posts: 31
Received Thanks: 1
Quote:
Originally Posted by
midin14
скопируй распаковщик и то что хочеш распаковать в одну папку,и юзай
Заработало, спасибо, просто по описанию в программе получается что она распаковывает все файлы в папку с программой, но то что её нужно копернуть к ВДКшникам, не сказано, но всё равно молодец)
10/20/2008, 01:46
#33
elite*gold: 0
Join Date: Oct 2007
Posts: 1
Received Thanks: 0
Ohhh so close! I was biting my nails hoping that the last page of the thread had the packer! Real shame. A group of my buddies is looking for just that. We'd be infinitely grateful and I can't let this thread die off. Any updates?
10/22/2008, 23:31
#34
elite*gold: 0
Join Date: Sep 2006
Posts: 3
Received Thanks: 0
it's seems we are not lucky
11/24/2008, 07:15
#35
elite*gold: 0
Join Date: Feb 2008
Posts: 4
Received Thanks: 0
Quote:
Originally Posted by
Rostix90
Заработало, спасибо, просто по описанию в программе получается что она распаковывает все файлы в папку с программой, но то что её нужно копернуть к ВДКшникам, не сказано, но всё равно молодец)
А не подскажите ли, что дальше делать с рапаковаными чтобы что-нить поменять? гуард байпаса как я понимаю нет для русского сервера или я слепой?
.. Кто-нить на наших хоть что-то поменял, достиг успехов? Может поделитесь инфой?
11/28/2008, 21:47
#36
elite*gold: 0
Join Date: Dec 2007
Posts: 844
Received Thanks: 152
ONE CE WE CAN UPPAKC AND REPACK MODIFIDE DVK FILE u basacly home free to do anything
12/20/2008, 23:31
#37
elite*gold: 0
Join Date: Apr 2008
Posts: 1
Received Thanks: 0
Did anything ever come of this? i know alot of people would be really happy to get their hands on a way to pack an unpack these files
12/23/2008, 10:17
#38
elite*gold: 0
Join Date: Jul 2008
Posts: 58
Received Thanks: 42
Very crappy code i threw together real quick a while back. All you need to do is figure out how to uncompress the data and add it in...
Code:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <cstdlib>
#include <fstream>
#include <direct.h>
#include "zlib library\\zlib.h"
using namespace std;
char* ReadFile(long pos, long length,ifstream *VDKFile);
unsigned char* ConvertString(char* sValue,long length);
unsigned long* ConvertToLong(char * src, long length);
long ConvertToLong_2(char * src);
unsigned long* Inverse(unsigned long * src, long length);
void PrintData(unsigned long * src, long length);
int HexToDecByte(unsigned long * src, long length);
int main()
{
char * FileName;
char * LastFolder;
LastFolder = new char[128];
char * FolderName;
char * VDKHeaderName = {0};
unsigned long * VDKHeaderBytes = 0;
unsigned long * VDKFileCount;
unsigned long * VDKType = 0;
unsigned long * VDKSize = 0;
unsigned long * FileSizeCompressed = 0;
unsigned long * FileSizeUncompressed = 0;
unsigned long * Unknown = 0;
unsigned long * NextFile = 0;
unsigned long * NextDirectory = 0;
unsigned long * FileType = 0;
unsigned long * CompressedData = 0;
int FileSizeCompressedVal = 0;
int FileSizeUncompressedVal = 0;
int UnknownVal = 0;
int NextFileVal = 0;
int FileTypeVal = 0;
unsigned long cPos = 0;
char * Buffer;
char FileToExtract[15] = {0};
ofstream FileToBeExtracted;
// Uncomment these when file to extract isnt hardcoded in
//cout << "Which file would you like to extract?\n";
//cin.getline(FileToExtract,15,'\n\n');
// Open the file chosen
ifstream VDKFile;
VDKFile.open("C:\\Program Files\\Gravity\\Requiem\\data\\LANG.VDK",ios::binary); // Change the directory from being hardcoded in
// Check for opening errors
if(!VDKFile.is_open()){ cout << "Error! File not found or corrupted...\n"; }
// Loop through the file (find a better loop than an infinite for loop)
for(;;)
{
// Get the FileCount
char * TempBuf = new char[4];
VDKFileCount = new unsigned long[4];
TempBuf = ReadFile(cPos + 12, 4, &VDKFile);
VDKFileCount = Inverse(ConvertToLong(TempBuf,4),4);
// Print FileCount
/* for(int y = 0; y < 4; y++){
cout << std::hex << (int)VDKFileCount[y] << " ";
}
cout << "\n\n";
*/
// Get the whole first 24 bytes and print
TempBuf = ReadFile(cPos, 24, &VDKFile);
/* cout << TempBuf << endl;
for(int i = 0;i < 24; i++){
cout << std::hex << (int)(unsigned char)TempBuf[i] << " ";
}
cout << "\n\n";
*/
// Loop through the files
for(int iCount = 0; iCount < (int)VDKFileCount; iCount++)
{
Buffer = new char[145];
FolderName = new char[128];
FileName = new char[128];
if(cPos < 1) {
Buffer = ReadFile(cPos + 24, 1, &VDKFile);
cPos += 25;
FileType = ConvertToLong(Buffer,1);
FileTypeVal = HexToDecByte(FileType, 1);
cout << std::hex << FileTypeVal << endl;
}else{
Buffer = ReadFile(cPos, 1, &VDKFile);
FileType = ConvertToLong(Buffer,1);
FileTypeVal = HexToDecByte(FileType, 1);
cout << std::hex << FileTypeVal << endl;
cPos++;
}
switch(FileTypeVal) {
case 0:
cout << "File...\n"; // testing purposes
Buffer = ReadFile(cPos, 128, &VDKFile);
cPos += 128;
FileName = Buffer;
FileToBeExtracted.open(FileName, ios::app);
cout << "FileName: " << FileName << endl; // testing purposes
break;
case 1:
cout << "Folder...\n"; // testing purposes
Buffer = ReadFile(cPos, 128, &VDKFile);
cPos += 128;
FolderName = Buffer;
if(FolderName != "..") {
_chdir(LastFolder);
_mkdir(FolderName);
LastFolder = FolderName;
}else { /* do nothing */ }
cout << "FolderName: " << FolderName << endl; // testing purposes
break;
default:
cout << "Unknown...\n";
break;
};
// Read the filesize uncompressed
Buffer = ReadFile(cPos, 4, &VDKFile);
cPos += 4;
FileSizeUncompressed = Inverse(ConvertToLong(Buffer,4), 4);
FileSizeUncompressedVal = HexToDecByte(FileSizeUncompressed, 4);
cout << "FileSizeUncompressed: ";
PrintData(FileSizeUncompressed, 4);
// Read the filesize compressed
Buffer = ReadFile(cPos, 4, &VDKFile);
cPos += 4;
FileSizeCompressed = Inverse(ConvertToLong(Buffer,4), 4);
FileSizeCompressedVal = HexToDecByte(FileSizeCompressed, 4);
long cVal = ConvertToLong_2(Buffer);
cout << "FileSizeCompressed: ";
PrintData(FileSizeCompressed, 4);
// Offset thats empty by files but not directorys
Buffer = ReadFile(cPos, 4, &VDKFile);
cPos += 4;
Unknown = Inverse(ConvertToLong(Buffer,4), 4);
UnknownVal = HexToDecByte(Unknown, 4);
cout << "Unknown: ";
PrintData(Unknown, 4);
// Offset that links to the nextfile, 0 when last file of directory
Buffer = ReadFile(cPos, 4, &VDKFile);
cPos += 4;
NextFile = Inverse(ConvertToLong(Buffer,4), 4);
NextFileVal = HexToDecByte(NextFile, 4);
cout << "NextFile: ";
PrintData(NextFile, 4);
// Compressed Data - Need to figure this out and how far i need to read to get to next file
if(FileSizeCompressedVal != 0)
{
Buffer = ReadFile(cPos, cVal, &VDKFile);
CompressedData = ConvertToLong(Buffer,cVal);
//cout << "CompressedData: ";
//PrintData(CompressedData, cVal);
cPos += cVal;
// Uncompress the data here in put into the file buffer
for(int i = 0; i < cVal; i++){
FileToBeExtracted << CompressedData[i];
}
// Close the file buffer for a new file to be used
FileToBeExtracted.close();
// Some space for the next group of data
cout << "\n\n";
}else {
// do nothing but keep looping
cout << "CompressedData: None\n\n";
}
// Here for testing purposes
_getch();
}
delete[] FolderName;
delete[] FileName;
delete[] LastFolder;
delete[] VDKFileCount;
delete[] TempBuf;
_getch();
return 0;
}
return 0;
}
long ConvertToLong_2(char * src)
{
LONG value = (*((LONG*)src));
return value;
}
int HexToDecByte(unsigned long * src, long length)
{
char HexVal[4] = {0};
int DecVal = 0;
for(int i = 0; i < length; i++){
DecVal += src[i];
}
return DecVal;
}
unsigned long* Inverse(unsigned long * src,long length)
{
unsigned long * dest;
dest = new unsigned long[length];
int x = length;
for(int i = 0; i < length; i++){
dest[--x] = src[i];
}
return dest;
}
unsigned long* ConvertToLong(char* src, long length)
{
unsigned long* dest;
dest = new unsigned long[length];
for(int i = 0; i < length; i++){
dest[i] = (int)(unsigned char)src[i];
}
return dest;
}
char* ReadFile(long pos, long length,ifstream *VDKFile){
char *buffer;
buffer = new char [length];
VDKFile->seekg(pos);
VDKFile->read (buffer,length);
return buffer;
}
unsigned char* ConvertString(char* sValue,long length){
unsigned char *nValue;
int i;
nValue= new unsigned char[length];
for(i=0;i<=length;i++) nValue[i]=(unsigned char)sValue[i];
return nValue;
}
void PrintData(unsigned long * src, long length)
{
for(int x = 0; x < length; x++){
cout << std::hex << (int)src[x] << " ";
}
cout << "\n";
}
01/02/2009, 17:02
#39
elite*gold: 0
Join Date: Apr 2008
Posts: 7
Received Thanks: 0
Hi all, I have created an unpacker using native requiem filesystem.dll library. It seems a bit more accurate about what it is unpacking and where (for example gives different results with another packer on dat.vdk).. Usage is simple - ex. "evilfs.exe dat.vdk"
Attached Files
vdkunpack.zip
(234.4 KB, 573 views)
01/03/2009, 10:25
#40
elite*gold: 0
Join Date: Dec 2007
Posts: 142
Received Thanks: 135
Thx ur work, but we have already 2 unpacker, we need a packer, what makes the VDK! I help a little, it uses zlib compression
01/03/2009, 12:48
#41
elite*gold: 0
Join Date: Apr 2008
Posts: 7
Received Thanks: 0
First it would be interesting to decrypt crypted files in vdk.. like exp.csv for example which are not unpacked in plain text..
01/04/2009, 01:38
#42
elite*gold: 0
Join Date: Apr 2008
Posts: 7
Received Thanks: 0
Ok,I was able to unpack encrypted files as also.. As a proof of concept here is the beginning of npcAsset.csv from dat.vdk:
Quote:
Id,Name,String_Name,Name_Eng,Job_Name,String_Job_N ame,Job_Name_Eng,NPC_kind,NPC_Group,Resource_id,Lu a_Name,Spawn_kind,Monster_Attack_Type,NPC_Damage,M odeling_Resize,Monster_Size,Material,Effect_Size,C opse_Time,Fly_Type,Spawn_After_Delay,Use_Alpha,Mon ster_Level,Basic_HP,Basic_HP_recovery,Basic_MP,Bas ic_MP_recovery,BasicSTR,BasicDEX,BasicINT,BasicCON ,BasicMND,Basic_Defense,Basic_RangeDefense,BasicFi reResist,BasicLightningResist,BasicWaterResist,Bas icWindResist,BasicCurseResist,BasicHolyResist,Basi c_Short_Range_DamageMin,Basic_Short_Range_Damage,B asic_Short_Range_Speed,Basic_Short_Range,Basic_Sho rt_Range_HitRate,Basic_Short_Range_CriticalRate,Ba sic_Long_Range_DamageMin,Basic_Long_Range_Damage,B asic_Long_Range_Speed,Basic_Long_Range,Basic_Longt _Range_HitRate,Basic_Long_Range_CriticalRate,Basic SREvationRate,BasicLREvationRate,OriginalSpeed_Wal k,BasicWalkSpeed,BasicBackWalkSpeed,OriginalSpeed_ Run,BasicRunSpeed,BasicBackRunSpeed,Flee_Speed,Agg ro_Range,Chase_Range,Help_Range,Help_HP_Check,Esca pe_HP_Check,Escape_Choice_Time,Escape_Type,Non_Bat tle_Type_id,First_Attack_Value,Attack_Value,Range_ Attack_Value,Melee_Skill_Value,Range_Skill_Value,H eal_Value,Other_Skill_Value,First_Attack,First_Att ack_Level,Boss_Lua_Name,Passive_01,Passive_02,Idle _Skill_01,Idle_Skill_rate01,Mob_Skill_01,Use_Skill _rate01,Mob_Skill_02,Use_Skill_rate02,HP_Check_01, HP_Skill_01,HP_Skill_Target01,HP_Check_02,HP_Skill _02,HP_Skill_Target02,Party_HP_Check,Party_HP_Skil l,Party_HP_Skill_Target,Each_Time_Check_01,Each_Ti me_Skill_01,Each_Time_Skill_Target01,Each_Time_Che ck_02,Each_Time_Skill_02,Each_Time_Skill_Target02, Each_Time_Check_03,Each_Time_Skill_03,Each_Time_Sk ill_Target03,Dead_Skill,Distance_Check,Distance_Sk ill,Function_Code,Merchant_Code,DropItem_id,Quest_ List_Index,Quest_Drop_Index,NPC_Life_Index,Attack_ NPC_Index,City_Index,Spawn_Time_Start,Spawn_Time_E nd,Mission_Drop_Index,Quest_Condition,Trigger_Col, Summon_Idx,Tamable_Group,Cash_Code,Contents,Locati on,Premium
1010,Аь°?°Ў?ГБэ°Ф,701010,Krebiz,0,0,0,0,101,1010,n pc_attack,1,0,1,100,10,1,80,50,0,50,0,15,198,0,39, 0,0,0,0,0,0,41,41,0,0,0,0,0,0,19,33,300,4,130,500, 14,28,300,30,130,500,196,196,150,0,0,380,500,250,3 80,15,100,0,0,0,3,1,3,100,100,100,100,90,80,100,0, 30,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,11,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,1010,0,100,0,0,0,0,0,0,0,0,0,0,0 ,1,0,0
02/16/2009, 22:55
#43
elite*gold: 0
Join Date: Feb 2009
Posts: 1
Received Thanks: 0
has anyone found the character mesh's yet? I would really like to play with them to make a michinima or soemthing..
06/10/2009, 21:13
#44
elite*gold: 0
Join Date: Jun 2009
Posts: 3
Received Thanks: 0
so whats all the VDK extractors?
i have used dsfgd extractor, and it works ok, but there's some files it dont extract, and some text in the csv files are...well, like this:
115615 ,Áøº¸µÈ ½´Æ¿½º Á¶ÇÕ Á¦¿Â
115616 ,Áøº¸µÈ ¾Æ¼¼·Î¾Æ Á¶ÇÕ Á¦¿Â
one of the other extractors here, on end of page4 doesnt work.
and then there's those scrips, or whatever, that i dont know how to use
is there an update for dsfgd extractor?
or anyone knows what extractor that is good atm?
08/20/2009, 22:29
#45
elite*gold: 0
Join Date: Jul 2008
Posts: 23
Received Thanks: 14
Still no info about a packer? Unpacking is all fine (even if both unpackers fail to unpack all lang.vdk files) but a packer would help even more...or an unpacker that can unpack the whole lang.vdk would be nice too
Similar Threads
anyone post here the file of editing file.. the .edf file
07/13/2013 - RF Online - 3 Replies
please post here... so that i can download again.. i guess the old one thread was gone.. i've been search for an hour in this section.. but i can't see it... thanks..
How to open mesh file and anim file(dekaron).PLZ~
02/15/2010 - Dekaron Private Server - 11 Replies
How to open mesh file and anim file(dekaron).PLZ~
pacth file ???(div file)launcher & auto updata!!
08/23/2009 - Dekaron Private Server - 7 Replies
Hi.
I run the launcher and the client tries to patch
The problem is to create a div
A certain amount of data divided into two separate programs is split up the div?
If you want to know what it's like
------------------------------------------------- ------------
All times are GMT +2. The time now is 02:36 .