Jump to content

ThatTrueStruggle

Member
  • Posts

    2
  • Joined

  • Last visited

Reputation

10 Good

About ThatTrueStruggle

  • Birthday 12/19/1999

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I had actually written a program that reads a *SIR0 table and extracts the files from it: https://www.dropbox.com/s/0q67hp1um2w4nn5/FARCReader.exe?dl=0 *: It works only on a few SIR0 tables. It only works on the ones that have file names and then the offsets afterwards. This is the code I followed from gdkchan : 0x0 - FARC Signature 0x20 - Number of files 0x24 - SIR0 Offset 0x28 - SIR0 Length 0x2C - Data Offset SIR0 Table Structure (All offsets here are relative to the SIR0 offset) 0x0 - SIR0 Signature 0x4 - Offset to Pointers Table 0x8 - Offset to encoded Relocation Table 0xC - Padding only (String table with file names starts after this, they're UTF16 and Null Terminated) Pointers Table 0x0 - Offset to the Files Table 0x4 - Total number of files Files Table (Each entry have 0x10 bytes) 0x0 - Offset to the Name of the file (relative to the SIR0 offset) 0x4 - Offset to the File Data (relative to Data Offset at 0x2C, see first header) 0x8 - Length of the file in bytes 0xC - Only 0x0 was observed, may be related to compression tho
  2. Hey guys, I'm ThatTrueStruggle. You might know me from VG-Resource, but enough of that. I've come in searching of knowledge for finishing a script. Right now, I have a script written to extract CGFX files from those BIN files. However what's giving me grief is a format called the BGRS format. I'm assuming it's a type of subfile for BCH files. Also since BCH files don't have a set file size, I can't use the same method on the CGFX files. But yeah any knowledge you guys have, It'd be amazing. Here's my current script for use with QuickBMS. idstring "FARC" get Size asize callfunction CGFXExtract goto 0 callfunction BCHExtract startfunction CGFXExtract for i = 0 get PATH basename SavePos Position if Position == SIZE break endif FindLoc Offset string "CGFX" 0 "noCGFX" if Offset == "noCGFX" break endif goto Offset idstring "CGFX" get Endianness short get Length short get Revision long get FileLength long goto Offset goto FileLength 0 SEEK_CUR string PATH += i string PATH += ".cgfx" log PATH Offset fileLength next i endfunction startfunction BCHExtract endfunction
×
×
  • Create New...