resource_dasm icon indicating copy to clipboard operation
resource_dasm copied to clipboard

Blobbo - resource fork missing or empty

Open MatthiasPercelay opened this issue 1 year ago • 6 comments

Hi, I've been trying to dump the Blobbo lite 1.0.1 resource files for a personal project of mine (a "demake" of the original game for the Playdate). The issue is, attempting to invoke resource_dasm on the Blobbo.rsrc file produced by unar yields

./resource_dasm ./Blobbo.rsrc >>> ./Blobbo.rsrc (resource fork missing or empty)

Platform used : Ubuntu 22.04 on WSL2 resource_dasm build : whatever was on master last night

I reckon I'm probably doing it wrong because I know little about classic Mac files. Do you have any insights into this ?

MatthiasPercelay avatar Oct 02 '23 18:10 MatthiasPercelay

Probably you have the resource fork contents in the data fork instead, since you're not on macOS. Try ./resource_dasm --data-fork ./Blobbo.rsrc instead.

fuzziqersoftware avatar Oct 02 '23 18:10 fuzziqersoftware

That was fast !

I should have mentioned that I also tried this, and got a different error message :

./resource_dasm --data-fork ./Blobbo.rsrc >>> ./Blobbo.rsrc failed on ./Blobbo.rsrc: corrupt resource index

MatthiasPercelay avatar Oct 02 '23 18:10 MatthiasPercelay

Hmmm, I wonder if unar isn't doing what we expect it to do... could you upload Blobbo.rsrc here? I'll take a look.

fuzziqersoftware avatar Oct 02 '23 18:10 fuzziqersoftware

blobbolite_files.zip

Here is a zip containing both the original .sit archive and the .rsrc output from calling unar with default args. I checked the unar help and it says

-forks (-k) <visible|hidden|skip> How to handle Mac OS resource forks. "visible" creates AppleDouble files with the extension ".rsrc", "hidden" creates AppleDouble files with the prefix "._", and "skip" discards all resource forks. Defaults to "visible".

which sounded like what I wanted

MatthiasPercelay avatar Oct 02 '23 18:10 MatthiasPercelay

Ah, it looks like in AppleDouble, the Finder info is prepended to the resource fork data, so resource_dasm can't understand it. I'll add a to-do list item to make resource_dasm understand this format in the future. For now, if you manually delete the first 0x52 bytes in a hex editor, it will work - I've attached the result of doing that if you don't have a hex editor handy. Blobbo.rsrc.zip

fuzziqersoftware avatar Oct 02 '23 19:10 fuzziqersoftware

./resource_dasm ../../blobbo-trimmed/Blobbo.rsrc >>> ../../blobbo-trimmed/Blobbo.rsrc (resource fork missing or empty)

Hmm, I see that the file is a different size but the same error message persists.

EDIT : Nvm, --data-fork does the job, thanks !

Does that mean I should apply the same fix should I try to unpack other stuffit files through unar in the future ?

MatthiasPercelay avatar Oct 02 '23 19:10 MatthiasPercelay