ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Sun Sep 23, 2018 12:40 am

All times are UTC




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Tue Oct 10, 2017 5:28 am 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
This format is used on Soul Edge (Soul Blade in US and Europe) and Tekken
The archives didn't have a table of contents at the header, instead some strings that usually identifies which games using the archive.
And looks like the TOC was stored on the game's executable

Here's the example (Examples from Soul Edge)
If needed I can upload the game executables too.


Attachments:
SOULOVL.rar [2.51 MiB]
Downloaded 49 times
Top
   
PostPosted: Wed Oct 11, 2017 7:55 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8816
Yeah no TOC for me too, let's try with the exe


Top
   
PostPosted: Wed Oct 11, 2017 11:47 pm 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
okay exe uploaded


Attachments:
SLPS_005.rar [263.76 KiB]
Downloaded 43 times
Top
   
PostPosted: Thu Oct 12, 2017 11:15 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8816
It's just a waste of time for various reasons.
Anyway I wrote a script to dump something but don't ask me what are these files:
http://aluigi.org/bms/soul_edge_bns.bms


Top
   
PostPosted: Mon Jan 15, 2018 6:43 am 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
I decided to bump this thread again
And, aluigi please try these files from Tekken 2 instead.

https://mega.nz/#!759Gma5K!zLo0idUOTRha ... 9T1-6mnTu4

at offset 0x41B8E in the executables (SLUS_002.13) there's filenames and their directories but I don't know where the offsets are.
Maybe this could help you pinpoint the archives structure more easily.


Top
   
PostPosted: Mon Jan 15, 2018 9:16 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8816
http://aluigi.org/bms/tekken2_bns.bms


Top
   
PostPosted: Mon Jan 15, 2018 9:36 am 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
I just tried the script and it seems it just extracting the segments of the executables only, but the archives wasn't accessed at all.


Top
   
PostPosted: Mon Jan 15, 2018 9:45 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8816
The "log" operation is performed on the file you open, so BNS.


Top
   
PostPosted: Mon Jan 15, 2018 10:56 am 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
Okay since I still couldn't get it right, I tried to wrote it myself.
However, the filename indexes are bit messy (Not to mention that the filenames also randomly assigned so getting which one with correct size and offset is quite tricky)

Also, how I found the file info addresses is because apparently someone already wrote the extractor long ago

Code:
open FDSE "SLUS_002.13" 0
open FDSE "TEKKEN2.BNS" 1

goto 0x960

for i = 0 < INFO
   get DUMMY long
   get offset long
   math offset * 0x800
   get SIZE long
   putarray 0 i OFFSET
    putarray 1 i SIZE
   if OFFSET == 0x00000000
        break
    endif
next i

goto 0x4A716

for i = 0 < NAMES
   get NAMES string
   putarray 2 i NAMES
   padding 0x3
   savepos NAMES
   if NAMES == 0x0004f476
      break
   endif
next i

for i = 0 < FILES
    getarray OFFSET 0 i
    getarray SIZE   1 i
    getarray NAMES   2 i
   log NAMES OFFSET SIZE 1
next i


However, I'm still looking for a way to extract Soul Edge's BNS archive because that extractor is incompatible with Soul Edge ones.


Top
   
PostPosted: Mon Jan 15, 2018 11:58 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8816
The variables INFO and FILES are not set.

The names are less than the available files, that one is not a table with the filenames so what you get is wrong.
If it's not possible to get the correct filenames the only solution is using sequential names with guessed extensions.


Top
   
PostPosted: Tue Mar 27, 2018 2:45 pm 

Joined: Fri Mar 10, 2017 7:23 am
Posts: 47
Okay, some update regarding Soul Edge's BNS....

Apparently, the TOC lacks the information of which archives is accessed (There's two another archives besides SOULOVL.BNS, named SOUL.BNS and SOULSYS.BNS), so the only way to guess it was subtract it by 0x10 from the each starting offsets and checks if the hex values of the subtracted offsets are equals to 0x10 zeroes for the each archives (after each offsets there's lot of 0x10 zeroes).
But it created problems for the very first offsets (0x800). As you can see, after the ASCII header of the each BNS ("Legend of Evil Sword...."), there's a lot of zeroes too before the 0x800. Also, since the 0x800 (0x01) listed three times with different sizes, here's the size info i gathered from the TOC (also helped by trying to match it with the each archives using HxD)

0x1a3e8 (107496) = SOULOVL.BNS
0x18404 (99332) = SOULSYS.BNS
0x24F0 (9456) = SOUL.BNS

About the another two files I mention, here's the link

https://mega.nz/#!qkdXmAAR!SYrinFHzx2tl ... vvHSZM-KQs


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited