I am making a Swift game with SpriteKit, which I suppose to have (at the moment) about 100 levels. They are divided into regions (20 levels per region). Most areas are free, but I would like to make one or two very special areas that require some hard work to be able to play. Maybe I'll even make a purchase, if it's worth it.
So, to keep things simple, I just made all the levels as JSON configuration files when it was needed, and my reader will pull out the settings and remove the level class from this. Thus, I have 100 level files.
I thought about it and realized that there is nothing that would prevent an attacker from using a tool like ifunbox to view JSON files, search for premium ones, grab content, overwrite non-premium ones and then download premium content for free.
Should I store JSON files and just encrypt them? I thought another alternative would be to save the level hashes of each level and make a comparison, but that would require 100 hashes in my code file.
Can someone suggest me a way to protect my level configuration data a little better, so premium content remains premium?
Thank!
source
share