I've been working on having a look through the files of 007 Nightfire lately and I've come across a few stumbling blocks that I need more help with.
So far I have:
- Extracted files from the .ISO of the game
- Found a .SYM file that has a lot of juicy data in it
- Used QuickBMS to extract from .SPE / .VIV / .MUS files into individual components - (I have found some odd corruption in .ssh files (see attached images))
- Verified that the .bnk files stored in \audio folders are as they say (including the .h headers to detail the content) - (Is there a know way to extract the audio to individual files? I have some what of a lead on this but wanted to ask!)
- Used OTools to take the .o files stored in \skeleton folders to get skeleton data
However, I'm struggling to find ways to understand the following file types
- .dat
- .rel
- .crp
- .gal
- .sfn
- .bin
The .dat and .rel files I have found in both animation and model folders and the .crp files seem to more hidden in weapon or model folders.
The .bin files are eluding me as I have one in the root of the ISO which is ~700MB but trying to figure how this expands or how to read it (outside HxD) seems to be a bit confusing.
I've tried using strings hidden in files to get some clues, but I'm struggling to find answers for what any of these file types might be
Magic strings / clues I'm finding:
.gal
- PS2 Metal Bin is an 86 byte attachment for a runtime structure. See SHAPE_metalbin
.dat
- ELF file headers
.rel
- __const int:::EAGLAnimationBuffer
.crp
- PRACZ (first handful of bytes in the file according to HxD)
- GIOT::dummy
.sfn
- FNTS (first few bytes in the file)
- EAGL240
I've also noticed people reference G359 a lot but in my files I'm finding G352 and G354, is this a version number or something less important? (Only found one reference online to G352 so far).
If it's a case these files are rather unknown, then I guess back to the old scripting, but if anyone has a lead on any of these, that'd be amazing.
I've even taken a bunch of the .ELF files (ACTION, BASE and DRIVING), into Ghidra (It's worked so well), hell in DRIVING.ELF (which I do have a SYM file for, I've been able to find things like "EAGLInternal::TARSharedData new[]")
Thank you and have a brilliant day!
~ r