Higurashi: When They Cry Mei (Android)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

The data.bin file contain the assets for images, sprites, sound, audio, pretty much everything, and using any Unity programs will not open them up.

APK Data.bin (64.9 MB)

Full in-game downloaded Data.bin (776 MB)

I'm providing both the APK and the fully downloaded data.bin from the game's own downloader.

While Data.bin is the presumed to be the main archive containing the assets, both downloads are also supplied with the respective hash.bin, inst.bin and list.bin files presumably necessary to figure this out. (Thanks to soneek for making me aware I should point this out.)

Please help me where I can't help myself, and thank you very much for trying to help!
Last edited by TwoLeggedRat on Tue Sep 08, 2020 5:56 am, edited 1 time in total.
soneek
Posts: 15
Joined: Sun Jan 25, 2015 1:31 am

Re: Higurashi: When They Cry Mei (Android)

Post by soneek »

It might be worth including list.bin, and hash.bin as well. inst.bin didn't seem useful.

Edit: They are already included. I already have the files on my end, so I hadn't checked your upload. Sorry about assuming.
Last edited by soneek on Tue Sep 08, 2020 5:39 pm, edited 1 time in total.
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

soneek wrote:It might be worth including list.bin, and hash.bin as well. inst.bin didn't seem useful.


Both downloads contain hash.bin, inst.bin and list.bin along with the Data.bin (that differs between the links as described.)
soneek
Posts: 15
Joined: Sun Jan 25, 2015 1:31 am

Re: Higurashi: When They Cry Mei (Android)

Post by soneek »

I was able to get the file list from RAM, which might have parts of list.bin decrypted. It corresponds to the large data.bin in terms of offsets and files size, starting around offset 0xd5d8 in the attached file. The first portion of the list has folder names, and the actual file blocks have file names, folder, offset, size, and some other info. I will write a BMS script later based off of it for extraction at least if I get some extra time. As TwoLeggedRat mention, the encryption is the tough part.

Image
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

soneek wrote:I was able to get the file list from RAM, which might have parts of list.bin decrypted. It corresponds to the large data.bin in terms of offsets and files size, starting around offset 0xd5d8 in the attached file. The first portion of the list has folder names, and the actual file blocks have file names, folder, offset, size, and some other info. I will write a BMS script later based off of it for extraction at least if I get some extra time. As TwoLeggedRat mention, the encryption is the tough part.

Image


It's exciting to see progress! No rush, pressure, or insistence, I'm happy just to see things having gotten this far, so just for this much alone, I REALLY thank you, as I didn't think I'd even get this far. :D
soneek
Posts: 15
Joined: Sun Jan 25, 2015 1:31 am

Re: Higurashi: When They Cry Mei (Android)

Post by soneek »

So, it looks like the list.bin I got from RAM is incomplete, but here's what I have figured out so far.

Folder table

Code: Select all

long folderCount


for each folder

Code: Select all

long fileCount
string folderName


After the folder table is the file table

Code: Select all

long totalFileCount


For each file entry

Code: Select all

string fileName <- this is the full path without the leading root level folder
short folderId <- This is the array index for the folders read in the folder table
short folderFileNumber <- This is a counter for the file number in the folder
short unk1
long offset <- offset in data.bin
long unk2
long size
longlong someKey <- Maybe something to do with decryption?


I attached a cleaner list.bin from RAM, though it's missing a lot of file entries on the tail end.
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

soneek wrote:So, it looks like the list.bin I got from RAM is incomplete, but here's what I have figured out so far.

Folder table

Code: Select all

long folderCount


for each folder

Code: Select all

long fileCount
string folderName


After the folder table is the file table

Code: Select all

long totalFileCount


For each file entry

Code: Select all

string fileName <- this is the full path without the leading root level folder
short folderId <- This is the array index for the folders read in the folder table
short folderFileNumber <- This is a counter for the file number in the folder
short unk1
long offset <- offset in data.bin
long unk2
long size
longlong someKey <- Maybe something to do with decryption?


I attached a cleaner list.bin from RAM, though it's missing a lot of file entries on the tail end.


Getting closer, but it would figure there might be a key necessary as that's how a lot of compressed and encrypted files are now.. :?
soneek
Posts: 15
Joined: Sun Jan 25, 2015 1:31 am

Re: Higurashi: When They Cry Mei (Android)

Post by soneek »

So, it seems that every file in data.bin is a .unity3d file. I was able to fetch 29 of them from RAM (all 0x1000 bytes or less), and I've attached them along with their encrypted .bin version.

It looks like all of the decrypted files should look like this for the first 0x21 bytes.

