Tomalla
Designer
General Modder
Posts: 525
|
Post by Tomalla on Aug 4, 2016 12:44:17 GMT -8
I've spent few hours on decrypting CHEATZ.TXT and here are the results. Only recently I've been playing with disassembling Gruntz and looking at its machine code, it's pretty rewarding at the times. The problem with CHEATZ.TXT though is that the game is NOT loading that file. Ever. And so I couldn't peek at how it's decrypting the file. I had to come up with something else. Skipping all juicy and programming details, I've deduced that the file is encrypted with the same algorithm as in the case of ATTRIBUTEZ.TXT file (the blowfish symmetric encryption), but with a different key. The encryption key for CHEATZ.TXT is: " K3V1". I had to brute-force the key. Just as a reminder, the encryption key for ATTRIBUTEZ.TXT was "1212". It contains cheat codes, as the file name would suggest. And just like with ATTRIBUTEZ.TXT, the actual cheat codes were additionally encoded within the file (note that I said it was "encoding", not "encryption"). After encoding all the cheat codes, the following list appeared: pastebin.com/WbQ81T2RIt contains 6 cheat codes. Let me reiterate: this file is NOT loaded by the game and thus the cheat codes mentioned there are not accessible from within the game. Few of these cheat codes were stripped from the final version of the game. And these are: - the Warpstone cheat code
- creation of goo puddlez on demand
- the ability to clear all cheat codes, so that you are able to save the game after using any major cheats
Other three remained in the final version of the game, though under different names. These are: - mplc -> mpilovethisgame
- mppd -> mpihatethisgame
- mpfire -> mpletsblowstuffup
I've experimentally enabled these three new cheat codes and they work wonderfully! I'm in the process of making tools that would enable these cheats. They will also make entering any cheat codes way, way, way easier. But more on that - later
|
|
|
Post by Perfect Grunt on Aug 21, 2016 0:58:49 GMT -8
|
|
Tomalla
Designer
General Modder
Posts: 525
|
Post by Tomalla on Aug 21, 2016 10:33:48 GMT -8
Haha, I'm aware of that  And for all the programmers out there, I have good news - I have ambitious plans of creating a series of articles on my programming blog (link in the signature). Gruntz-related articles that is. They will containt pretty much everything the Gruntz (and to some extent - Claw) community has come up with. Most of it will be obviously related to programming and reverse engineering. All format specifications (PID, WWD, ...), some tools required to edit them, and some background stories on the subject. It'll be filled with the whole process of me figuring out all the juicy, programming details, I won't be just presenting the results. Some articles will even be illustrated. The articles will be available in two languages - English and Polish. I first write a Polish version of an article and then translate it. Only then I'll be releasing a full and complete article (unless some will have objections and would love to decipher the Polish version of the article or admire the illustrations  ). At this point I have two articles ready for translation; one of them covers the ATTRIBUTEZ.TXT file in great detail. Others will be about: CHEATZ.TXT, how to dig up the cheat codes from the binary file, how cheat codes actually work in the game itself (how to take advantage of that) ... as I said, it's quite ambitious. We'll see how it all plays out and how many topics I will cover in the end. Oh how I'd love to have more time for this project than I already have ... Cheers
|
|
|
Post by Perfect Grunt on Aug 22, 2016 10:28:20 GMT -8
That sounds really, really, really great.  Your page is bookmarked now and will be automatically checked for updates every 30 minutes. 
|
|
Tomalla
Designer
General Modder
Posts: 525
|
Post by Tomalla on Dec 8, 2017 16:33:01 GMT -8
Hello everyone! Over a year ago I've posted a thread where I revealed that I had successfully decrypted and decoded ATTRIBUTEZ.TXT and CHEATZ.TXT files. At the same time I assured that I would present a detailed explanation on how I did it exactly. Some time later. Well ... I kinda ... didn't do it. And here's why. The day I managed to decode these files I made all these articles within a blink of an eye. However, there's a catch - they all were in Polish. And I didn't really want to publish incomplete articles without the proper English translation. And since I've never really finished the translation, I didn't publish the articles. Yes, I know, I deserve some good spanking for that  I'm terribly sorry for that ... But here I am, finally publishing all these articles (three of them, to be exact). They are on my blog: datashenanigans.blogspot.com/. The first one has the half of the article translated, the other two only have the Polish version. I figured publishing them in this shape would be better than leaving the material covered in a thick layer of dust for another year or so, without showing them to anyone whatsoever. So - if you're interested, feel free to take a look at them and try to get something useful out them. If you have some questions, feel free to ask them here in this thread, or as a comment on my blog. I'll try to answer them right away. Or a year later, knowing me ... Just kidding! I'm kidding ... Sorry again for the long delay! And sorry for the lack of any translation. Cheers, Tom
|
|
GooRoo
Administrator
Owner Administrator
I luv Gruntz!
Posts: 7,332
Display Name: GooRoo
|
Post by GooRoo on Dec 8, 2017 19:07:13 GMT -8
Is there any chance that BabelFish (or similar program) could finish the translation well enough for an old geezer like me to be able to understand it? (If I could do it ... anyone could!)
|
|
Tomalla
Designer
General Modder
Posts: 525
|
Post by Tomalla on Dec 9, 2017 1:14:01 GMT -8
Google Translate does a pretty decent job at translating that polish mess: Google TranslateJust remember to switch the site to the Polish version first (at the top of the blog there are little flag icons that are responsible for that). If you hover over a sentence, the original text shows up - that way you can see, how some proper nouns or names looked originally, just for reference. Cheers
|
|
Tomalla
Designer
General Modder
Posts: 525
|
Post by Tomalla on Nov 15, 2018 11:06:59 GMT -8
I made quite a few changes on my blog. It received a complete overhaul and some maintenance changes. Below are the most important news: - I have written the Gruntz Decryptor - the program which allows you to easily modify the ATTRIBUTEZ.TXT and CHEATZ.TXT files
- I have finally translated the articles about deciphering the ATTRIBUTEZ.TXT and CHEATZ.TXT files. Without this process I would never be able to create the Gruntz Decryptor in the first place

