Quote:
Originally Posted by Rizla
Include an occasional online license check when a connection is available. Then the only way for pirates to use it is to use a firewall. You can't stop them, but it's a deterrent. I do think you have to include some kind of online check if you want to defeat piracy. Sadly, it's part of the software landscape these days.
|
Unfortunately the pirates would just remove such a check. These people are very good at what they do. They have tools that scan the app installation package looking for certain triggers such as network activity, use of cryptographic tools, certain Android functions that give the app access to the raw install package, and of course any use of licensing. They then decompile (convert to human readable) anything in the app that the tools find, and inspect it by hand. If there is something that does a check, it will be removed or changed to always return OK. We can make finding the checks harder, but we can't stop them from finding them.
I think that the only way to stop piracy is to store nothing on the device. If the app can directly access the desired info then the pirate can too. If all the storage and processing is remote and protected with some access credentials then the only choice the pirate has is to hack the credentials, a much more difficult problem. Unfortunately, putting something like CC in the cloud behind servers isn't practical. There are too many situations where the user does not have a connection or the connection is too slow to be useful.