• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

SSBB Snapshot files. We need to crack em!

Kakkoii

Smash Apprentice
Joined
Jan 29, 2008
Messages
89
Location
CANADUH!
It's possible to write an advanced stage builder for the PC, as well as generate full snapshots. Additionally there are many functions in the stage builder that aren't available, There are several things I want to check out, such as the possibility of:
- Unused blocks (including invalid[overflow] blocks)
- Background overflow
- Changing stage size (possibly have even larger stages than the largest setting there is now, or rectangular sizes)
- Even more music selections
- Placing blocks outside of the fixed range given in stage builder

I just want to extend the creativity that people can have with stage building, as well as bring possible exploits to the surface.
Also. You would be able to merge any block you wanted with another block. By merely saving a stage, then editing the X or Y value of that block to make it it the same place as another block using a Hex Editor.

I do this for tracks on a game called Trackmania. It's stage building uses the same kind of construction.
 

Kirby King

Master Lameoid
Premium
BRoomer
Joined
Feb 8, 2002
Messages
7,577
Location
Being a good little conformist
I doubt you'd be able to just write a stage editor that would do that, because in all likelihood the stage files are going to need to be signed by a Wii console. That said, reading stages is obviously a very useful thing to be able to do, so I'd be interested in seeing what happens with that.
 

LoginError

Smash Rookie
Joined
Feb 21, 2008
Messages
11
Location
West Coast
What I'm hoping for is validation upon saving/building the map, and not upon loading. This would then allow us to do all sorts of things with the map. If however the map is validated at loadtime as well, then we would only be able to build "valid" maps that follow the stage builder rules. Of course this all depends on finding a way to sign the maps or whatever is needed. But I'm excited at the possibilities either way :)
 

holizz

Smash Cadet
Joined
Feb 1, 2008
Messages
34
Location
Sheffield, UK
I doubt you'd be able to just write a stage editor that would do that, because in all likelihood the stage files are going to need to be signed by a Wii console.
Like savefiles? The Twilight Hack has taught us that it is possible to sign files as if they came from a Wii. If that's even necessary.

Can anyone upload a stage .bin? If I missed it, I'm sorry. I'll see if it can be decrypted.
Here's one I made earlier: http://holizz.googlepages.com/st.zip
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
That looks like 4-5 stages, thanks. Or at least, five files. I'll try to take a closer look tomorrow, perhaps.



segher was a huge help in pointing me in the right direction (plus some lucky experimentation). I finally got another picture working, and I'm just getting errors with the white.jpg image (and maybe the other two weird ones, haven't tried them yet).

Hopefully I'll put more info up tomorrow. Need sleeeeeep.

By the way, has anyone tried widescreen snapshots, and are they any different than normal width screenshots?
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
Okay, here are two more before bed. The black and white images are the ones that give errors.

This is a comparison of the original image vs. a resized-to-16:9-ratio image. Doesn't the second one look better?




 

Kakkoii

Smash Apprentice
Joined
Jan 29, 2008
Messages
89
Location
CANADUH!
The second one looks like all you did was increase the image resolution, then decrease it back down. As a sort of half ***** anti alias.

But doing this also blend all the image, making it less sharp. Looking at the two images. It looks like thats what you had done to the second image.

Just my obvservation, Since I did this with a brawl image, and it turned out the same way as these.
 

Mechageo

Smash Ace
Joined
Apr 11, 2005
Messages
626
Location
Utah
Kakkoii, All GTCoder did was adjust the image size from 640x480 to 851x480.

This is because the Wii that the screenshot was taken on was in Widescreen mode.
To do this, the Wii outputs the image in 640x480 and 'squishes' it so that when the monitor stretches it out it will look right.

Thus, because all it's ever creating is 640x480, that is how the screenshot was saved.

So to make it look right as a picture, GTCoder had to manually stretch it, much like the screen displaying it did when the player took it in the first place.

[edit]-
In fact, here's that same Mew picture. I just adjusted it in the same way and re-uploaded it.

 

Mic_128

Wake up...
Administrator
BRoomer
Joined
Jun 19, 2002
Messages
46,176
Location
Steam
Here's a couple of screenshots and a stage for you, if it helps at all.

EDIT: Mine aren't widescreen.
 

Wiwiweb

Smash Journeyman
Joined
Feb 28, 2007
Messages
309
Location
Europe
For your information, all the screenshots I made were in widescreen mode. Should I try to take a normal screen screenshot ?
 

