Reputation: 658
I have been searching over the internet and in the stackoverflow as well and found that and apk file CAN BE de-compiled with some efforts using dex2jar and then there are many de-compilers for jar files. Some people told me that ProGaurd can obfuscate the code and its would be difficult to de-compile it but not impossible.
My goal is to run an audio file on the device which should be 'impossible to copy' for any user. Even if I save it on the device in sqlcipher database, it has to be decrypted to run it on the audio player.
Please suggest me a way to protect my audio file from being copied.
What about running it on a c++ code and connecting that code using JNI?
Upvotes: 0
Views: 1074
Reputation: 3821
This requirement is impossible to fulfill. If it is supposed to be played for the user, the user can copy it. Even if you can keep things encrypted over all the digital components, he will be able to record the audio file from the headphone jack. Note that I have no idea in how far, if at all, Android supports the kind of hardware-based DRM that would be required to effectively prevent digital copying.
Edit: A more fruitful approach might be to watermark the audio so you can identify the user who copied the audio after the fact. Doing this securely would require personalizing the file before download though, or again, hardware support, which I doubt exists.
Upvotes: 2