GHLive - Xbox360

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Manta
Posts: 5
Joined: Sun Nov 08, 2015 3:44 am

GHLive - Xbox360

Post by Manta »

Magic = FSG-FILE-SYSTEM

Same as the script written for DJ Hero 2: http://aluigi.altervista.org/bms/djhero2.bms

The script extracts the contents, but there are 4800+ files. Would it be possible to update the script to write out the directory structure and correct file names?

100MB Sample of DISC0.IMG.part000 here: http://www2.zippyshare.com/v/blqpyyTG/file.html

DISC0.IMG.part000
DISC0.IMG.part001
DISC0.IMG.part002
DISC0.IMG.part003
DISC0.IMG.part004
DISC0.IMG.part005

Totals over 6GB when combined.

If you need more information please let me know. Thanks for your time.

-M
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: GHLive - Xbox360

Post by aluigi »

The script uses the name "" which means that no filenames have been found in the archives during the analysis.
In fact I don't see filenames there and so it's not possible to create a directory tree.
Manta
Posts: 5
Joined: Sun Nov 08, 2015 3:44 am

Re: GHLive - Xbox360

Post by Manta »

Thanks for looking

In your original post on this format you seemed to think there were filenames, but at the time just extracting the files was enough.
http://forum.xentax.com/viewtopic.php?f=10&t=5336

I've attached screen caps of where some file and directory names appear further down the archive.

It looks like file names begin with a "F" and directory names begin with a "D".

-M
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: GHLive - Xbox360

Post by aluigi »

If you can find how a name and the folder is referenced to each file, I will implement it.
Currently I don't see ways to do that.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: GHLive - Xbox360

Post by aluigi »

I have just uploaded a version 0.2 of the script that "tries" to read the filenames (at least the last folder and not the whole directory tree), can you use it and report any error?

Additionally with this script is no longer necessary to create one big archive, it will read them automatically when needed.
Manta
Posts: 5
Joined: Sun Nov 08, 2015 3:44 am

Re: GHLive - Xbox360

Post by Manta »

Getting close...

D:\!download\2\GHL\Disk1\Tester>quickbms_4gb_files.exe extract2.bms DISC0.IMG.part000 extracted

QuickBMS generic files extractor and reimporter 0.7.0 (64bit test)
by Luigi Auriemma
e-mail: me@aluigi.org
web: aluigi.org
(Oct 31 2015 - 13:59:58)

quickbms.aluigi.org Homepage
zenhax.com ZenHAX Forum
@zenhax Twitter & Scripts

- open input file D:\!download\2\GHL\Disk1\Tester\DISC0.IMG.part000
- open script extract2.bms
- set output folder extracted

offset filesize filename
--------------------------------------
- SCRIPT's MESSAGE:
Sorting offsets, wait some seconds...

00000000000e0000 8650986 DAudio/FF2S1_Fighthound_negative.wem
0000000000940000 8752620 DAudio/FF2S1_Fighthound_positive.wem
00000000011e0000 9585093 DAudio/FF2S1_VividScreams_negative.wem
0000000001b20000 9783980 DAudio/FF2S1_VividScreams_positive.wem
00000000024c0000 9674946 DAudio/FF2S2_JephsonHangout_negative.wem
0000000002e00000 10311486 DAudio/FF2S2_JephsonHangout_positive.wem
0000000003820000 11838002 DAudio/FF2S2_QuantumFreqs_negative.wem
0000000004380000 12288520 DAudio/FF2S2_QuantumFreqs_positive.wem
0000000004f80000 10017252 DAudio/FF2S2_TheOutOuts_negative.wem
0000000005920000 10480672 DAudio/FF2S2_TheOutOuts_positive.wem
0000000006360000 11147755 DAudio/FF1S2_OurPastsCollide_negative.wem
0000000006e20000 11507950 DAudio/FF1S2_OurPastsCollide_positive.wem
0000000007960000 9632551 DAudio/FF2S3_BrokenTide_negative.wem
00000000082a0000 10010565 DAudio/FF2S3_BrokenTide_positive.wem
0000000008c80000 9854432 DAudio/FF2S3_SuperGroup_negative.wem
0000000009600000 10380915 DAudio/FF2S3_SuperGroup_positive.wem
000000000a060000 8253632 DF1S1_BrokenTideMegaSet/FMetaData.far
000000000a880000 55136 DStageFright/FGHL1003.far
000000000a920000 1451206 DAudio/FGHL1037_guitar_left.wem
000000000aaa0000 1449781 DAudio/FGHL1037_guitar_right.wem
000000000ac20000 2767311 DAudio/FGHL1037_song.wem
000000000aee0000 46848 DAudio/

Error: incomplete input file -1:
Can't read 1 bytes from offset 0000000000000046.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file -1 1137% 796 70

Last script line before the error or that produced the error:
81 get PATH string MEMORY_FILE
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: GHLive - Xbox360

Post by aluigi »