Code: Select all

55 6E 69 74 79 46 53 00 00 00 00 06 35 2E 78 2E 78 00 32 30 31 39 2E 34 2E 38 66 31 00 00 00 00 00

The red rectangle is the .unity3d (or .bin) file size in big endian.

Image
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

soneek wrote:So, it seems that every file in data.bin is a .unity3d file. I was able to fetch 29 of them from RAM (all 0x1000 bytes or less), and I've attached them along with their encrypted .bin version.

It looks like all of the decrypted files should look like this for the first 0x21 bytes.

Code: Select all

55 6E 69 74 79 46 53 00 00 00 00 06 35 2E 78 2E 78 00 32 30 31 39 2E 34 2E 38 66 31 00 00 00 00 00

The red rectangle is the .unity3d (or .bin) file size in big endian.

Image


I'm surprised they're all in the form of unity3d instead of just direct assets, but the good part about this though is that at least they're viewable in something like Asset Studio which makes me VERY much so relieved and calmed for any more future files. I almost forgot how it worked so trying to open them in it confused me but the samples are TextAssets and MonoBehaviour.

I personally don't know what I could do with either of those or how but either way, but this is VERY great news! I only hold out that if any character/sprite imagery is accessible, it's not gonna have any extra issues like no transparency or anything, because that'd be just my luck, all the actual image assets aren't transparent, or they're setup weirdly. :P
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

Some time later, it seems like someone made a "Sxam" extractor, but I haven't the slightest idea on how it could be put to any use. It seems (relatively?) simple.
bonder
Posts: 16
Joined: Tue Oct 08, 2019 10:02 pm

Re: Higurashi: When They Cry Mei (Android)

Post by bonder »

Also interested in finding out how to extract this. Thank you for the help so far!
aaa801
Posts: 48
Joined: Wed Oct 12, 2016 12:22 pm

Re: Higurashi: When They Cry Mei (Android)

Post by aaa801 »

Ported it over to go and added releases here https://github.com/clienthax/higurashim ... /tag/0.0.1
bonder
Posts: 16
Joined: Tue Oct 08, 2019 10:02 pm

Re: Higurashi: When They Cry Mei (Android)

Post by bonder »

aaa801 wrote:Ported it over to go and added releases here https://github.com/clienthax/higurashim ... /tag/0.0.1


This worked perfectly, thank you so much!
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

aaa801 wrote:Ported it over to go and added releases here https://github.com/clienthax/higurashim ... /tag/0.0.1


Thank you for making this, but I'm not quite sure how to use it, as opening it (administrator or not) just flashes a very quick window and then closes, and dragging anything inside the Sxam folder (or anywhere else resembling it) onto it does the same thing.

EDIT: Nevermind, figured it out! I forget that you usually need to use things like this that don't have UI's developed manually via command prompts! With this said, thank you SO so very much! :D
bonder
Posts: 16
Joined: Tue Oct 08, 2019 10:02 pm

Re: Higurashi: When They Cry Mei (Android)

Post by bonder »

The extractor works perfectly for most files, however I've run into an issue with these .bytes files. There are quite a few that can be read in notepad++, but I believe these have images inside and I'm not sure how to unpack them. I've tried the usual unity-based extrators and have come up with nothing for them. Any help would be appreciated!
aaa801
Posts: 48
Joined: Wed Oct 12, 2016 12:22 pm

Re: Higurashi: When They Cry Mei (Android)

Post by aaa801 »

Hmm, what one for example?
bonder
Posts: 16
Joined: Tue Oct 08, 2019 10:02 pm

Re: Higurashi: When They Cry Mei (Android)

Post by bonder »

Oh gosh I completely forgot to attach the files! Here's a small sample.
TwoLeggedRat
Posts: 10
Joined: Sat Sep 05, 2020 6:06 am

Re: Higurashi: When They Cry Mei (Android)

Post by TwoLeggedRat »

I was wondering about those myself, I think those might just be how they're packaged inside the data bins, how to convert them and or otherwise extract images from those, I definitely wouldn't have the slightest clue personally.
aaa801
Posts: 48
Joined: Wed Oct 12, 2016 12:22 pm

Re: Higurashi: When They Cry Mei (Android)

Post by aaa801 »

It looks like those havn't been extracted using the tool I linked?,
They should be UnityFS files.
bonder
Posts: 16
Joined: Tue Oct 08, 2019 10:02 pm

Re: Higurashi: When They Cry Mei (Android)

Post by bonder »

Those are the files after they've been extracted and converted via AssetStudio. Here are the raw files as they export after using your tool. I'm still not sure what to do with them :oops: