Game Data Protection Methods

Kread-EX

You're all bakas
Veteran
Joined
Mar 16, 2012
Messages
863
Reaction score
81
First Language
French
Primarily Uses
Can't be bothered to install Cheat Engine right now, but playing a bit with the DL library made me realize that yeah, Ruby makes things trickier. Integers are immediate value, which means there's effectively 1 single Ruby object for every integer, and whenever the value changes, the variable points toward a completely different object with another memory location. On the other hand, every identical integer shares the same location (since they're a single object).
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,072
First Language
English
so yea, i didnt even get to the point of putting in the checksums, because i seen no point if i couldnt even hack the default engine ... lol
But plenty* of people are using cheat engine no problem on standard** RM games.


I imagine you just need to know what you're doing.


*no statistics


**standard = built-in systems, like saving
 
Last edited by a moderator:

Abi

Veteran
Veteran
Joined
Dec 3, 2012
Messages
191
Reaction score
10
First Language
English
Primarily Uses
Save files probably have some set standard data storage method which is easily cracked.  So the "standard" RM methods may prevent easy run-time cheating but not saved-game editing based cheating...

So, we need to either A: figure out how the saves method works and change it to randomized storage locations.  Or B: just alias the saves method and add encryption, and alias the loads method and add decryption.

Of the two...  Option B would probably be the easiest to implement, but it'll also STILL be crackable - just not as easily.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,072
First Language
English
The save method simply takes all of your data, tosses them into a hash, and then dumps it out as a Marshal serialized object.


It is pretty trivial and all you need is to Marshal load it and you've got everything you need.


But I think most people use cheat-engine rather than save-based editing.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,271
Reaction score
2,330
First Language
Binary
Primarily Uses
RMMV
ok, so, last night i spent over 2 hours trying various methods of "cheating" using cheat engine, i tried things like changing party gold, level, ect..

I did not succeed , every time i "got close" the rpg maker game would crash . this leads me to believe that it is not possible to use cheat engine with rpgm ( ace at least )

So, i was just wondering if anyone has managed to "hack" a game using cheat engine, if so, what did you "hack" and how did you do it ?

I know Tsukihime said that plenty of people are using cheat engine, but at the same time there is no statistics.

I would also assume that there are alot of people cheating this way, if i didnt spend hours trying to cheat and failing .

Also someone was kind enough to send me the link to "that program" of which breaks into a encrypted game. and i have to say that it is quite unsettling..

i know that Kread-Ex said that the Crypt-Ex program would stop against that, which i guess i slightly "comforting" . but at the same time it took him less than 10 minutes to "hack" things out of a project that was encrypted using Crypt-Ex.

Obviously people who are that advanced at breaking into programs arent really going to be trying to steal my scripts or whatever, as they can most probably do better on their own, But is it really only those people ( pro "hackers" ) who would  be able to get the data from my Crypt-Ex  - Encrypted game ?
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,072
First Language
English
That's a pretty bad way to conclude something. It works just fine; after reading your post I decided to grab cheat engine, start up an Ace game, and then went to modify things.


I managed to change the gold and current HP (though I did cheat by initializing them to some arbitrary number so it's easier to find)


The instructions I've read were to use the formula 2X+1 to search for your values, where X is the value you want to search for, and then you use the same formula to plug in the value you want it to be after you've found it.


I don't know why it works like that, but at this point if I were only interested in getting lots of gold, I don't really care for why it works.
 
Last edited by a moderator:

Gomi Boy

 
Veteran
Joined
Jul 29, 2012
Messages
921
Reaction score
159
First Language
the truth
Primarily Uses
Why would you want to shut that sort of thing down in the first place? It isn't a method of theft, it doesn't hurt the game for the typical player, and it isn't likely to affect anyone's opinion of the game since whatever they do is done by them. If people get curious and want to Frick around with my game's code for fun, then more power to them.


Bugfixing? That's important. Hack protection? All you're doing is trying to stop the fun, and the fun can't be stopped.


p.s. rpg maker's memory handling is actually very simple and cheat engine works really well on it, you're just bad at using it
 
Last edited by a moderator:

Kread-EX

You're all bakas
Veteran
Joined
Mar 16, 2012
Messages
863
Reaction score
81
First Language
French
Primarily Uses
So, i was just wondering if anyone has managed to "hack" a game using cheat engine, if so, what did you "hack" and how did you do it ?


I know Tsukihime said that plenty of people are using cheat engine, but at the same time there is no statistics.


I would also assume that there are alot of people cheating this way, if i didnt spend hours trying to cheat and failing .
As I said earlier every Integer is a single Ruby object and yeah, once you have the formula, it's pretty easy to cheat. The tricky part would be to get it, and Tsukihime apparently read it somewhere, so it's already public. But like virtually everybody in the thread said, it just doesn't matter.
i know that Kread-Ex said that the Crypt-Ex program would stop against that, which i guess i slightly "comforting" . but at the same time it took him less than 10 minutes to "hack" things out of a project that was encrypted using Crypt-Ex.


Obviously people who are that advanced at breaking into programs arent really going to be trying to steal my scripts or whatever, as they can most probably do better on their own, But is it really only those people ( pro "hackers" ) who would  be able to get the data from my Crypt-Ex  - Encrypted game ?
I'm not a "pro hacker". I have some knowledge in the field, but once all is said and done I'm nothing more than an amateur. For Crypt-EX, I merely used the DLL own decryption method against it. After all these years, I have yet to see a single encryption method genuinely difficult to break. But this isn't because their creators are unskilled, it's because of RPG Maker limitations.
Unless you go with a custom executable and custom DLL to replace the RGSS DLL, then whatever you do is ultimately pointless.


But then again, is it really that important? If you have a game full of custom resources, people will notice when they're stolen and the thieves will be shunned. Scripts are slightly harder to notice, but you could just modify the base scripts. That way, if someone put them in their game, they break compatibility with pretty much everything else.


Even AAA games have their resources ripped. Do you really think you can avoid that on a RM game? And in any case, there's like, 99% chances that the people who steal from you will just make some shitty game which will never be completed.


tl;dr: Start by making a good game.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,271
Reaction score
2,330
First Language
Binary
Primarily Uses
RMMV
The instructions I've read were to use the formula 2X+1 to search for your values, where X is the value you want to search for, and then you use the same formula to plug in the value you want it to be after you've found it.
I will have to try that formula.

Why would you want to shut that sort of thing down in the first place? It isn't a method of theft, it doesn't hurt the game for the typical player, and it isn't likely to affect anyone's opinion of the game since whatever they do is done by them.
What if i want the only cheats used in my game to be cheats that i had set up to be used ? So that any save file that has cheated could be identified. 

p.s. rpg maker's memory handling is actually very simple and cheat engine works really well on it, you're just bad at using it
No denying that, im not much of a cheater when it comes to games. i like the feeling of earning my crap, whether it be cash / items or whatever.

Scripts are slightly harder to notice, but you could just modify the base scripts. That way, if someone put them in their game, they break compatibility with pretty much everything else.
Yea , ive acctually been thinking this may be my best option for a while now. i mean, most of the default scripts have already been re-written ( in my current project) so it would just be a case of completely removing the "excess" script pieces.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,271
Reaction score
2,330
First Language
Binary
Primarily Uses
RMMV
just wondering if someone could upload a copy of a game they have encrypted with Cryp-ex.

reason being , i encrypted a game and then tried to decrypt it using what people like to refer to as "that program" .

it easily decrypted everything, so i assume i have encrypted it incorrectly, and i would like to test it against a game that someone else has encrypted to test if it was just something i done wrong. 
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,072
First Language
English
Send me "that program" and I will let you know whether you messed up or not.


If you are getting everything from the rgss3a archive you're unpacking then yes.


Your data files should be in data.rpack and your image files should be in image.rpack


The rgss3a archive should be the stuff that WF provides.
 
Last edited by a moderator:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,271
Reaction score
2,330
First Language
Binary
Primarily Uses
RMMV
ill have a look at what im doing again and see how it goes, i would rather not post a link to the program as the dude who sent me it has been banned after 1 post, i assume it would be because of linking that..

Also , on a lsightly different note..

Last night my pc crashed while 3 projects where opened, lost a total of about 5 months worth of scripts ( most i can download from pastebin again if needed though)

Is there any way of creating a hard cope of my game to protect that data is such a thing occurs.. maybe alike a way of telling the game to export a hard cope each time its laoded ( seems like it would be slow though )
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,072
First Language
English
http://himeworks.wordpress.com/2013/02/13/data-backup/


People will usually only think about it after they lose their work though.


Now, I haven't actually TESTED whether the backup files will be spared from corruption or not...but maybe someone can try it out. Maybe load up a virtual machine, open RM editor, and then kill the VM and see what happens.


I can't imagine why the backups would be affected though. If you look at how the data files are corrupted, they are basically wiped out. This might have something to do with how file IO is performed, where it first reserves as many bytes as it needs before writing the data out. I don't know.
 
Last edited by a moderator:

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Profile Posts

This little brat (my nephew) just invent a new way of enjoying his orange juice by pouring it inside of used perfume bottle and sprayed it to his mouth...
Jamaica? No, Aunty. I said, I'm on RPG Maker :*/
Lunar New Year is over :( but it's time to get back to work!
I keep giving myself deadlines because I'm so excited to finish something but I notice areas where I'm rushing the story and that's what's gonna weaken my overall project, gotta stop that

Forum statistics

Threads
93,690
Messages
914,660
Members
123,289
Latest member
mintminstrel
Top