1
\$\begingroup\$

Is the copyright protection and enforcement of Android apps written in Java sufficient or should I be relying on a native implementation to use machine code obfuscating techniques in order to prevent piracy of my game?

Please provide an answer with supporting examples of games which use either technique.

\$\endgroup\$
  • 1
    \$\begingroup\$ I don't think you should worry with that. If someone wants to reverse engineer your application, it can be done either way, just as in the PC. But for the simplicity of the usual android applications and games, plus the additional difficulty of the handheld nature, i think it is even safer to leave your code as is. I don't think people actually bother protecting android code, unless it is a blockbuster from a major AAA studio. But even those can be broken anyway.. \$\endgroup\$ – Grimshaw Jun 24 '12 at 15:31
  • 1
    \$\begingroup\$ If your game's revenue model can be hurt by piracy, then it won't succeed on Android. \$\endgroup\$ – Crashworks Jul 6 '12 at 23:25
7
\$\begingroup\$

I don't have examples readily available, but obfuscating your code will not really provide any significant advantage in preventing piracy of your application. Piracy is typically accomplished through hacks that bypass copy protection or DRM checks, which can be done at the machine code or VM opcode level.

No amount of obfuscation of the higher level code prior to letting it get compiled to machine code or the intermediate representation used by a VM will help you at that point.

I would not bother.

\$\endgroup\$
  • \$\begingroup\$ I guess I had in mind something like en.wikipedia.org/wiki/Self-modifying_code#Use_as_camouflage. That and the deterrent factor of introducing all the idiosyncracies of lower level coding. On the strength of your argument (and profile) I can discount the former and the latter is a double edged sword at best. Thank you. \$\endgroup\$ – John Jun 24 '12 at 18:47
2
\$\begingroup\$

If you are still interested the Android SDK provides a native offuscation tool : ProGuard.

And during Google IO 12 they have announced a new “application encryption” feature (DRM) but detail are still unknown.

\$\endgroup\$
  • \$\begingroup\$ +1 Even though I agree that you shouldn't worry too much about piracy, ProGuard is pretty easy to learn and use. I think it's better than publishing your stuff wide open. It's not foolproof but it will keep the novices from ripping you off. \$\endgroup\$ – Chuck D Jul 7 '12 at 1:03
1
\$\begingroup\$

to add onto the other answers, the way to get people to pay for your game (not pirate it) is one, use ads, two, make people want to buy it: make it good and give them a free trial so they can see if they like it. That could even mean giving it out for free and letting them 'donate'. You could also use things like in app purchases (they could be circumvented, but its trickier) and online features that require purchasing to take advantage of; to name a few.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.