News for hackers. Stuff that matters.
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by rtpg on Tuesday December 04, 2012 @07:07AM (#4870517)
It complicates the process,and when you make paying for something more difficult, people are less likely to do it.

I'm surprised that the company can't simply do a 'phone home' procedure when online services are tried though, verifying through App Store API's (if they exist) or by making their own things. Does anyone know how feasible that is ?

Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by davedx on Tuesday December 04, 2012 @07:12AM (#4870540)
It's totally feasible, the problem is whether the people who are distributing the pirated version are also capable of cracking the client the same way e.g. Photoshop cracks work to nullify phone home checks.

Fighting piracy always comes with an effort/reward calculation like that.

Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by huhtenberg on Tuesday December 04, 2012 @07:30AM (#4870588)
You got it wrong.

If it's an online game, the license check is performed on the server side and no amount of clever client cracking won't get around that. When you buy a license, the licensing server associates some sort of ID with your installation, the same ID that must be presented to the server for an online play. No valid license -> no valid ID -> no online play. That's how all massive online games with free clients work. Easy-peasy. The question here is what can be used as an ID in case of iOS games, but, again, this is a solvable problem.

Moreover, the same scheme applies to the standalone software, except there's an extra step involved with strengthening the executable against any modifications. What Photoshop did is the lamest thing possible (and I think it's a valid theory that they did it on purpose to facilitate the piracy rather than to curtail it). A simple option is to sprinkle 100s of conditionals around the code (with a simple pre-processing script if need be), do not issue any sort of messages, but instead just make the code corrupt heap, stack and do other things that would cause the program to go down after a while. Then simply sign the executable. This is very effective. For every complain in the support forums that the program crashed (and a crash dump that shows the absence of a valid file signature), there's a automatic reply that it's a cracked copy, you get what you paid for.

Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by davedx on Tuesday December 04, 2012 @11:52AM (#4871798)
It sounds like you have a lot of experience in this area. I admit I've only really touched on it before on projects I've worked on. Do you know if there's any good books or online guides on this subject, as I find it quite hard to devise these systems myself?
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by huhtenberg on Tuesday December 04, 2012 @12:39PM (#4872079)
You may want to go through fravia.org archives. It's old, but basic protection principles don't change that quickly (or, looking at it from the other end, rudimentary cracking techniques are the same as well).
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by davedx on Tuesday December 04, 2012 @01:45PM (#4872508)
Looks like the domain expired? Oh well, thanks anyway :)
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by huhtenberg on Tuesday December 04, 2012 @01:58PM (#4872613)
archives
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by lucian1900 on Tuesday December 04, 2012 @07:39AM (#4870613)
That doesn't work if there is significant functionality server-side.
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by jmonegro on Tuesday December 04, 2012 @07:12AM (#4870537)
I've seen games do that, mostly Gameloft's, but it's not perfect (the message was shown to me when I restored my backup with a legitimate copy to another, new device, and wouldn't let me play it. Needless to say, I was annoyed).
Re:With 10 pirated copies for every 1 sale, iOS dev pulls ga... by Turing_Machine on Tuesday December 04, 2012 @10:15AM (#4871249)
I'm guessing they're using the device's UDID (or some roll-your-own analogue).

One solution might be to let the user tie their copy to an external authentication service (Facebook, Google, some other OpenID provider). If you wanted to minimize user hassle, you could only require this step if the user wants to move the game to another device (and of course you could limit the number of devices allowed at any one time, similar to Apple's authorize/deauthorize for devices). An inconvenience, sure, but not as annoying as not being able to move the app at all.

Note that I'm not saying that this is THE solution, just the one that comes to mind immediately.

Does anyone see a problem with it?