Something to Ponder: Making output files hidden/inaccessible within AGS?

Started by Snake, Thu 22/07/2010 19:23:08

Previous topic - Next topic

Snake

I hope this isn't a silly question.

I'm nowhere near ready to physically try something like this, thus saying "Something to Ponder", but is something that I think would be a good idea - especially since the multi-player AGS games era is dawning.

The reason for making output files hidden and/or inaccessible would be to try and help prevent cheating. Output files hold a lot of information that is vital for continuous play after previously closing the program/game. If one file is being created from within the game to stop the player from doing something they shouldn't be doing anymore, the player could just simply erase this file or open it and tamper with it.

For example, let's say an on-line non-adventure restricts a player from using an easier setting after winning X amount of online games. Upon figuring out they can do this, the player can simply erase the file holding that variable and so enabling them to use the easier setting whenever they wish.

While writing this I realize that there are other ways that this can be done of course, like maybe making the file hidden manually before packaging. Even going as far as, upon game boot, detecting whether or not this specific file exists or has been tampered with, resulting in a consequence of the game erasing any other saved information that the player had achieved previously, making it a fresh game.

It was only something I had thought of moments ago and wondered if anyone else thought it would be a good idea or had other ideas as to try to prevent tampering with saved files.

Grim: "You're making me want to quit smoking... stop it!;)"
miguel: "I second Grim, stop this nonsense! I love my cigarettes!"

Calin Leafshade

The best way to do this is not to 'hide' the files but to encrypt them.. There is a module that does exactly that.

GarageGothic

I don't really see the purpose, to be honest. Unless you write it to the registry, any kind of "restrictions" enforced through the file can be circumvented by a fresh install. As you say, the game can check for the file on startup (and generate a fresh one if it has been deleted) and a simple encryption and checksum algorithm should make sure that only the most technically minded would ever be able to mess with it.

Where would you have AGS hide the data anyway and how would it be safer that your own output files?


Snake

Calin, thanks for the info. Encrypting them seems like the best idea if need be.

GG:
QuoteWhere would you have AGS hide the data anyway and how would it be safer that your own output files?
I was thinking closer to the option in Windows to make the icon invisible. But going that route would be more in the Windows end of things rather than AGS.

Thanks to you both for the suggestion of encryption. I wish I thought of it before posting :-[
Grim: "You're making me want to quit smoking... stop it!;)"
miguel: "I second Grim, stop this nonsense! I love my cigarettes!"

Monsieur OUXX

Quote from: Snake on Thu 22/07/2010 20:15:22
I was thinking closer to the option in Windows to make the icon invisible. But going that route would be more in the Windows end of things rather than AGS.

Indeed. If you were super hard core you could probably manage to edit the file as a binary file and change the "hidden file" switch, but it would be very hard (WindowsXP? Windows Vista? Rights management?) and the benefit would be tiny, since most Windows users actually force-display all hidden files.

Go for encryption (to prevent reading the data) and go for simple checksum mechanisms (to prevent changing the data).
 

SMF spam blocked by CleanTalk