FS Fantom

Free Saltines
Joined
Mar 20, 2006
Messages
333
Location
Long Island. NY
NNID
Sbfantom
I'm very interested in this project -- I can't really offer any help, but is there any legit progress made thus far?
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
For your information, all the screenshots I made were in widescreen mode. Should I try to take a normal screen screenshot ?
Sure, one would be good, thanks. I didn't even think of trying to resize the images wider until I saw how squished that ice climbers one was.
 

holizz

Smash Cadet
Joined
Feb 1, 2008
Messages
34
Location
Sheffield, UK
For your information, all the screenshots I made were in widescreen mode. Should I try to take a normal screen screenshot ?
We already have my one: http://holizz.googlepages.com/pikachuu.zip

But obviously more would be better.

I'm very interested in this project -- I can't really offer any help, but is there any legit progress made thus far?
Legitimate? Sure. Legal? In some countries.

Hopefully GTCoder will give us some instructions on how to decrypt the images. Please? We'll love you forever.
 

Wiwiweb

Smash Journeyman
Joined
Feb 28, 2007
Messages
309
Location
Europe
I made a new series of screenshots. Round 3, fight !

This time I made widescreen and non-widescreen images. In the game, if you view a screenshot which is not in the format you are using, you're gonna see black strips.


Widescreen images.
This contains 13 images ! I took the best out of my collection ^^

Non-Widescreen images.
This contains 5 images. I just did a few matches in non-widescreen mode and took random shots.

Also, I uploaded a peculiar image : it came with the game, so I suppose every Brawl copy has it. When selecting it in the menu, one of the word is different :

You see where it says "Snapshot" in the grey box ? Well, with this image, the word is different (I can't read it, it's Japanese). The word also changes with downloaded images. I think the word might be "traded image" or something like this. This means, somewhere in the .bin file, the "author" of the screenshot must be written. But I'm just speculating.
This is the link to download the image.


I'm going to upload stages soon.
 

Wave⁂

Smash Legend
Joined
Feb 16, 2006
Messages
11,870
"Artists" in the image file?

Nintendo hates us. And by us, I mean you guys.

And by you guys, I mean you awesome guys over there.
 

holizz

Smash Cadet
Joined
Feb 1, 2008
Messages
34
Location
Sheffield, UK
You see where it says "Snapshot" in the grey box ? Well, with this image, the word is different (I can't read it, it's Japanese). The word also changes with downloaded images. I think the word might be "traded image" or something like this. This means, somewhere in the .bin file, the "author" of the screenshot must be written. But I'm just speculating.
Well noticed.

I have found three different types of images.

写真 (photograph) for normal photos you take yourself, サンプル (sample) for the snapshot that comes with the game (btw, do we all get the same one? - mine's Wario biting ZSS's sideB midair), and はいしん (distribution) which I am guessing includes both those sent from Nintendo and those sent from friends (going by the description found in the stage creator).

Those marked with はいしん (distribution) cannot be deleted, sent, submitted, or copied/moved to an SD card. Photos copied to SD are marked as 写真 (photograph) wether originally from the Wii that's viewing them, or added by computer.

If somebody would like to prove/disprove the theory on photos from friends being marked as distribution, feel free to add my Brawl and Wii codes (PM me with yours, so I can add you). Or, of course, if you've already got photos from friends.
 

djgwiz

Smash Apprentice
Joined
Feb 17, 2008
Messages
100
Location
Merrymore
Also, I uploaded a peculiar image : it came with the game, so I suppose every Brawl copy has it. When selecting it in the menu, one of the word is different :

You see where it says "Snapshot" in the grey box ? Well, with this image, the word is different (I can't read it, it's Japanese). The word also changes with downloaded images. I think the word might be "traded image" or something like this. This means, somewhere in the .bin file, the "author" of the screenshot must be written. But I'm just speculating.
This is the link to download the image.


I'm going to upload stages soon.
Hey that third screenshot's link is broken, try reuploading.
 

Wiwiweb

Smash Journeyman
Joined
Feb 28, 2007
Messages
309
Location
Europe
Fixed. the three links were not correct actually, because I did not copy paste the correct link. >_<

サンプル (sample) for the snapshot that comes with the game (btw, do we all get the same one? - mine's Wario biting ZSS's sideB midair)
Yes, mine is also Zamus, who just caught a Wario fish.

