YoYo Games data.win

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

YoYo Games data.win

Post by aluigi »

http://aluigi.org/papers/bms/yoyogames.bms

Script for extracting the files from the *.win archives created with the GameMaker Studio framework of YoYo Games:
https://www.yoyogames.com/studio

The structure is the IFF one, so a sequence of chunks containing name of the chunk and size.
I have supported the most interesting chunks, the others of the archives I analyzed didn't contain much stuff.
jd6900
Posts: 1
Joined: Mon Jul 06, 2015 6:57 am

Re: YoYo Games data.win

Post by jd6900 »

Hey is was looking at the script and I figured out how to extract the strings and I was wondering is it possible to make it so all strings are in one file instead of making a ton of short single string files?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

It's a good idea.
When quickbms 0.6.5 will be released, I will update the script for using the new SLog command that allows also to reimport the strings.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

Can you provide an example of archive containing strings?
I found a sample but all the extracted files are binary and not strings.

So I need a sample and the name of the folder (the chunk name).
sigroon365
Posts: 330
Joined: Fri Nov 21, 2014 4:03 am

Re: YoYo Games data.win

Post by sigroon365 »

aluigi wrote:Can you provide an example of archive containing strings?
I found a sample but all the extracted files are binary and not strings.

So I need a sample and the name of the folder (the chunk name).


Here it is. https://www.sendspace.com/file/m6y1ui
data.win file.

Image
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

Basically that part of the file wasn't extracted because the script didn't dump some chunk types.
I have updated the script to version 0.1.1 and now it:
- dumps all the chunks that are not parsed
- uses the new SLog command to export the strings of the STRG chunk :D

I'm sure you will enjoy it.

Little note: There is also the possibility of dumping the fields of some chunks like SOND, BGND and SCPT but I'm not sure if it's good to do it (they are small information of 8 or 0x24 bytes) and in any case you can do that by setting GENERIC_DUMP_FIXED_SIZE_ENABLED to 1.
sigroon365
Posts: 330
Joined: Fri Nov 21, 2014 4:03 am

Re: YoYo Games data.win

Post by sigroon365 »

aluigi wrote:Basically that part of the file wasn't extracted because the script didn't dump some chunk types.
I have updated the script to version 0.1.1 and now it:
- dumps all the chunks that are not parsed
- uses the new SLog command to export the strings of the STRG chunk :D

I'm sure you will enjoy it.

Little note: There is also the possibility of dumping the fields of some chunks like SOND, BGND and SCPT but I'm not sure if it's good to do it (they are small information of 8 or 0x24 bytes) and in any case you can do that by setting GENERIC_DUMP_FIXED_SIZE_ENABLED to 1.


Uhm.. but where did you upload it? It seems that it was not updated.
http://aluigi.altervista.org/papers/bms/yoyogames.bms
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

You are reading your cache. Press F5
sigroon365
Posts: 330
Joined: Fri Nov 21, 2014 4:03 am

Re: YoYo Games data.win

Post by sigroon365 »

aluigi wrote:You are reading your cache. Press F5


Ah.. I'm sorry. Thank you.
sigroon365
Posts: 330
Joined: Fri Nov 21, 2014 4:03 am

Re: YoYo Games data.win

Post by sigroon365 »

It works perfectly fine! :D
nova
Posts: 1
Joined: Fri Jul 17, 2015 4:56 pm

Re: YoYo Games data.win

Post by nova »

Awesome thanks for this script!

Is there a way there can be done more with this than just viewing the sprites and watching some binary code?
mossbox1223
Posts: 1
Joined: Mon Aug 03, 2015 10:16 am

Re: YoYo Games data.win

Post by mossbox1223 »

hi im totally green in this. can someone explain me how to use this script. i mean i have data.win file from game maker game, but idk how to extract files . what i need to do with this script how i can use it. i need install game maker or make from this script .bat file . i really dont know . plz help
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

  • Go here: http://quickbms.aluigi.org
  • Download quickbms
  • Click on quickbms.exe
  • Select the yoyogames.bms script
  • Select data.win
  • Select the folder where you want to extract the files
  • That's all
Hoxus
Posts: 2
Joined: Sat Aug 22, 2015 10:22 pm

Re: YoYo Games data.win

Post by Hoxus »

Hello, I was wondering if there was any way to recompile the files back into GameMaker: Studio. I'm looking to mod a game, and I currently have the game files extracted (thank you for your tool, by the way), I'm just not sure how I can recompile them to view and edit them.
MasterMinya
Posts: 18
Joined: Wed Aug 12, 2015 11:26 pm

Re: YoYo Games data.win

Post by MasterMinya »

I believe you can reimport using "reimport.bat" located in the quickbms folder.
Hoxus
Posts: 2
Joined: Sat Aug 22, 2015 10:22 pm

Re: YoYo Games data.win

Post by Hoxus »

MasterMinya wrote:I believe you can reimport using "reimport.bat" located in the quickbms folder.


Yes, I've done that; I'm referring to actually opening up the game itself in GameMaker: Studio, that way I can modify and add what I please into the game.
fwyrl
Posts: 2
Joined: Wed Aug 26, 2015 6:39 pm

Re: YoYo Games data.win

Post by fwyrl »

Getting an error with the decompiler, anyone have any ideas?

The decompiler ran fine, but recompiling threw an error, and using a hex editor to open several of the output .dat files reveals they only contain:
00 00 00 00

In case it's relevant, the output files in question are called
00000005.dat
00000003.dat

Several others are completely empty:
00000064.dat
00000000.dat

Interestingly enough, some seem to have decompiled correctly, in that they're multiple kb and full of data:
00000059.dat
0000008f.dat

There's a bunch of other files that I didn't look at, but that should explain the problem enough.

Obviously, something is (probably) wrong. Am I running the decompile script wrong somehow?

(Stupid question, but this is for GMS, right? How can I check which version the .exe is from? Pretty sure it's GMS because all the textures are stitched, but I could be wrong. And would wrong version cause these issues?)

Tried deleting some of the offending files and get a different error, spammed once for each file it tried to import.

The 0x00000008 was always the same, but the second number moved around a lot.

Code: Select all

  offset   filesize   filename
--------------------------------------
- SCRIPT's MESSAGE:
  CHUNK  0x00000008 0x000009cc

- SCRIPT's MESSAGE:
  Chunk  not supported


- 0 files reimported in 0 seconds
  coverage file 0    11%   8          72
- open input file <long file path>
- open script <long path>yoyogames.bms
- set output folder <long file path>

Sorry this is so long, Wish I could spoiler it
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

Please provide a sample.
fwyrl
Posts: 2
Joined: Wed Aug 26, 2015 6:39 pm

Re: YoYo Games data.win

Post by fwyrl »

It doesn't seem to want to attach the .win file, as it's almost 200 MB. Even with 7zip, I couldn't get it under 130. (lots of textures). Should I upload it elsewhere (If so, where)?

Also, tried just reinjecting single filetypes, and when I tried this for the textures, it says

Code: Select all

- SCRIPT's MESSAGE:
  CHUNK ëPNG 0x00000008 0x0a1a0a0d

- SCRIPT's MESSAGE:
  Chunk ëPNG not supported


And the non-empty .dat files use "☼" as the chunk type.
Don't know if this means anything, but I thought I'd mention it.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: YoYo Games data.win

Post by aluigi »

You can use sendspace or mediafire or mega or dropbox and so on :)