I can't do much.
The only thing I can do is checking if there are names available and, if not, setting it to "".
Script has been updated to version 0.2.1, just let me know if:
- all the files are extracted
- their extensions match their content, for example "wem" are RIFX and "far" something else
Manta
Posts: 5
Joined: Sun Nov 08, 2015 3:44 am

Re: GHLive - Xbox360

Post by Manta »

Same....

D:\!download\2\GHL\Disk1\Tester>quickbms_4gb_files.exe extract2.bms DISC0.IMG.part000 extracted

QuickBMS generic files extractor and reimporter 0.7.0 (64bit test)
by Luigi Auriemma
e-mail: me@aluigi.org
web: aluigi.org
(Oct 31 2015 - 13:59:58)

quickbms.aluigi.org Homepage
zenhax.com ZenHAX Forum
@zenhax Twitter & Scripts

- open input file D:\!download\2\GHL\Disk1\Tester\DISC0.IMG.part000
- open script extract2.bms
- set output folder extracted

offset filesize filename
--------------------------------------
- SCRIPT's MESSAGE:
Sorting offsets, wait some seconds...

00000000000e0000 8650986 DAudio/FF2S1_Fighthound_negative.wem
0000000000940000 8752620 DAudio/FF2S1_Fighthound_positive.wem
00000000011e0000 9585093 DAudio/FF2S1_VividScreams_negative.wem
0000000001b20000 9783980 DAudio/FF2S1_VividScreams_positive.wem
00000000024c0000 9674946 DAudio/FF2S2_JephsonHangout_negative.wem
0000000002e00000 10311486 DAudio/FF2S2_JephsonHangout_positive.wem
0000000003820000 11838002 DAudio/FF2S2_QuantumFreqs_negative.wem
0000000004380000 12288520 DAudio/FF2S2_QuantumFreqs_positive.wem
0000000004f80000 10017252 DAudio/FF2S2_TheOutOuts_negative.wem
0000000005920000 10480672 DAudio/FF2S2_TheOutOuts_positive.wem
0000000006360000 11147755 DAudio/FF1S2_OurPastsCollide_negative.wem
0000000006e20000 11507950 DAudio/FF1S2_OurPastsCollide_positive.wem
0000000007960000 9632551 DAudio/FF2S3_BrokenTide_negative.wem
00000000082a0000 10010565 DAudio/FF2S3_BrokenTide_positive.wem
0000000008c80000 9854432 DAudio/FF2S3_SuperGroup_negative.wem
0000000009600000 10380915 DAudio/FF2S3_SuperGroup_positive.wem
000000000a060000 8253632 DF1S1_BrokenTideMegaSet/FMetaData.far
000000000a880000 55136 DStageFright/FGHL1003.far
000000000a920000 1451206 DAudio/FGHL1037_guitar_left.wem
000000000aaa0000 1449781 DAudio/FGHL1037_guitar_right.wem
000000000ac20000 2767311 DAudio/FGHL1037_song.wem
000000000aee0000 46848 DAudio/

Error: incomplete input file -1:
Can't read 1 bytes from offset 0000000000000046.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file -1 1137% 796 70

Last script line before the error or that produced the error:
81 get PATH string MEMORY_FILE
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: GHLive - Xbox360

Post by aluigi »

I have updated the script only to remove the experimental guessing of filenames.
Now they are extracted without name.
There will be no other updates.
Manta
Posts: 5
Joined: Sun Nov 08, 2015 3:44 am

Re: GHLive - Xbox360

Post by Manta »

Thanks for trying
maxton
Posts: 7
Joined: Thu Aug 13, 2015 4:30 am

Re: GHLive - Xbox360

Post by maxton »

The file paths are hashed with a broken fnv132 hash (developer typed 1677619 instead of 16777619 :lol: ), I'm working on a C# library to work with these.

If you're interested see https://github.com/maxton/GameArchives/blob/master/Library/FSGIMG/FSGIMGPackage.cs

edit:
I've made an initial release of a tool that can open, browse, and extract from these files:
https://github.com/maxton/GameArchives/releases/latest
fiveighteen
Posts: 1
Joined: Wed Apr 13, 2016 6:14 pm

Re: GHLive - Xbox360

Post by fiveighteen »

maxton wrote:The file paths are hashed with a broken fnv132 hash (developer typed 1677619 instead of 16777619 :lol: ), I'm working on a C# library to work with these.

If you're interested see https://github.com/maxton/GameArchives/blob/master/Library/FSGIMG/FSGIMGPackage.cs

edit:
I've made an initial release of a tool that can open, browse, and extract from these files:
https://github.com/maxton/GameArchives/releases/latest
maxton, great tool! Is it possible to edit and inject/replace files into the archive?
maxton
Posts: 7
Joined: Thu Aug 13, 2015 4:30 am

Re: GHLive - Xbox360

Post by maxton »

Not yet. I didn't really have editing in mind when I was designing this so it will be a pretty significant amount of effort if/when I get around to implementing that...

Also, there is a checksum in the FSG-FILE-SYSTEM header which I am not sure how to calculate, so it could be tricky getting the game to accept modified files