If somebody would like to prove/disprove the theory on photos from friends being marked as distribution, feel free to add my Brawl and Wii codes (PM me with yours, so I can add you). Or, of course, if you've already got photos from friends.
I could try this with you, but I don't have my Wii number right now. I'll have to check tomorrow.
 

djgwiz

Smash Apprentice
Joined
Feb 17, 2008
Messages
100
Location
Merrymore
So someone catch me up to date, we have decrypted the files, were just trying to make them look better now?
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
I've been gone all day. To summarize, decryption can be done and decompression can be done (some images are compressed using a LZSS, or similar, method), but I need to finish figuring out the decompression thing. Two of the very small images (black and white) didn't work. I haven't tried any of the new images besides pikachu (which worked). I'm about to start again...hopefully I'll get a breakthrough. :)
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
Blargh. I stared for hours at the nearly black and nearly white image hex code, but I can't figure out why those don't decode properly. The program seems to work on every other image .bin I tried it on, however. If I knew how to add attachments, I'd put one on this message, but as it is I'll just upload it to rapidshare. :p

What it is: a .zip file. It contains two command-line .EXE utilities, a DLL, and a .BAT batch file. Please don't try to use them if you're not at least somewhat comfortable with the command line. Hopefully I can come up with a more user-friendly interface once I figure out the last file quirks.

Of course, you should never run .EXE's from someone you don't know. I promise that they don't contain anything harmful as far as I know, but it's always a use-at-your-own-risk thing. :p Oh, and please only run it on actual image files. Other files might cause the decoding thing to go nuts (tons of errors, or a really huge output file, or worst-case, maybe an infinite loop...if it freezes, CTRL-C it!).

Program usage example:

Code:
c:\whatever\>  bindecrypt  image1.bin  image1.out

c:\whatever\>  out2jpg  image1.out  image1.jpg
You can also run the bin2jpgall.bat batch file, which will convert all .bin's in the current directory, provided bindecrypt and out2jpg are in your current directory as well. The output names are a little ugly though.

ALSO, make sure that cygwin1.dll is in the same directory as bindecrypt.exe and out2jpg.exe. Or you can just copy cygwin1.dll to C:\Windows, which will make it always able to be found.

So what's left to be done: Figure out what's wrong with the algorithm for a small portion of images. I'd appreciate if you could try running this on various images, especially maybe some with hardly any color variations, and see if you get any error messages from the out2jpg program. If you find such a .bin, please send it my way.

Also, this doesn't automatically detect widescreen or non-widescreen. I just looked, and apparently in the decoded, decompressed output (one of the bytes I stripped), one byte is 1 for widescreen and 0 for non-widescreen, so I guess I could work that into a resize. But if anyone has any ideas for filtering methods (a Python program using PIL or whatever), let me know. I feel that's a little less urgent though.

Bleah I'm tired.

http://rapidshare.com/files/95587164/bin2jpg.zip.html
 

holizz

Smash Cadet
Joined
Feb 1, 2008
Messages
34
Location
Sheffield, UK
What it is: a .zip file. It contains two command-line .EXE utilities, a DLL, and a .BAT batch file. Please don't try to use them if you're not at least somewhat comfortable with the command line. Hopefully I can come up with a more user-friendly interface once I figure out the last file quirks.
That's very nice for those running Windows, and who don't want to write their own tools.

So, some source, please? I'd be happy with just a description of how to do it.
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
That's very nice for those running Windows, and who don't want to write their own tools.

So, some source, please? I'd be happy with just a description of how to do it.
Not to be rude, but the source for decryption will not be forthcoming. Someone was very kind to provide necessary information, and that information is not going to be spread by me.

If you want a Linux version of the decryptor, I may be able to provide that.

As for the image decompression, I'd be glad to let someone else look at it since maybe they can figure out the issue with certain images not working. My code is sloppy, of course, so put on your style goggles.

Anyway, maybe I'll get time to post the image decompression code tomorrow, along with what I've found out/been told about the compression. I hope it will be helpful.
 

Ondo

Smash Apprentice
Joined
Jun 20, 2007
Messages
160
Anyway, maybe I'll get time to post the image decompression code tomorrow, along with what I've found out/been told about the compression. I hope it will be helpful.
I'll certainly look at it when you do, and see if I can help.

Note that the LZSS compression is used on more than just the JPEGs (it'd better be, since it's pretty much ineffective on those). I've only checked the first stage in the zip holizz uploaded, but it appears to use the same compression, and in fact out2jpg gives the same error on it as on white.out and black.out.

