Super Meat Boy sound and data unpacker

I bought Super Meat Boy a couple of weeks ago, and it’s one of the most awesome games I’ve ever played. Yesterday I had some free time, so I decided to try to unpack the data files. Thus, I wrote an packer/unpacker for the sound files (gameaudio.dat). I was going to do the same for the data files (gamedata.dat), but someone was faster than me :)

So, here’s the program. Full c++ source included ;) It’s mostly hacked together, so it’s not the most pretty code, but it does its job.

For usage, please check the README in the archive.

smb_unpack.zip (98 kb)

If the build doesn’t run, please install the Visual C 2008 SP1 redistributable.

Update: The unpacker is now able to unpack the data files!

Attention! Please read the README, because the command line arguments used to pack/unpack have changed!

Also, I’ve received some mails suggesting I post a donation link for this. I’m not going to do that for 2 reasons. First, I did not make Super Meat Boy. Therefore, I have no right to cash in on it. And second, the guys at Team Meat are some of the people I respect most in the world. I don’t want to piss them off.

Note: I have written a gamedata.dat packer/unpacker, too, but I just didn’t have time to post it. Will be on as soon as possible. Source included, obviously :)

Peace.

22 Responses to “Super Meat Boy sound and data unpacker”

  1. Cool! Thanks a lot, that’s just what I was looking for. The music is pretty addictive. :)

  2. Can you make a packer/unpacker for the levels? I have no clue how to use that python thing and something in binary commandline would really really help. Just something to rip them all out and back. That’s it. … well, maybe something to unpack/pack specific files to reduce redundancy.. (I’m a dope and thought I could just open the dat like a zip file haha)

    If not I’ll search around. Thank you for your time.

  3. Vaporone Says:

    Please Upload the gamedata.dat extracter.Thaaaaaaaaaanks

  4. YES PLS UPLOAD THE GAMEDATA.DAT UNPACKER,Thy

  5. Bredanmint Says:

    Hey, every time I run this it closes right as it opens, I see the command prompt open up then crash, I took a screen cap and there was no error message, it just closes suddenly, any idea whats going on?

  6. KodeKatt Says:

    it gives me a 16byte file when trying to repack the data folder

    OS: Windows Server 2003 x64 R2 Enterprise
    ~Sorry for the linux-looking command line here, but it’s Windows OS using Linux command line shell. Same exact result from cmd.

    bash$ cd K:/smb_unpack
    bash$ ls -l
    total 147577
    -rw-rw-rw- 1 user group 2072 Jan 28 10:10 README.txt
    drwxrwxrwx 1 user group 0 Feb 6 18:09 data
    -rw-rw-rw- 1 user group 13810 Jan 28 10:11 main.cpp
    -rwxrwxrwx 1 user group 185344 Jan 28 10:01 smb_unpck.exe
    bash$ smb_unpck.exe packDat gamedata.dat
    Super Meat Boy sound and data unpacker/packer
    http://www.awkwardgames.wordpress.com

    0
    0
    bash$ ls -l
    total 147578
    -rw-rw-rw- 1 user group 2072 Jan 28 10:10 README.txt
    drwxrwxrwx 1 user group 0 Feb 6 18:09 data
    -rw-rw-rw- 1 user group 16 Feb 6 18:14 gamedata.dat
    -rw-rw-rw- 1 user group 13810 Jan 28 10:11 main.cpp
    -rwxrwxrwx 1 user group 185344 Jan 28 10:01 smb_unpck.exe

  7. [Mercury] Says:

    Im confused,where do i place the commands?

    • well, you can either open a command line, navigate to the folder with the unpacker and write smb_unpck.exe [command], or create a batch file w smb_unpck [command], save it next to the exe and run it.

    • You can also simply create some *.bat files. You can do that with notepad. Just write the name of the *.exe file into it and write the command lines afterwards. You can also just copy the examples from the README.txt file if you put everything into the same folder as the *.exe file.

  8. Ok. I don’t really know what I am doing when I try working on this kind of thing. I made it as far as the command prompt window saying that it was unpacking the sounds but then another window popped up saying that the program stopped working. Any idea what I’m doing wrong?

    Also, I can’t find an “audio” file anywhere with my super meat boy files. Is the audio file something that is created automatically when I run the program, or am I supposed to see it with all the SMB files? I have installed the game through Steam, I wonder if that has anything to do with it?

    • Send me all your files as an e-mail and I will try to help you. My e-mail adress is Waddle (dot) Dee (at) web (dot) de
      You can zip all your files if you want.
      You can send me multiple e-mails if you want.
      You can contact me on my website if you want.

  9. Some Sick Fuck Says:

    LOVE!!!!

  10. Some Sick Fuck Says:

    btw, 4 me it unpacks at
    C:\Users\Admin\data

  11. Music Sound File…

    [...]Super Meat Boy sound and data unpacker « AwkwardGames – Quote: "AwkwardGames ftw!"[...]…

  12. If anyone ever reads that: Instructions how to unpack it (it worked for me)
    Open Command Prompt (search cmd), check what does it say (for me it said C:\Users\komputer, it doesn’t have to say “Users”, it can say “Users” in your language) – when you’re in that folder, copy-paste smb_unpck.exe there, and copy-paste gameaudio.dat to that folder too. Now open Command Prompt again and type in: “smb_unpck.exe unpackSnd gameaudio.dat” and press Enter, it should unpack now, there are around 530 sound files there.

  13. Is it possible to change the characters of the game by swapping the names of the characters and packing the whole thing back into the gamedata.dat file? I already managed to change the characters of the WARP ZONES but in the unpacked data folder I can also find data of characters which weren’t included in the characters I managed to put into the WARP ZONES. Also, is there a way to READ the character files? I found the sprites converted at “the spriters resource” but what about the rest? Is there any source code telling me each character’s abilities as well as the usage of the sprites? If you have the slightest idea about at least one of these questions, please Reply me.

    • No, you can’t do that. you can change the palette, but how a character behaves is compiled in the exe. I did replace a character with spelunky, but the game crashed when I tried the special action.
      Unless the code for the other characters is still in the exe and you can pinpoint it and make the game execute that, instead of what it does now, I doubt you can get other characters.
      As far as I can remember, SMBStats could unpack the character sprites. It also does the unpacking this tool does. It’s based on this code.

      • Well, at least you managed to replaced someone with spelunky. I also tried to replace someone but I didn’t even manage to start playing with it. The only thing YOU didn’t manage was the special action. Can you tell me how you did so so I can at least use the character without the special action?

        Also, it still isn’t certain if I can make the program just choose another character so e.g. in the levels which can only be played by bandage girl you control tim instead.

        Oh, and SMBStats does extract sprites but still none of them are in PNG form.

  14. Appreciate you sharing, great blog post.Much thanks again. Really Cool.

  15. Hello superb website! Does running a blog like this take a large amount of work?
    I have absolutely no understanding of coding however I was hoping to start my own blog in the near future.
    Anyway, if you have any recommendations or tips for new
    blog owners please share. I understand this is off topic nevertheless
    I just wanted to ask. Thank you!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: