AAhhh..... you compiled the xml files for the game!

You are viewing a static copy of the old 2DBoy forum, which closed in 2010. It is preserved here for historical interest, but it is not possible to reply to topics. For more recent discussion about World of Goo, visit our new forum.
AAhhh..... you compiled the xml files for the game!The Happy Friar10/07/2008 - 21:56

Sneaky!  Hard to mod the game, but someone will eventuatly figure out how to get in there & make custom goo's & levels.  ;D

Re: AAhhh..... you compiled the xml files for the game!SplinterOfChaos10/08/2008 - 02:18

Be a super-hacker. Write a whole level editor and add whole worlds to the game. Add AI so we can put in burning zombie villagers!

Re: AAhhh..... you compiled the xml files for the game!Marius10/08/2008 - 05:33

XML files can be decompiled, if you know someone with enough skill.

Re: AAhhh..... you compiled the xml files for the game!Ballisticsfood10/08/2008 - 08:42

Mmmm. Decompiled Goo...

Re: AAhhh..... you compiled the xml files for the game!The Happy Friar10/08/2008 - 11:14

I don't have enough skill.  It only took ~1 day for people to decompile the compiled ET:QW .pk4 files, this should be a little longer due to the relatively unknown nature of the game.

Re: AAhhh..... you compiled the xml files for the game!Marius10/08/2008 - 11:42

Actually, one of my dorm mates decompiled it during the beta already, but we haven't done anything with it, since it may mess up leaderboard stuff and such. Maybe I'll have a look at what can be done safely without messing stuff up when I'm done with everything in the new world of goo :P

Re: AAhhh..... you compiled the xml files for the game!HexagonalBolts10/08/2008 - 17:49

I don't get why they would do this? Why would 2D-Boy *not* want a thriving community of modders around their product?

Re: AAhhh..... you compiled the xml files for the game!The Happy Friar10/08/2008 - 20:34

those xml files could have a lot of internal stuff they don't want to be seen.  but people can still easily change all the graphics/sounds.


for $20 I'm not complaining, majority of gamers don't mod/use mods anyway, I'd just love to see how things work.

Re: AAhhh..... you compiled the xml files for the game!ltworek10/23/2008 - 01:51

