Wii .ash File

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Wii .ash File

Post by Larsenv »

Hi.

I know this format has been mentioned before but I badly need a QuickBMS script for Wii .ash Files. Not an application, I specifically need a QuickBMS script...

Since it's an unknown compression algorithm, I'll use this as an example as it's in the Wii Menu...

And here's the QT code so you can try porting it over to the script, I can't compile this...

Thank You.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

Do you have a sample to test?
If the compression is not available yet in quickbms, I can write a script that just uses that function... basically a DLL inside a script.
Isn't more simple to just make a small executable?

I have made some modifications and it's now without QT.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

Could you please give the script to me? I have some samples that I can test with the script... :D
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

It's a command-line tool where you have to specify input and output filename.
It has not been tested so I'm sure at 99% that it will not work.

*edit* removed, check next posts.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

OK, I just tried it with the ash.exe (input) (outfile) usage... Unfortunately, it didn't do anything.

Could you please look at it? I looked at the C source code included and I'm assuming lines like "uint64" need to be changed with "u64" and have the proper syntax for it to do anything...

P.S. The problem is most likely unrelated to me running this in a Windows VM, as your tools like QuickBMS or Offzip work fine for me.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

The lack of output is correct.
Provide a sample
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

I'm using the same file as mentioned in the first post.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

Sorry, it was a stupid error I did with copy&paste code.
The following works perfectly and I have added also some information to visualize.

FYI, this compression algorithm will be implemented in the next quickbms.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

OK, it's almost working good... The health.ash extracted, but I unfortunately can't extract these examples from My Pokémon Ranch...

Probably because the stack buffer is too small? We're close to getting it working perfectly...
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

I will not rewrite that code.
It's bugged and doesn't work. Simple.
Even after adjusting some things it still doesn't work.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

That's fine...

I was just hoping there was a way to decrypt some of the Wii .ash game files. That's OK.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Wii .ash File

Post by aluigi »

The only way is reversing and writing everything from scratch because the original source (which seems an asm->C conversion) is not 100% working.
Anyway I'm quite sure to have already seen something similar to that algorithm, I clearly remember a compression divided in 2 parts like data and dictionary but unfortunately I don't remember where I implemented it.
I already tried the scanner and there were no good results so, probably, there is a code that is "similar" but is not the same.
Larsenv
Posts: 137
Joined: Thu Jun 04, 2015 11:20 pm

Re: Wii .ash File

Post by Larsenv »

This one? That's the game I'm trying to extract from...

I forgot to mention it.

I guess I can dump the textures to get them...