Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Star Wars: Force Commander (*.rpk)

Featured Replies

  • Author
  • Localization

Acewell, posted Wed May 09, 2018 1:10 am (34784)


Hi i'm making a bms script to extract files from the rpk archives and i can get a full
extraction with what i have here so far but i'm having trouble with the string matching
algorithm and i have reached a point where i can go no further. :(
i have names disabled for now but i think the 2nd table might be the key but not sure.

Code:
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm

idstring "\x52\x6F\x6E\x69\x6E\x20\x50\x61\x6B\x46\x69\x6C\x65\x0D\x0A\x00"
get TBL1_OFF long
goto TBL1_OFF 0 seek_cur
get ZERO long
get NUM_TBL1_ENTRIES long
for i = 0     get NUM long
    get STR_SZ long
    getdstring NAME STR_SZ
next i
goto 0x18 0 seek_cur
get NUM_TBL2_ENTRIES long
for i = 0     getdstring UNK 0x1c
next i
get NUM_TBL3_ENTRIES long
for i = 0     getdstring UNK2 0x18
    get OFFSET long
    get SIZE long
    log "" OFFSET SIZE
next i


any help here regarding name matching is appreciated. :)

here is a smaller sample
  • Author
  • Localization

aluigi, posted Wed May 09, 2018 2:12 pm (34805)


Let's recap:
0x284 names
0x30f "entries", biggested referenced ids: 0x310, 0x283 (name) and 0x30f
0x279 files, biggest reference id is 0x310

Maybe the entries in the middle are the directory structure, it starts to be quite painful :)
  • Author
  • Localization

Acewell, posted Thu May 10, 2018 5:03 am (34834)


thank you for the attempt but it breaks on the larger samples.
i think maybe if i stare at it long enough i can figure it out,
i might just try to skip folders and just get file names instead. :)

edit
the duplicate named files are okay i think because they are meant to sit inside different folders.
i think i see the pattern, will update my script when i get it working or i may just use python for this. :)
  • Author
  • Localization

aluigi, posted Fri May 11, 2018 1:49 pm (34863)


What you mean with "break"? Does quickbms return an error?
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.