Has anyone else made any progress on this?  I've managed to find the decryption routine in the exe but can't really figure out how it works (it's at 00495B90 fyi).  Since I'd consider myself a intermediate reverser I'm not sure I'm up to the task of figuring out what kinda compilation/encryption the bin files use.  I have been successful in extracting a map though, not so much at loading it in it's unencrypted state.

155C0008  <level ballsrequired="4" letterb<br />155C0028  oxed="false" visualdebug="false"<br />155C0048   autobounds="true" textcolor="25<br />155C0068  5,255,255" timebugprobability="0<br />155C0088  " strandgeom="false" allowskip="<br />155C00A8  true" >.....<!-- Camera -->...<c<br />155C00C8  amera aspect="normal" endpos="0,<br />155C00E8  327" endzoom="0.936">....<poi po<br />155C0108  s="6,634.5" traveltime="0" pause<br />155C0128  ="0" zoom="1" />....<poi pos="1,<br />155C0148  313.5" traveltime="2" pause="0"<br />155C0168  zoom="1" />...</camera>...<camer<br />155C0188  a aspect="widescreen" endpos="0,<br />155C01A8  327" endzoom="1.273">....<poi po<br />155C01C8  s="0,624.5" traveltime="0" pause<br />155C01E8  ="0" zoom="1.273" />....<poi pos<br />155C0208  ="0,241.8" traveltime="2" pause=<br />155C0228  "0" zoom="1.273" />...</camera>.<br />155C0248  ....<!-- Music -->...<music id="<br />155C0268  SOUND_LEVEL_GOINGUP_TEMP_CARNIVA<br />155C0288  LLOOP" />.....<!-- Fire -->.....<br />155C02A8  <!-- Signposts -->.....<!-- Pipe<br />155C02C8  s -->...<pipe id="0" depth="0" ><br />155C02E8  ....<Vertex x="0" y="514" />....<br />155C0308  <Vertex x="0" y="614" />....<Ver<br />155C0328  tex x="100" y="614" />....<Verte<br />155C0348  x x="100" y="879" />....<Vertex<br />155C0368  x="0" y="879" />....<Vertex x="0<br />155C0388  " y="1064" />...</pipe>.....<!--<br />155C03A8   Balls -->...<BallInstance type=<br />155C03C8  "common" x="-88.5" y="98.5" id="<br />155C03E8  0" angle="0" />...<BallInstance<br />155C0408  type="common" x="49.5" y="101.5"<br />155C0428   id="1" angle="0" />...<BallInst<br />155C0448  ance type="common" x="39.5" y="2<br />155C0468  05.5" id="2" angle="0" />...<Bal<br />155C0488  lInstance type="common" x="-73.5<br />155C04A8  " y="189.5" id="3" angle="0" />.<br />155C04C8  ..<BallInstance type="common" x=<br />155C04E8  "-286.5" y="1332" id="4" angle="<br />155C0508  0" />...<BallInstance type="comm<br />155C0528  on" x="243.5" y="1881" id="5" an<br />155C0548  gle="0" />...<BallInstance type=<br />155C0568  "common" x="-26.5" y="1570" id="<br />155C0588  6" angle="0" />...<BallInstance<br />155C05A8  type="common" x="296.5" y="1566"<br />155C05C8   id="7" angle="0" />...<BallInst<br />155C05E8  ance type="common" x="-286.5" y=<br />155C0608  "1520" id="8" angle="0" />...<Ba<br />155C0628  llInstance type="common" x="189.<br />155C0648  5" y="2710" id="9" angle="0" />.<br />155C0668  ..<BallInstance type="common" x=<br />155C0688  "119.5" y="2225" id="10" angle="<br />155C06A8  0" />...<BallInstance type="comm<br />155C06C8  on" x="128.5" y="2086" id="11" a<br />155C06E8  ngle="0" />...<BallInstance type<br />155C0708  ="common" x="255.5" y="1331" id=<br />155C0728  "12" angle="0" />...<BallInstanc<br />155C0748  e type="common" x="-107.5" y="27<br />155C0768  02" id="13" angle="0" />...<Ball<br />155C0788  Instance type="common" x="341.5"<br />155C07A8   y="1468" id="14" angle="0" />..<br />155C07C8  .<BallInstance type="common" x="<br />155C07E8  -212.5" y="1920" id="15" angle="<br />155C0808  0" />...<BallInstance type="comm<br />155C0828  on" x="-294.5" y="2087" id="16"<br />155C0848  angle="0" />...<BallInstance typ<br />155C0868  e="common" x="-39.5" y="1816" id<br />155C0888  ="17" angle="0" />.....<!-- Arms<br />155C08A8   -->...<Strand gb1="0" gb2="2" /<br />155C08C8  >...<Strand gb1="3" gb2="2" />..<br />155C08E8  .<Strand gb1="2" gb2="1" />...<S<br />155C0908  trand gb1="1" gb2="0" />...<Stra<br />155C0928  nd gb1="0" gb2="3" />...<Strand<br />155C0948  gb1="3" gb2="1" />.....<!-- Leve<br />155C0968  l Exit -->...<levelexit id="theE<br />155C0988  xit" pos="0,514" radius="75" fil<br />155C09A8  ter="" >...</levelexit>....</lev<br />155C09C8  el><br />

If you would like to get your own unencrypted maps set a break point @ 0045DB1D and take a look at ESI.


As you can see here if we did manage to figure this out writing a map editor should be pretty damn easy.

Edit:  As far as using this stuff for evil..  The leaderboard is not going to last, I've refrained against it since i'm not a trouble maker but this game is pretty easy to hack, for instance I managed to change the position of the exit pipe in a level and get all goo's pretty much instantly.  I think the benefits of a working map editor would go along way and make this game last a long time and generate lots of extra profit for the guys at 2dboy, the leaderboard has many other "attack vectors" and I don't think a map editor should be shunned because people can use it to cheat the leaderboard.


Last modified Thu, 10/23/2008 - 02:03 by ltworek
Re: AAhhh..... you compiled the xml files for the game!Marius10/23/2008 - 02:40

My dorm mates are currently looking into the possibility of creating a map editor that wouldn't fuck with the leaderboard.

Re: AAhhh..... you compiled the xml files for the game!ltworek10/23/2008 - 02:51

Not sure how that's possible.  Even if their editor doesn't let you modify the standard maps you can always just make a new map and rename it by hand.  For instance take the EconmicDivide level map and rename to GoingUp and move it into that folder (don't forget to backup) and then see what happens.  You have the new exit and all the sleeping goo's in the first level :)

Edit: if you are following these instructions you have to play small divide, exit and then play going up or the game will crash, yay!


Last modified Thu, 10/23/2008 - 03:11 by ltworek
Re: AAhhh..... you compiled the xml files for the game!Marius10/23/2008 - 03:09

There are a few options.

Re: AAhhh..... you compiled the xml files for the game!Try_lee10/23/2008 - 06:57

I hope something happens to make creating levels accessible for people like me, that have no idea WTF is being discussed in this thread, soon.  I can understand the text and it seems obvious what most of the setting are, just no of this piles stuff.  Is it easy to get it to that point?
I have ideas that tend to slowly slip away unless they're turned into something tangible. 
[move]:([/move]

Re: AAhhh..... you compiled the xml files for the game!Darky10/23/2008 - 10:08

To decompile the XML would be awesome, because the Community could do pretty cool things with it. But I also think 2D Boy did compile it for good reason.

Nevertheless, I'm happy to see graphics and sounds are accessible, so you can do quiet a bit fun stuff. My first experiment was this simple graphic change of some goo balls:

World of Hard Gay*

[=9pt](* hard gay is a japanese show character)[/]

Re: AAhhh..... you compiled the xml files for the game!The Happy Friar10/23/2008 - 11:26

I like how the graphics are available too.  I should make Goo particles like I made Darwinia particles in Doom 3.  :D

Re: AAhhh..... you compiled the xml files for the game!Marius10/23/2008 - 11:40

[quote author=Darky link=topic=248.msg4113#msg4113 date=1224774509]
To decompile the XML would be awesome, because the Community could do pretty cool things with it. But I also think 2D Boy did compile it for good reason.

Nevertheless, I'm happy to see graphics and sounds are accessible, so you can do quiet a bit fun stuff. My first experiment was this simple graphic change of some goo balls:

World of Hard Gay*

[=9pt](* hard gay is a japanese show character)[/]

I can't get it to play, using any of a whole bunch of methods I tried...

Re: AAhhh..... you compiled the xml files for the game!The Happy Friar10/23/2008 - 13:31

i get a bad file, can't play.  :/

Re: AAhhh..... you compiled the xml files for the game!crowebird10/23/2008 - 14:33

yea it just buffers a few times for me then fails

Re: AAhhh..... you compiled the xml files for the game!Darky10/23/2008 - 15:53

Sorry for the troubles, seems like someting went wrong on the upload. Should work now.

All I did for that test was changing a single graphic so dont expect much, but its funny though. You have access to a lot more graphical stuff in your world of goo folder like the bones of the goo and all that cool stuff... if you got enough time and a small bit of photoshop knowledge you could really make the silliest out of it like building towers of cows that are held together by guns or so.

Re: AAhhh..... you compiled the xml files for the game!Chetyre10/24/2008 - 00:01

I'm bumping this if only because I really want World of Goo mods sometime in the near future.  In a post somewhere else, Kyle said that there were no plans for a level editor...which makes me sad :/

Re: AAhhh..... you compiled the xml files for the game!Shaamaan10/24/2008 - 02:41

[quote author=HexagonalBolts link=topic=248.msg2136#msg2136 date=1223506187]
I don't get why they would do this? Why would 2D-Boy *not* want a thriving community of modders around their product?

That could PROBABLY be because user generated content can change a games rating.

With all honesty tho, I have no idea. Perhaps it's because WoG is made out of pure win and love, and user generated content is often made out of frustration and brags*? :P

Personally I hope we'll get a proper editor later, when the goo is all settled in and comfortable.

* - Look at Portal. An awesome game, awesome levels, but the user created puzzles are in most cases a lot lot worse and usually just involve a lot of fast mouse spinning (as opposed to using your head) and frustration.


Last modified Fri, 10/24/2008 - 02:43 by Shaamaan
Re: AAhhh..... you compiled the xml files for the game!Marius10/24/2008 - 03:09

[quote author=Darky link=topic=248.msg4143#msg4143 date=1224795192]Sorry for the troubles, seems like someting went wrong on the upload. Should work now.

All I did for that test was changing a single graphic so dont expect much, but its funny though. You have access to a lot more graphical stuff in your world of goo folder like the bones of the goo and all that cool stuff... if you got enough time and a small bit of photoshop knowledge you could really make the silliest out of it like building towers of cows that are held together by guns or so.Ahahahahahaha

That mod is so awesome xD

Re: AAhhh..... you compiled the xml files for the game!ZomBuster10/24/2008 - 05:48

The XML files are encrypted with  192-bit AES,

0D0607070C01080506090904060D030F03060E010E02070B.

I really don't know how to decrypt stuff but this should be helpful.

Re: AAhhh..... you compiled the xml files for the game!ltworek10/25/2008 - 23:49

[quote author=ZomBuster link=topic=248.msg4171#msg4171 date=1224845321]
The XML files are encrypted with  192-bit AES,

0D0607070C01080506090904060D030F03060E010E02070B.

I really don't know how to decrypt stuff but this should be helpful.


Thanks alot, thats totally the correct key.  I'm writing a simple application tonight to encrypt and decrypt the files, should be done in a few hours.

Re: AAhhh..... you compiled the xml files for the game!CyberShadow10/26/2008 - 00:39

Wow, ZomBuster, that worked! How did you find the key and encryption method?

Also: http://www.worldofgoo.com/leaderboard.php
I "got 1st place" by editing a file, and wanted to see if the leaderboard will even accept that. Please remove me xD

Note that I'm not sure if an XML encrypter ("compiler") should be released, because it makes cheating too easy... Ideally the game aught to detect modified files and disable online interaction.


Last modified Sun, 10/26/2008 - 00:43 by CyberShadow