Hi,
I’m disappointed not to get any comments on this post.
I’ve done a bit of reading, and from what I can find:
* There are people that have websites dedicated to providing hacks for games
* It is quite simple to just overwrite data files with new ones. So let’s say you buy an in app-purchase once, you could keep reusing that purchase simply by making a copy of the data files after purchase, and repeatedly replacing the data files whenever you want to reuse the purchase.
From what I could find on the 'net, the general consensus on how to get around this is to provide some sort of purchase verification using your own servers. But I really don’t like this solution, because it means that an internet connection is required to use an in-app purchase. I do distinguish between using and buying, because it’s possible to buy something and use it later on.
So I’m after some comments on an idea that I’ve come up with.
What I think is a feasible solution is to put a timestamp and a checksum in the data file that carries information about in-app purchases. The checksum would be based on a combination of the timestamp and what in-app purchases are available to use. One simple idea would be to add combinations of the digits of the timestamp together, and create letters out of it. eg if the timestamp was
12345678
then you could add 123 to get 6->F, 4,5,6 to get 15->0, 6,7,8 to get 21-U then 234 to get 9-> I
and the checksum is
FOUI
I think any set of weird combination should be hard enough to work out shouldn’t it? Is there any way a hacker can get access to the code to work out how to do the checksum, by reverse engineering the app? Even if there was, I think this simple ‘checksum’ step would be a big detterrent to a lot of simple hacks.
The other requirement of this solution is that the in-app purchases expire after a certain amount of time. Does anyone know if we’re allowed to trash purchases after a certain amount of time? I’m thinking something like 2 or 3 days is reasonable. I guess it depends on the app and what the purchase is.
If the app is setup to look at the timestamp and the checksum, and not grant purchases that are too old, then that means hackers are restricted to resetting their purchases to whatever the expiry time is. eg if it’s 2 days, then the hacker could buy once, and reset the purchases as often as they wanted to for the next 2 days, but after that they’d have to buy them again.
Would love some thoughts on my idea please!!! What I’d also like some thoughts on is, am I thinking too much about this? Is it such a small problem that you just let the hackers have their little bit of fun and not worry about them?
thanks
Daniel