Star Ocean 2 (PS Vita)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
an4all
Posts: 16
Joined: Sun Apr 22, 2018 9:39 pm

Star Ocean 2 (PS Vita)

Post by an4all »

Greetings!

Need help with this game. Main archive is .psarc was succesfully extracted. But in extracted files there are files with .apac extension (100% archive) and .bnk extension (not sure, but it is seems so). Files attached.

There is also SLZ all over it.

But it seems that executable files are not encrypted and the game uses phyre scripting. I'm attached them maybe they can help with SLZ or BNK. Also I found this https://github.com/vMacho/Clase/tree/ma ... ommon/PSP2 maybe that helps too.
an4all
Posts: 16
Joined: Sun Apr 22, 2018 9:39 pm

Re: Star Ocean 2 (PS Vita)

Post by an4all »

Ok. I look inside of .apac files and tried to write a script (my first :D )

Code: Select all

idstring "KCPA"
get offset long
get unknownValue long
get fileCount long
get name long
get null long
get null long
get null long
for i = 0 < fileCount
   get length long
   get null long
   get null long
   get null long
   get pointer long
   get null long
   get unknownValue long
   get null long
   getdstring name 0x1A
   log name pointer length
   get null THREEBYTE
   get null THREEBYTE
next i


This script successfully works on one specific file, because I write name length and number of 00 after it.

So I need help.

Image

Here is what it looks like:

4B435041 - magic
A0000000 - offset to beggining of file
10000000 - multiplier of hex in file name
02000000 - number of files
1A000000 - max length of the field with file name
00000000 00000000 00000000

8F0C4000 - size of a file
00000000 00000000 00000000
A0000000 - offset to beggining of file
00000000
10000000 - multiplier of hex in file name
00000000
7469746C655F53455F6C6F676F5F302E706E672E7068797265 - file name
00000000000000 - buffer to fill x10 multiplier of hex in file name

So my question in multiplier of hex in file name. Game provide place for file names in 0x10 chunks, i.e. if longest file name consist from 26 bytes it adds six 00 to the end to get 0x20. Next file have shorter file name but it's still fiil up 00 to 0x20.
Basically it needs to looks on max length of the field with file name, round off it, and after that get info for new file.

So how can it be added to script?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Star Ocean 2 (PS Vita)

Post by aluigi »

chrnodroid
Posts: 13
Joined: Thu Jan 24, 2019 9:59 am

Re: Star Ocean 2 (PS Vita)

Post by chrnodroid »

Wait, @an4all, how did you extracted the PSARC archive? I've tried everything, and there is not enough information in this forum

edit: nevermind, problem solved here: viewtopic.php?f=9&t=9341&p=47588#p47583