I'm trying to rip sound clips from this game called Kurohyou Ryu Ga Gotoku Shinshou. I used PS sound while it's able to detect SOME battle voice clips, it didn't rip the majority of it. I tried unpacking the sound cpk and it seemed certain groups of sounds are packed in this unknown format.
I tried putting some of them in PS sound (which helped me with certain games in the past) and it didn't show.
I looked inside via a hex editor for one file for curiosity's sake and I see a bunch of individual names.
unfortunately, I'm not too knowledgeable with this so I thought I'd ask.
Finally extract the provided samples using this QuickBMS script. Copy and paste this code into a txt file and run it with QuickBMS. (QuickBMS can be found here):
Code:
idstring "SGXD"
get NULL long
get OFFSET long
get NULL long #timestamp?
idstring "WAVE"
get NULL longlong
get ENTRIES long
get ZERO long
for i = 0 < ENTRIES
get FNOFF long
savepos CUR_OFF
goto FNOFF
get NAME string
goto CUR_OFF
get NULL long
get FREQUENCY long
goto 0x1c 0 SEEK_CUR #skip
get SIZE long
goto 0xC 0 SEEK_CUR #another skip
string NAME += ".dat"
log MEMORY_FILE 0 4
putvarchr MEMORY_FILE 0 FREQUENCY long
log MEMORY_FILE2 0 4 MEMORY_FILE
append
log MEMORY_FILE2 OFFSET SIZE
append
get FSZ asize MEMORY_FILE2
log NAME 0 FSZ MEMORY_FILE2
math OFFSET + SIZE
next i
Once you finish that, you should be able to drag the .dats onto "test.exe" in the vgmstream folder, and they will convert to wav.
(02-10-2019, 06:32 PM)Pingu! Wrote: Download vgmstream: vgmstream
Make sure you get "test.zip"
Unzip this file and drop it into the root folder of vgmstream (where "test.exe" is located):
Finally extract the provided samples using this QuickBMS script. Copy and paste this code into a txt file and run it with QuickBMS. (QuickBMS can be found here):
Code:
idstring "SGXD"
get NULL long
get OFFSET long
get NULL long #timestamp?
idstring "WAVE"
get NULL longlong
get ENTRIES long
get ZERO long
for i = 0 < ENTRIES
get FNOFF long
savepos CUR_OFF
goto FNOFF
get NAME string
goto CUR_OFF
get NULL long
get FREQUENCY long
goto 0x1c 0 SEEK_CUR #skip
get SIZE long
goto 0xC 0 SEEK_CUR #another skip
string NAME += ".dat"
log MEMORY_FILE 0 4
putvarchr MEMORY_FILE 0 FREQUENCY long
log MEMORY_FILE2 0 4 MEMORY_FILE
append
log MEMORY_FILE2 OFFSET SIZE
append
get FSZ asize MEMORY_FILE2
log NAME 0 FSZ MEMORY_FILE2
math OFFSET + SIZE
next i
Once you finish that, you should be able to drag the .dats onto "test.exe" in the vgmstream folder, and they will convert to wav.
While I was able to convert them to .wav files, another problem arose. The sounds themselves just broken garbled messes.