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. (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 πŸ™‚



27 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.

    • I have written a packer/unpacker for the game data, too, but I just didn’t have time to post it πŸ™‚ will post it soon πŸ˜‰

  3. Vaporone Says:

    Please Upload the gamedata.dat extracter.Thaaaaaaaaaanks


  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

    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:


  10. Some Sick Fuck Says:

    btw, 4 me it unpacks at

  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!

  16. thebmxbandit11 Says:

    if i unpack the data then repack it and try to run the game with the repacked data the game just crashes :/ any ideas why this wouldn’t work probably the new game version? not sure

  17. download link is dead 😦

  18. Thanks a bundle for that, this has enabled me to create a mod for the Wii U version of Super Meat Boy to restore the original Danny Baranowsky soundtrack to it.

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: