Register for your free account! | Forgot your password?

You last visited: Today at 02:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



.VDK file !

Discussion on .VDK file ! within the General Gaming Discussion forum part of the General Gaming category.

Closed Thread
 
Old 10/02/2008, 17:39   #31
 
MADR4T's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 142
Received Thanks: 135
any beta of the packer?? can you send via private message plz?
MADR4T is offline  
Old 10/03/2008, 07:03   #32
 
elite*gold: 0
Join Date: Jul 2008
Posts: 31
Received Thanks: 1
Quote:
Originally Posted by midin14 View Post
скопируй распаковщик и то что хочеш распаковать в одну папку,и юзай
Заработало, спасибо, просто по описанию в программе получается что она распаковывает все файлы в папку с программой, но то что её нужно копернуть к ВДКшникам, не сказано, но всё равно молодец)
Rostix90 is offline  
Old 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?
TCoops is offline  
Old 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
CHaNGeTe is offline  
Old 11/24/2008, 07:15   #35
 
elite*gold: 0
Join Date: Feb 2008
Posts: 4
Received Thanks: 0
Quote:
Originally Posted by Rostix90 View Post
Заработало, спасибо, просто по описанию в программе получается что она распаковывает все файлы в папку с программой, но то что её нужно копернуть к ВДКшникам, не сказано, но всё равно молодец)
А не подскажите ли, что дальше делать с рапаковаными чтобы что-нить поменять? гуард байпаса как я понимаю нет для русского сервера или я слепой? .. Кто-нить на наших хоть что-то поменял, достиг успехов? Может поделитесь инфой?
a1exey is offline  
Old 11/28/2008, 21:47   #36
 
RICANPAPI_16's Avatar
 
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
RICANPAPI_16 is offline  
Old 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
Lokiie1984 is offline  
Old 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";
}
I_Mystic_I is offline  
Thanks
1 User
Old 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
File Type: zip vdkunpack.zip (234.4 KB, 573 views)
veider is offline  
Old 01/03/2009, 10:25   #40
 
MADR4T's Avatar
 
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
MADR4T is offline  
Old 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..
veider is offline  
Old 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
veider is offline  
Old 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..
ArcAiN6 is offline  
Old 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?
elmond is offline  
Old 08/20/2009, 22:29   #45
 
LordIoner's Avatar
 
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
LordIoner is offline  
Closed Thread


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.