Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
zzz
beginner
Posts: 21
Joined: Wed May 21, 2014 2:36 pm
Has thanked: 2 times
Been thanked: 5 times

Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archive

Post by zzz »

Sorry, I can't offer any more help than uploading an example archive, but I suspect people will want this more than your normal custom archive format because of the game's popularity.

Code: Select all

https://www.mediafire.com/?clrtv29a43y3fni
odrin
mega-veteran
mega-veteran
Posts: 172
Joined: Mon May 23, 2011 2:43 am
Has thanked: 3 times
Been thanked: 7 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by odrin »

they'll do the same stupid shit they always do. rip models and textures, rip sounds, translate to another language.

what "modding" comes down to these days
muskieratboi
ultra-n00b
Posts: 6
Joined: Sun Jan 01, 2012 10:35 am

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by muskieratboi »

Actually, My personal idea was to find a decent David Hayter Impersonator and do a Classic Snake Voice Pack..

Or give Arin Hanson a Million dollars for METAL GEAR AWESOME V..
JayK
mega-veteran
mega-veteran
Posts: 172
Joined: Fri Jun 01, 2012 10:08 am
Has thanked: 35 times
Been thanked: 121 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by JayK »

That's just a WMV file
odrin wrote:they'll do the same stupid shit they always do. rip models and textures, rip sounds, translate to another language.

what "modding" comes down to these days


Well I've modded new maps in metal gear online and such, there's a lot that can be done with metal gear games, I do dislike how people assume just because a games on pc now it will be modded, like they don't think of the fact that someone puts effort in to actually reverse the file formats etc.
muskieratboi
ultra-n00b
Posts: 6
Joined: Sun Jan 01, 2012 10:35 am

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by muskieratboi »

Indeed, Data0 is a renamed WMV file.

Data1 and Data2, However, seem to be encrypted formats:

(From cra0kalo on ZenHAX)

Metal Gear Solid Ground Zeros PC
-------------------------------------
Exe: MgsGroundZeroes.exe
Protection: VMProtect

Data Archives
data_00.g0s
data_01.g0s
data_02.g0s


Texture Extension
.ftex
Assets/tpp/mecha/sbh/Pictures/sbh0_intr2_def_srm.ftex
Assets/tpp/chara/dds/Pictures/dds0_body0_def_srm.ftex
Assets/tpp/chara/dds/Pictures/dds0_body0_def_nrm.ftex

you need to dump the exe to load it in IDA
They may be using blowfish
User avatar
lionheartuk
double-veteran
double-veteran
Posts: 749
Joined: Tue May 16, 2006 10:55 pm
Location: Everywhere
Has thanked: 34 times
Been thanked: 42 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by lionheartuk »

odrin wrote:they'll do the same stupid shit they always do. rip models and textures, rip sounds, translate to another language.

what "modding" comes down to these days
And theres something wrong with that?

If a game requires modding to be a good game, then its obviously not a good game in the first place.

Some games suit the modding scene and others don't.

A game like skyrim isn't story centric its gameplay centric, modding improves the gameplay elements, and its built with modding in mind, its easier for people to make entirely new things, more than just textures and models. Other games, like lets say MGSV, are story centric, most people are going to simply translate, swap out audio, maybe a model swap or 2, thats it, not all games improve with mods, and to be honest from my perspective, most of the mods seem pointless anyway.

Theres this whole 'high and mighty' attitude around modding games, I can't stand this, some people mod, some don't, thats all there is to it, if someones such a fantastic modder, go off and actually design original games.
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by chrrox »

The archive format is easy the file table is at the end and its very easy format.
The file names are hashes.
And the files are encrypted like every other metal gear game so someone will have to reverse it to make a proper extractor.
Also someone will need to dump the file names to match the file name hashes.
Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1823
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 92 times
Been thanked: 1058 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Ekey »

chrrox wrote:The archive format is easy the file table is at the end and its very easy format.
The file names are hashes.
And the files are encrypted like every other metal gear game so someone will have to reverse it to make a proper extractor.
Also someone will need to dump the file names to match the file name hashes.
You can make temporary script for dump encrypted data's? I'll look what I can do with this.
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by chrrox »

it might be a 64bit string instead of 32bit not sure.

Code: Select all

# Metal Gear Solid 5 Ground Zeroes
#Partaial quickbms script by chrrox
get TSIZE asize
math TSIZE - 36
goto TSIZE
print "%TSIZE%"
get arcsize long
getdstring null 0xC
get files long
set tblstart files
math tblstart * 16
math tblstart + 36
get TSIZE asize
math TSIZE - tblstart
goto TSIZE
for i = 0 < files
get CHKSUM long
get HASH long
get offset long
get size long
math offset * 16
string NAME p= "%08X.dat" HASH 
log NAME offset size
next i
Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1823
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 92 times
Been thanked: 1058 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Ekey »

Hm strange hashes.
Sergeanur
advanced
Posts: 53
Joined: Fri Dec 30, 2011 12:26 pm
Been thanked: 37 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Sergeanur »

Hash is 64 bit. First two bytes is an extention ID, rest is calculated from name string (without extention if id != 0). Same was in previous MGS games except it was 32 bit and only 1 byte for an extention ID.

The original names of data_01.g0s and data_02.g0s are texture.qar and data.qar respectively. In PS3 version there was no data.qar file, instead files were unpacked and the game was using pathid_list_ps3.bin to match hashes and filenames.
In MgsGroundZeroes.exe I have found a reference to pathid_list_win64_stm.bin and when I created an empty file with that name the game crashed. So I guess the game's still using it and if we find a way to extract data.qar (data_02.g0s) there will be no need for repacking it.
Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1823
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 92 times
Been thanked: 1058 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Ekey »

What a hash algorithm they used for previous game versions? I see CRC64 in this game with ecma tab.
Sergeanur
advanced
Posts: 53
Joined: Fri Dec 30, 2011 12:26 pm
Been thanked: 37 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Sergeanur »

I have discovered the encryption/decryption method! The tool is coming up shortly.
Ekey wrote:What a hash algorithm they used for previous game versions? I see CRC64 in this game with ecma tab.
I don't know the name of the algorythm (and it probably doesn't have one) but here's the code I have reversed from MGS 3 a long time ago. Same code was used for MGS 2 and MGS 4 as well.

Code: Select all

int CHashMGS::GetIDFromString(char *str)
{
	int hash = 0;
	for (; *str; str++)
	{
		int v1 = hash >> 19;
		int v0 = hash << 5;
		hash = ((v0 | v1) + *str) & 0xFFFFFF;
	}
	if (hash) return hash;
	return 1;
}
JayK
mega-veteran
mega-veteran
Posts: 172
Joined: Fri Jun 01, 2012 10:08 am
Has thanked: 35 times
Been thanked: 121 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by JayK »

Sergeanur wrote: I don't know the name of the algorythm (and it probably doesn't have one) but here's the code I have reversed from MGS 3 a long time ago. Same code was used for MGS 2 and MGS 4 as well.

Code: Select all

int CHashMGS::GetIDFromString(char *str)
{
	int hash = 0;
	for (; *str; str++)
	{
		int v1 = hash >> 19;
		int v0 = hash << 5;
		hash = ((v0 | v1) + *str) & 0xFFFFFF;
	}
	if (hash) return hash;
	return 1;
}
Nice, I was trying to figure this out for MGS4 for quite a while.
Sergeanur
advanced
Posts: 53
Joined: Fri Dec 30, 2011 12:26 pm
Been thanked: 37 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Sergeanur »

Ok here's the tool.
link
Post Reply