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.

Idle Huntress .pak

Featured Replies

  • Author
  • Localization

condemn, posted Wed Aug 10, 2022 2:28 pm (72953)


Hi guys !

The game is Idle Huntress, the game archive containing .unity3d files is inside a 1GB .pak file

I've attached two samples from filecutter.

Any idea to extract the files ? Thanks !
  • Author
  • Localization

Ekey, posted Wed Aug 10, 2022 4:56 pm (72956)


Code:
# Idle Huntress (PAK) format
# script for QuickBMS http://quickbms.aluigi.org

idstring "MFS"
get DUMMY long
get VERSION byte
get FILES long

for i = 0 < FILES
   get NSIZE byte
   getdstring NAME NSIZE
   get SIZE long
   get OFFSET longlong
   putarray 0 i NAME
   putarray 1 i SIZE
   putarray 2 i OFFSET
next i

savepos BASE_OFFSET

for i = 0 < FILES
   getarray NAME 0 i
   getarray SIZE 1 i
   getarray OFFSET 2 i
   math OFFSET = BASE_OFFSET
   log NAME OFFSET SIZE
next i
  • Author
  • Localization

condemn, posted Wed Aug 10, 2022 6:24 pm (72957)


Thank you so much !

It seems all the extracted .unity3d files have a double UnityFS header, which is fine because I just need to delete the first 14 bytes to get AssetStudio to read them.

But since there are 9000 files, is there a way or script to delete the first UnityFS header ?
  • Author
  • Localization

rabatini, posted Wed Aug 10, 2022 6:40 pm (72960)


condemn wrote:
Thank you so much !

It seems all the extracted .unity3d files have a double UnityFS header, which is fine because I just need to delete the first 14 bytes to get AssetStudio to read them.

But since there are 9000 files, is there a way or script to delete the first UnityFS header ?


put
Code:
xmath offset "(offset   0x0e)"
xmath size "(size - 0x0e)"


before
Code:
log NAME OFFSET SIZE
  • Author
  • Localization

condemn, posted Wed Aug 10, 2022 7:23 pm (72961)


Thanks !

I haven't tested yet because I opened more files in Hex editor just to see some don't have double UnityFS header or some have it the engine version which would not work with the script ?

here is a screenshot from 3 different files

Image

Checking each file for potential different header will take a long time..
  • Author
  • Localization

spiritovod, posted Wed Aug 10, 2022 8:31 pm (72962)


You need this instead of "log NAME OFFSET SIZE":

Code:
log MEMORY_FILE OFFSET SIZE
get DUMMY byte MEMORY_FILE
findloc BEGIN string "UnityFS" MEMORY_FILE ""
math SIZE - BEGIN
log NAME BEGIN SIZE MEMORY_FILE
  • Author
  • Localization

condemn, posted Wed Aug 10, 2022 8:42 pm (72963)


It works perfectly, thanks to the three of you !

Again, thanks for your time.
  • Author
  • Localization

rabatini, posted Wed Aug 10, 2022 8:48 pm (72964)


condemn wrote:
It works perfectly, thanks to the three of you !

Again, thanks for your time.


Now you have 2 modification that do the same thing lol, pick one.

i am not expert in unity stuff, but i managed to open in assetstudio.

regards.
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.