Search

Protecting Data Files

Data Files. One of the easiest files to modify if not handled well. Data files could include save files or data of game elements. They could including things like enemies data (health, attack), item cost, weapon damage. If not handled well, the player could modify these values to the extreme eg. enemy health = 1..


So it is important that we protect our files by encryption or checking the "correctness" of the file through integrity check.


Developers are often confused over hashing and encryption.


Hashing is a one way function, which means that with just the resultant message, it is impossible to get back the original message. Hashing is good for checking integrity of the original message, without needing to know the contents of the message (eg. password, file binary). SHA256 is often used for hashing.


Encryption the message is processed through a certain algorithm using a key and can be reversed as long as you have the key. Encryption is useful when you want to hide the original message from prying eyes, for example game data or game assets. Advanced Encryption Standard(AES) is often used for symmetrical encryption.


Recent Posts

See All

Finally managed to restore almost all of my post from the previous wordpress. 1 year ago, I mentioned that IL2CPP seems to be broken. 1 year on, there are tools out there that completely reverse engin

Let's face the facts. It is impossible to stop all exploits and modders. The first steps will be preventing cheating tools are being used. Cheating tools makes everyone a modder. Preventing the cheati

Old news but with Google enforcing all apps to support 64 bit seems to solve most of the reverse engineering to plaintext problem. It is a really good implementation as reverse engineering IL2CPP will