Question

How to prevent an android app from the apps which can make backup of .apk file.

Apps like astro file manager lets user to do so, menu: tools -> backup more info here and one can backup any installed apk on sdcard.

Later on, i can rename it to .zip and extract it, and can easily steal DRAWABLE / ASSET from that app.

My question is, How do i protect my app from such backup?

Was it helpful?

Solution

There is not, as far as I'm aware, a full-proof method to stop this. But even so, I would always ask myself before going to the effort of trying whether I even really care if some one tries to steal something from my app. I spend my effort on making sure any data is secure.

OTHER TIPS

What the answers say is not true. If you set your app to use the old copy protection in the market (the checkbox is still there), it will require a rooted phone to read the APK. Also, I've seen an app recently (ICE, in case of emergency), that I couldn't backup and I think it wasn't using the old copy protection. I have no idea how it's doing it. Also, it's not a matter of "stealing" assets, that's irrelevant. For a cracker, every extra step, every nuisance he finds in his way undermines his determination to crack your app, that's what this is be about. It takes just one determined cracker to have thousands of pirate copies roaming around, and we don't want that to happen.

There is no way to do this. What is in your APK can be taken. You can generate drawables at runtime, or pull them from server - but whether is it worth this? There are better ways to deal with stealing of copyrighted content - one good tool is called "lawyer"

There is really no way to prevent a user from copying the apk on his pc and opening it.

try to use progaurd even though they opened the apk they cannot see the files inside in that

This is an old question but if you want to protect your assets you must encrypt them.You can decrypt assets at runtime.This won't stop everyone but it will be harder to copy assets.

If you want to protect your code you must use native code.Native code is harder to decompile and modify.

If you will use java,you must obfuscate your code.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top