.core and .corestream files from Until Dawn (PS4)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Ice Bro
Posts: 9
Joined: Fri Jun 15, 2018 9:18 pm

.core and .corestream files from Until Dawn (PS4)

Post by Ice Bro »

The main part of the extracted pkg from Until Dawn contains .core and .corestreams files.
The size goes from 1kb to 380MB( core files) and from 104kb to 81MB ( corestream files)
Then you have also a movie folder with the cutscenes. There are saved as bk2 files. RAD Video tools can play this videos but often without audio. So also the intro scene, where normaly plays the song "O Death". But RAD Video tools says that he doesn't found any audio. So I guess the audio files are saved into the core or corestream files. Maybe this files are archive files, but I am not really sure. Where I am sure, that in this core(stream) files are also the 3d models with the textures included. I know that there is a script to unpack this files, but only the core files and not every file. Also I get everytime I unpacked one file, an error so I must close the cmd Window reopen the programm, and do it again for every single file. Too much work for over 1000 files. Also this script doesn't support the corestream files.
I would really appreciate if someone could help me, I also uploaded example files

https://drive.google.com/file/d/1umk9pn ... sp=sharing

https://drive.google.com/file/d/1a3M7Yy ... sp=sharing
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: .core and .corestream files from Until Dawn (PS4)

Post by aluigi »

Already exists a script for decompressing the .core files:
http://aluigi.org/bms/killzone_83c110cb.bms

The decompressed file is an RTTIBin for which I guess you can find information on the Internet.

.corestream seems just an useless sequence of 64bit fields.
fignyafsyakaya
Posts: 14
Joined: Fri Jul 27, 2018 6:19 am

Re: .core and .corestream files from Until Dawn (PS4)

Post by fignyafsyakaya »

Tried to interact with decompressed Until Dawn .core-files - this is what I managed to make out.
At the moment it should extract each asset with its identifier as filename and put it inside a folder named after its type.

Checked ONLY with Until Dawn - I'm not sure if it'll work with other games.

Code: Select all

idstring "RTTIBin"
getdstring VER 0x9

get UNK2 long
get UNK2 long
get UNK2 long
get NUM_OF_ASSETS long

get TYPES long

for i = 0 < TYPES
   get TYPELENGTH long
   getdstring TYPE TYPELENGTH
   getdstring TYPE_DEFINER_OR_SMTH 0x10
   print %TYPE%      # prints out all the types existing inside an archive - if you don't need it, remove this line
   putarray 0 i TYPE
next i

get NUM_OF_ASSETS2 long

math PREVTYPEID = 0
math NUMBER = 0
for i = 0 < NUM_OF_ASSETS2
   get TYPEID long
   if TYPEID = PREVTYPEID
      math NUMBER += 1
   else
      putarray 1 PREVTYPEID NUMBER
      math PREVTYPEID = TYPEID
      math NUMBER = 1
   endif
next i
putarray 1 TYPEID NUMBER


get NUM_OF_EXISTING_ASSETS long
math DATAOFF = NUM_OF_ASSETS
math DATAOFF *= 0x14
savepos CUROFF
math DATAOFF += CUROFF


for i = 0 < TYPES
   getarray TYPE 0 i
   getarray NUMBER 1 i
      for k = 0 < NUMBER
         get IDKHOWTOUSEIT1 longlong
         get IDKHOWTOUSEIT2 longlong
         get ASSETSIZE long
         savepos ASSETOFF
         string KINDA_NAME p "%s/%08x%08x" TYPE IDKHOWTOUSEIT2 IDKHOWTOUSEIT1
         goto DATAOFF
         if TYPE = "LocalizedText" || TYPE = "CommunicationMessageEventSound"         # if you want to extract ALL the assets, remove this "if/endif"
            log KINDA_NAME DATAOFF ASSETSIZE
         endif
         math DATAOFF += ASSETSIZE
         goto ASSETOFF
      next k
next i
Last edited by fignyafsyakaya on Thu Apr 07, 2022 2:36 am, edited 1 time in total.
fignyafsyakaya
Posts: 14
Joined: Fri Jul 27, 2018 6:19 am

Re: .core and .corestream files from Until Dawn (PS4)

Post by fignyafsyakaya »

Also, I tried to print out the stuff represented in the output folders using these bms-scripts - something worked, but with mixed success.