Sorry for typo. I meant "... if someone can edit my preferences file to modify the stored validity time stamp, grace period and max. retry count to reasonably large values, ..."
~rajorshi On Feb 15, 10:46 pm, rajorshi <groups.rajor...@gmail.com> wrote: > But, if someone can edit my preferences file to modify the stored > validity time stamp, grace period and max. retry count to very > reasonably values, he can prevent my app from ever contacting the > server after the first attempts or make it retry all the time. This > effectively removes LVL checks. Also, if bypassing the licensing is > indeed as easy on rooted phones as I mentioned, doesn't that > practically negate the advantage of having a licensing scheme which > works independent of device configuration. After all, that is what > attracted me to the licensing service in the first place - the thought > that I would be able to get additional revenue if my apps could be > legitimately installed on rooted phones. > > ~rajorshi > > On Feb 15, 10:21 pm, Dianne Hackborn <hack...@android.com> wrote: > > > Oh and the documentation on LVL obfuscation is to prevent people from easily > > *modifying* the app to *remove* its LVL checks. This is in many ways a very > > different issue than trying to protect data that is being stored on the > > device. The LVL design has the server holding the private key that it uses > > to sign its results, and the app has a public key it uses to verify results > > from the server. That way you can't spoof the result without knowing the > > private key (which is only on the server), so LVL will work without needing > > to trust the local device or Market app. > > > On Tue, Feb 15, 2011 at 9:18 AM, Dianne Hackborn <hack...@android.com>wrote: > > > > If someone has root, there is little you can do to really protect yourself > > > from them. > > > > On Tue, Feb 15, 2011 at 9:10 AM, rajorshi > > > <groups.rajor...@gmail.com>wrote: > > > >> I have no experience in cryptography, hence this basic question about > > >> the AESObfuscator in Android LVL. The AESObfuscator uses app specific > > >> info (say package id), device specific info (say > > >> android.provider.Settings.Secure.ANDROID_ID) and a salt to generate a > > >> key to encrypt the SharedPreference file where the ServerManagedPolicy > > >> stores my license information. Now, the app id and the device id are > > >> well known. It will be a simple matter to decompile my app to obtain > > >> the salt even if I obfuscate my code. Won't somebody be able to > > >> generate the key using the three values and edit the SharedPreferences > > >> file easily on a rooted phone? On a non-rooted phone I guess I can > > >> just make the file private and nobody else will be able to access it, > > >> but, what do I do on rooted phones? I can't help feeling I am missing > > >> something here. Why else would the documentation on LVL put so much > > >> emphasis on refactoring and obfuscating LVL to prevent others from > > >> patching the library when a much simpler way would be to just get the > > >> salt and edit the preferences file? Can someone enlighten me on > > >> this? > > > >> ~rajorshi > > > >> -- > > >> You received this message because you are subscribed to the Google > > >> Groups "Android Developers" group. > > >> To post to this group, send email to android-developers@googlegroups.com > > >> To unsubscribe from this group, send email to > > >> android-developers+unsubscr...@googlegroups.com > > >> For more options, visit this group at > > >>http://groups.google.com/group/android-developers?hl=en > > > > -- > > > Dianne Hackborn > > > Android framework engineer > > > hack...@android.com > > > > Note: please don't send private questions to me, as I don't have time to > > > provide private support, and so won't reply to such e-mails. All such > > > questions should be posted on public forums, where I and others can see > > > and > > > answer them. > > > -- > > Dianne Hackborn > > Android framework engineer > > hack...@android.com > > > Note: please don't send private questions to me, as I don't have time to > > provide private support, and so won't reply to such e-mails. All such > > questions should be posted on public forums, where I and others can see and > > answer them. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en