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.

EXG files by Experience

Featured Replies

  • Author
  • Localization

poityu, posted Thu Mar 18, 2021 5:31 pm (62922)


By Experience, I mean the Japanese game company, experience.co.jp
Their dungeon crawling games are the ones that get the most media exposure.

Here I have two image files (I believe) from their recent steam release of Saviors of Sapphire Wings.



Through comparison, the following can be observed for an *.exg file.
The attachment town0001.exg will be used for demonstration.

4B ID: 45 58 47 72, "EXGr"
4B Count: 01 00 00 00, number of items, little-endian.*
4B Size: 2D A4 0E 00, size of item, little-endian.
28B Unknown: 10 13 00 00... Curiously, here, bytes 04~07 is always identical to bytes 0C~0F.
(the repetition of 80 07 40 04)
4B Zstd ID: 28 B5 2F FD, Zstd magic number?
NB of Data: A0 80 E0 1F...,
The bytes here plus 4 (the Zstd ID) should equal to the size mentioned earlier, that is,
if you jump 0x000EA42D from the start of Zstd ID, you should land at the end of the item.

*:The sample only has 1 item, what happens when there are more than 1?
For that, please refer to npc0100.exg
The count segment in that sample says 2, and fair enough, you can locate 2 sets
of Zstd ID bytes within that sample.
A single item consist of 4B Size, 28B Unknown, followed by 4B Zstd ID, and then data,
so an *.exg file can be generalized as:

4 4 Bytes, followed by
Array of (4 28 4 N) Bytes.

I have tried saving the Zstd Data section to a binary, they open it with Peazip
(which supports Zstd), but it did not work.
(Or maybe that's not how a Zstd file is structured? I have no idea how Zstd works.)

Actually, the presence of the magic number only implies it could be Zstd, it could very well be
that it's simply a coincidence and Zstd has nothing to do with it.

Hope someone who is familiar with Zstd can take a look.
  • Author
  • Localization

DKDave, posted Fri Mar 19, 2021 12:17 am (62931)


You are correct, it is ZSTD. The attached QuickBMS script should extract the images and save as the appropriate format. Not sure if it detects the correct field for image type, but it seems to work with both your examples. If you find any files that don't work, post a sample and I'll have a look at it.
  • Author
  • Localization

poityu, posted Fri Mar 19, 2021 7:21 am (62933)


Kudos DKDave!

Well the game does not support Win7 so I've already deleted it, since I did not expect a solution this quick...
I'll have to download it again before I can check for exceptions (about 2 gb or sth I think), and there're many files to test, but I think you've nailed it.

Thanks again!
  • Author
  • Localization

kingboghost, posted Tue May 10, 2022 2:28 pm (71490)


Dear poityu and DKDave,

Sorry to bother you.

I'm a fan of Experience Company and want to get some CG from the recent game Spirit Hunter: NG. I unpacked quite a few .exg files from the .bra file, but have no idea how to convert it to other image files. I also do not understand anything about the QuickBMS scripts. However, I saw this topic of yours, and I think there is hope to solve the problem (I tried your script, but it seems to produce the following error: uncompressed data (-10) bigger than allocated buffer (2073600)).


Therefore, would you mind taking a look at the .exg files I uploaded?

Thank you so much!
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.