I believe the next order of business would be writing the framework for reading and modifying the WWD files. That way I could finally make the utility tool to move the plane around which I mentioned some time earlier for example. It goes without saying that such framework would allow for much, much more than that.
Cheers!
|
|
|
Post by swietymiki on Apr 9, 2019 7:47:36 GMT -8
I merged three previously separate threads about the same topic to reduce clutter in the FAQs board. This is a great opportunity to mention why the above discoveries are relevant, as it is not immediately obvious due to the lack of comments under them. I know you are too lazy to unpack your REZ file and then decode the ATTRIBUTEZ.TXT file with Tomalla's program, which is why I included a link to the decrypted version right here: ATTRIBUTEZ.txt (146.11 KB) Take a quick look. Apart from a list of all working cheat codes and some necessary technicalities, this file contains various gameplay settings that can be modified. This includes the properties of each Grunt: walking speed, tool stamina recharge time and tool range, the time until a toy breaks (and how often the mobile ones change direction), and many other numerical values: projectile speeds, default hazard speeds and powerup durations, health restored by zap cola, spell range, etc, etc. You can even change the teleporters' colors if you so wish (there are 7 different options). Another thing worth to mention is that this file also contains the "weights" for how often a certain item will appear in the Gruntz Machine in Battlez (turns out it's not fully random) and how fast one's Goo Well fills (also influenced by the AI difficulty level). There are separate settings for computer opponents and human players, so it's possible to apply the changes only to one side. It opens up new possibilities in creation of Custom Battlez (provided the person downloading the map would also download the modified ATTRIBUTEZ.TXT file) - designing a map that is challenging against the AI is now feasible, or creating a custom scenario with entirely shifted weapon balance for multiplayer.
|
|
|
Post by Perfect Grunt on May 1, 2019 1:20:56 GMT -8
That would be great. For example a version of the Back2Back map without any chance of getting wingz. :-D
|
|
|
Post by swietymiki on May 11, 2019 8:06:52 GMT -8
I think it's about time to make the codes from CHEATZ.TXT available to everyone, as their usability was mentioned in the first post almost 3 years ago. For those who don't want to meddle with game files, all you need to do is download Tomalla's Gruntz REZ Patcher and then apply this patch: Cheat Codez Patch.zip (83.79 KB) For detailed instructions on how to use this program, you can make use of this tutorial: Secret Level Access Patch (using "Cheat Codez Patch.zip" instead of "Friedslick6 - Secret Level Access.zip"). I retained the original properties of cheat codes from both files (the normal ones will work as previously). These are the new ones: - mplc - shorter code for mpilovethisgame which doesn't prevent saving
- mppd - shorter code for mpihatethisgame which doesn't prevent saving
- mpfire - shorter code for mpletsblowstuffup which doesn't prevent saving
- mpclearcheatz - allows saving again after using any cheat codes
- mpwarpstonez - creates a legitimate Warpstone Piece which might be given to any Grunt and doesn't prevent saving
- mpgoopuddle - toggles the ability to spawn goo puddles with the 'P' key on and off
All of these might be useful for testing Custom Levels. It is advised to make a backup copy of your REZ file before applying any changes to it.
|
|