Extract music files from .pak file

Initiate Mage
Joined
Apr 16, 2025
Messages
3
Reaction score
0
Hi, I want to get the music files from an .apk file of a game called 封神榜 (Feng Shen Bang). The game was developed by Object Software Limited (China) and released in 2006-2007

I have tried many software but they cannot read the data from the .pak file. Can anyone do this or know of a tool that can do it?
Please check my attach file.
Any help would be much appreciated.

Thank!
 

Attachments

Hi, I want to get the music files from an .apk file of a game called 封神榜 (Feng Shen Bang). The game was developed by Object Software Limited (China) and released in 2006-2007

I have tried many software but they cannot read the data from the .pak file. Can anyone do this or know of a tool that can do it?
Please check my attach file.
Any help would be much appreciated.

Thank!
Quickbms not work?
 
Hi, I want to get the music files from an .apk file of a game called 封神榜 (Feng Shen Bang). The game was developed by Object Software Limited (China) and released in 2006-2007

I have tried many software but they cannot read the data from the .pak file. Can anyone do this or know of a tool that can do it?
Please check my attach file.
Any help would be much appreciated.

Thank!
You need to reverse the client resource file reading to get these. I think they are stored in some custom format. Hope this helps.
 
I can surely help you. I have done similar work as yours. Contact me, please.
 
Boring stucture :)

Code:
struct PackHeader
{
   uint32_t   dwMagic; // 0x4B434150 (PACK)
   uint32_t   dwTotalFiles;
   uint32_t   dwTableOffset;
   uint32_t   dwBaseOffset; // always 32 (or header size)
};

struct PackEntry
{
   uint32_t   dwHash; // hash of filename
   uint32_t   dwOffset;
   uint32_t   dwDecompressedSize;
   uint32_t   dwCompressedSize; // value & 0xffffff, to get compression type (value >> 24) -> 1 is NRV2b
};

BMS script

Code:
# 封神榜 (Feng Shen Bang) (PAK format)
# script for QuickBMS http://quickbms.aluigi.org

comtype nrv2b

idstring "PACK"
get FILES long
get TABLE_OFFSET long
get BASE_OFFSET long

goto TABLE_OFFSET

for i = 0 < FILES
    get HASH long
    get OFFSET long
    get SIZE long
    get ZSIZE long
    math ZSIZE &= 0xffffff
    
    if ZSIZE == SIZE
       log "" OFFSET SIZE
    else
       clog "" OFFSET ZSIZE SIZE
    endif
next i
 
Last edited:
Back