But if anyone has any ideas for filtering methods (a Python program using PIL or whatever), let me know. I feel that's a little less urgent though.
ImageMagick is a good set of command-line image processing utilities that might be suitable. They also have libraries for various languagues, if you'd prefer to use those.
 

Indignant

Smash Journeyman
Joined
Dec 20, 2007
Messages
216
Congratulations! This was a massive project! And it looks like it turned out well!
 

Xane

Smash Journeyman
Joined
Sep 19, 2007
Messages
335
Location
Germany
NNID
XaneFeather
3DS FC
3866-8124-2065
Nice. :>
And how did you get through those files with some random 0x00's all over like the Pikachu one?
I managed the decryption myself, but I dunno what to do with those files described above.
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
Nice. :>
And how did you get through those files with some random 0x00's all over like the Pikachu one?
I managed the decryption myself, but I dunno what to do with those files described above.
That was the LZSS-ish algorithm. I'll try to post about it later today. In essence, it consists of a control byte followed by eight "atoms" or "units". If the control byte is 00 (when you see FF00D8, the 00 in the middle is such a control byte), it means that the next eight bytes are literally copied when you do the decoding. If the control byte is something else, it means the atoms corresponding to the non-zero bits are actually references to previous data. Again, I'll try to explain better later.

Note that the LZSS compression is used on more than just the JPEGs (it'd better be, since it's pretty much ineffective on those). I've only checked the first stage in the zip holizz uploaded, but it appears to use the same compression, and in fact out2jpg gives the same error on it as on white.out and black.out.
Ondo, I guess you figured out when I was going to post (that was fairly obvious). :p As in, bindecrypt will also work on the level .bin files. I already tried that and noticed, like you, that there is JPG data (!) in it of some sort. It's a very small image, like 100x120 (I forget the dimensions), but I couldn't get it to decrypt correctly, like with the white.out and black.out files. I'm really hoping segher will be nice to me one more time if I can talk to him about it.

Finally, has anyone tried this and seen if it works on a .bin yet? (I guess Ondo obviously did)
 

Zeromus Prime

Smash Rookie
Joined
Feb 28, 2008
Messages
5
Location
Detroit
Hey GT, were you aware that 4colorrebellion has an article about the bin2jpeg setup you've got here?

http://www.4colorrebellion.com/arch...t-mercy-me-i-do-believe-im-gettin-the-vapors/

Methinks you should ask for some credit or something.

As an aside, if you can make a linux version of this, how hard would an OSX version be to make? I'd love to use Brawl and Comic Life to make some... Well.... Comics, but being a mac user I can't exactly use this as-is. If that's not possible, no worries, I'll just need to borrow my little sister's laptop frequently :chuckle:.
 

Heinermann

Smash Apprentice
Joined
Jul 31, 2007
Messages
80
The JPG data in stages are probably for its stage preview. The actual stage data should be stored in it somewhere as well.

Can someone make a stage(smallest size), save it, then make minor edits? Such as placing a block, saving, flipping the block, saving, replacing it with a different block of the same size, saving, changing a music track, saving, changing the stage name, saving, and upload all of those?

Also, I found this using google: http://www.romhacking.net/docs/281/
 

GTCoder

Smash Apprentice
Joined
Feb 18, 2008
Messages
77
Hey GT, were you aware that 4colorrebellion has an article about the bin2jpeg setup you've got here?

http://www.4colorrebellion.com/arch...t-mercy-me-i-do-believe-im-gettin-the-vapors/

Methinks you should ask for some credit or something.

As an aside, if you can make a linux version of this, how hard would an OSX version be to make? I'd love to use Brawl and Comic Life to make some... Well.... Comics, but being a mac user I can't exactly use this as-is. If that's not possible, no worries, I'll just need to borrow my little sister's laptop frequently :chuckle:.
Thanks for the link. It's okay -- it's people are interested. :p I just wish it worked for all images. I wish I had a way to keep track of how many times it'd been downloaded.

Also, I found this using google: http://www.romhacking.net/docs/281/
That's awesome, thanks. It's similar to what I was told...apparently Nintendo likes LZ-related algorithms and uses annoying variants of them all over the place. Apparently the "LZ77" version used somewhere (GBA?) is actually just LZSS...anyway, maybe that document will help later.
 

UberCam

Smash Rookie
Joined
Feb 21, 2008
Messages
4
Location
Ohio
Congratulations! Success! I'm downloading the utility right now. A thousand thank yous.
 
Top Bottom