Free + Key Application


I have my free application into Play Store, and want to add a Key (PRO) Application to unlock some awesome features (!). I have added into my free application a code to verify if key is installed, and verify it package installer and signature match. What I dont know is what piece of code I can put into Key app? What do you guys put in?

I want to know because some key applications doesn’t requires any permission and some requires. I have tested some cracking tools into known apps and some of them have avoided these automated cracking tools putting some code into key app (I think), and some the tool worked fine (Note: I have these apps on my account, I just tested to compare).

I read somewhere to put LVL into key app, but how it will work? Because, my key app is just verify, and doesn’t run any action. Need I put some intent to communicate with this and verify something?

Check this thread:

Hi david,

Like I said, I already implemented checking of signatures and package installer. My question is about what can I implement into PRO (Key) source, like any communication with the FREE App or anything that can make harder for crackers.


If you have a Pro Key app, there’s not a lot you can build into it, since you’d expect the user to continue opening their existing install, and never launch your Pro Key directly.

You could include some string resources which your free app checks for. This would stop people from just copying your free app, and renaming the package to pretend it’s the Pro Key. But this is only partially effective, and not a really solid solution.

Another thing I’ve been wanting to try is dynamic loading of classes. There should be some way to check if the key is installed, then dynamically load a class that is included in the Pro Key apk. This class could check the LVL service for the key, before returning control to the regular (free) app.

All of these methods have flaws though. It’s nearly impossible to stop a determined cracker. If you’re really concerned about people pirating/cracking your apps, I’d recommend using ProGuard and moving to a subscription-based / IAP model. Or you could go with my philosophy: some people are going to steal your app, so just deal with it. :slight_smile: I think DRM is nearly always more trouble than it’s worth, and has a net effect of making life difficult for the good guys, while only presenting a small challenge for determined crackers. So long as you’ve got some basic protection against script kiddies, it might be worthwhile to just cut your losses and spend your valuable time working on actual features, rather than DRM measures.