I am making a game in Swift with SpriteKit that I envision to have (for now) about 100 levels. They're broken out into areas (20 levels per area). Most areas are free, but I'd like to make one or two very special areas that require some hard work to get the ability to play. Maybe i'll even make one require a purchase if it's worth it.
So to make things easy, I just made all the levels as JSON configuration files when needed, and my reader will pull the settings and hydrate the level class from that. Thus I have 100 level files.
I was thinking about this, and realized that there isn't anything stopping an attacker from using a tool like ifunbox to browse to the JSON files, find the premium ones, take the contents, overwrite the non-premium ones, and then play the premium content for free.
Should I keep the JSON files and just encrypt them? I was thinking another alternative would be to keep level hashes of each level and do a comparison, but that would require 100 hashes in my code file.
Could someone offer me a suggestion as to protect my level configuration data a little better so premium content stays premium?
Thanks!