base64 encode is only a transmission tool to slip over ascii lines ~
we have some general approaches here which could lead to useful ideas
but any implementation as strong as jarsigner and keytool has built in
power that can be applied to the work at hand - though I would dismiss
reports of LVL being busted as what they are talking about (usually)
like when my new hero Diane Hackborn hero speak of  crypto / cracking:
cracking there can sometimes be 90 years instead of 91 years to bust
it or something as the rule there is author did not disclose some
weakness in professional papers - they are not taking about F.P.G.A.
on somebody's lappie passwords ...duh,
Masters Thesis Candidates with liquid nitro flasks where the rest of
us might carry a handheld used to do nasty things with the nitro and
stuff like that
If your app has to go to a server you can keep writing code on enough
checks can be put in ..... depends a lot on where the app has to run
and whether it is actually worth busting as in a 4.2 billion dollar
market of games and social with everything else dominated to near
total oblivion on raw numbers then a commercial based app can force
the issue with - "look, we have to have these controls to protect our
( and your ) legitimate work"
any business who wont sign off on that is bye-bye right there as you
don't need them
for gaming and social what's the point: see don lancaster case against
patents
first off anyone who can take an app apart and modify it then put it
back together could do it cheaper faster and better from new work --
so if someone is doing this then it is a cheat they got from someone a
lot smarter than they are
another thing is LVL uses work based on jarsigner and keytool those
give powerful checks that can be run at load time and is just more
work adversary has to defeat so then if it is there it provides places
to work like check something in the xml / bundle or whatever we have
an obvious approach if there is something attacker has to modify to
cheat the run
Arriving at detection has to go along the lines of shipping License
Checker over AES-Obfuscator running as a lower priority thread ( which
could inadvertently result in a user being denied access to an
application that they have legitimately purchased ) then using that
with LVL which uses 2048-bit RSA public/private key pair to ship the
LicenseChecker.checkAccess()
it would seem some sort of approach based on what the attacker would
have to modify would ultimately arrive at at security model upon which
you could get something useful done ~ if there is something that has
to be a certain way or the thing wont run and then modifier
( attacker ) can only pilfer by changing those and you can at least
make good guesses what they are then we have a place to start and
would be much better if those load-checks could run asynchronous on a
Service rather than throwing ANR from Activity onLoad() ( which is the
way they have it in samples - totally f-'n wondur.puppy code )
As Nikolay Elenkov suggests it's Message Digest of which SHA-256 is
"the next great thing" and costs nothing more to use in fact SHA-512
even runs faster on 64-bit machines than SHA-256 due to alignments on
boundaries issues and can be placed directly in the source code
without disclosing anything except the call-chain to get to the check
which could figured with some debugger tool
the wicked part about it is if it is worth busting then subject is
nasty ( to say the least ) [CUE:]( "lon chaney phantom of the opera" )
first rule of thief is don't do any work and if not then it is a
weakness in your own work that needs to be fixed anyway
I could write this just for screw-off have some fun while drinking
coffee waking up if you can give me about 1-K of whatever to work from
= say for example List<String> or Map<String,String> or byte[].length
> 512
I have some code that I wrote for a GUI designer as a Gist at Git Hub
on https that may have some ideas or useful tidbits butcha gotta
promise not to make fun of my comments in it .... I was screwin off as
it seemed rather simple and obvious
Nick

On Nov 10, 9:06 pm, Chad Ata <chad...@gmail.com> wrote:> Ah, ok - I
like this approach =]> I'm a bit fuzzy on the implementation details,
but I think I can figure> this out.> > Thanks!> -Chad> > On Thu, Nov
10, 2011 at 6:56 PM, Nikolay Elenkov>
<nikolay.elen...@gmail.com>wrote:> > > > > > > > > On Fri, Nov 11,
2011 at 11:45 AM, Chad Ata <chad...@gmail.com> wrote:> > > Thanks for
the response Nikolay,> > > > I was hoping to avoid server-side checks
because I don't want potential> > lag> > > or bugs to affect the legit
users. But I'll consider your suggestion if> > this> > > becomes a big
problem for us.> > > You could embed the hash as a resource with a non-
obvious name,> > and tripple-base64 encode it for extra fun if you
don't want to use a> > server. If they are changing/modifying your
resources, it might be> > better to store bits of it in code and
calculate it dynamically> > though.> > > --> > You received this
message because you are subscribed to the Google> > Groups "Android
Developers" group.> > To post to this group, send email to android-
develop...@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
On Nov 10, 9:06 pm, Chad Ata <chad...@gmail.com> wrote:
> Ah, ok - I like this approach =]
> I'm a bit fuzzy on the implementation details, but I think I can figure
> this out.
>
> Thanks!
> -Chad
>
> On Thu, Nov 10, 2011 at 6:56 PM, Nikolay Elenkov
> <nikolay.elen...@gmail.com>wrote:
>
>
>
>
>
>
>
> > On Fri, Nov 11, 2011 at 11:45 AM, Chad Ata <chad...@gmail.com> wrote:
> > > Thanks for the response Nikolay,
>
> > > I was hoping to avoid server-side checks because I don't want potential
> > lag
> > > or bugs to affect the legit users. But I'll consider your suggestion if
> > this
> > > becomes a big problem for us.
>
> > You could embed the hash as a resource with a non-obvious name,
> > and tripple-base64 encode it for extra fun if you don't want to use a
> > server. If they are changing/modifying your resources, it might be
> > better to store bits of it in code and calculate it dynamically
> > though.
>
> > --
> > 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

-- 
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

Reply via email to