Code: Select all
# extracts the *.TPK archives from "Criminal Girls"
# (c) 2015-02-03 by Einstein95 of just about everywhere
# script for QuickBMS http://quickbms.aluigi.org
get FILEZ long
for i = 0 < FILEZ
get OFFSET long
getdstring NAME 0x1C
savepos T
get SIZE long
if SIZE == 0
get SIZE asize
endif
math SIZE - OFFSET
log NAME OFFSET SIZE
goto T
next i
Probably has been done before, just wasn't on the Zentax Wiki.
Code: Select all
# extracts the *.far archives from "The Sims (PC)"
# (c) 2015-01-25 by Einstein95 of just about everywhere
# script for QuickBMS http://quickbms.aluigi.org
idstring FAR!byAZ
get VER long
get DIR long
goto DIR
get FILEZ long
for i = 0 < FILEZ
get SIZE long
get SIZEC long
get OFFSET long
get NAMELEN long
getdstring NAME NAMELEN
log NAME OFFSET SIZE
next i
DQ7 (3DS)
Code: Select all
# extracts the *.fpt archives from "Dragon Quest 7"
# (c) 2015-01-14 by Einstein95 of just about everywhere
# script for QuickBMS http://quickbms.aluigi.org
idstring FPT0
get NULL long
get FILES long
get unk long
set FILEZ 0x20
math FILEZ * FILES
math FILEZ + 0x50 # account for the header and 0x40 gap between the table and data
for i = 0 < FILES
getdstring NAME 0x10
get CRC long
get OFFSET long
get SIZE long
get NULL long
math OFFSET + FILEZ
log NAME OFFSET SIZE
next i
My first script
Code: Select all
# extracts the *.DAT archives from "Fable" (PC, 1996)
# (c) 2013-10-10 by Einstein95 of just about everywhere
# script for QuickBMS http://quickbms.aluigi.org
idstring "ARC1"
get FILEZ int
for i = 0 < FILEZ
getdstring NAME 0xE
get OFFSET long
get SIZE long
log NAME OFFSET SIZE
next i
Manhole (DOS) BLK files
Code: Select all
get NULL short
get FILEZ long
idstring "FLEX"
for i = 0 < FILEZ
get OFF long
get NULL long
get SIZE long
log "" OFF SIZE
next i
Gyakuten Saiban 2 (PC) LINK files
Code: Select all
idstring "LINK"
get FILEZ long
for i = 0 < FILEZ
getdstring NAME 0x40
set NAME unicode NAME
get OFFSET long
get SIZE long
log NAME OFFSET SIZE
next i
Satyr (PC-98) DLB install files
Code: Select all
idstring "<< dlb file Ver1.00>>"
get NULL byte
get FILEZ short
for i = 0 < FILEZ
getdstring NAME 0xD
get OFF long
get SIZE long
log NAME OFF SIZE
next i
Metal Slug Anthology (PSP) POD files
Code: Select all
idstring POD3
goto 0x58
get NUMFILES long
goto 0x108
get FILETBL long
goto 0x110
get NAMETBLS long
set NAMETBL NUMFILES
math NAMETBL * 0x14 # size of FILETBL
math NAMETBL + FILETBL # therefore the offset of NAMETBL
goto FILETBL
for i = 0 < NUMFILES
get NAMEOFF long
get SIZE long
get OFF long
savepos TEMP1
math TEMP1 + 0x8
math NAMEOFF + NAMETBL
goto NAMEOFF
get NAME string
goto TEMP1
log NAME OFF SIZE
next i
Game & Watch (DSiWare)
Code: Select all
comtype LZ77WII
do
get OFF long
get SIZE long
clog "" OFF SIZE SIZE
while OFF != 0
Applesauce Journey [あっぷるそーす JOURNEY] (PC) MLK
Code: Select all
get FILEZ byte
for i = 0 < FILEZ
get UNK byte
get OFF long
get SIZE long
log "" OFF SIZE
next i
Ore wa Shoujo Mangaka (オレは少女漫画家) (PSP)
Code: Select all
open FDDE "idx" 0
open FDDE "pak" 1
get FILES asize 0
math FILES / 24
for i = 0 < FILES
get DUMMY long #crc?
get OFFSET long
get SIZE long
getdstring NAME 0xC
log NAME OFFSET SIZE 1
next i