Good idea, but I can see immediately how anti-lvl can be adjusted to get 
around this with only a couple of lines of xml. I don't want to be 
dismissive of all the effort you've done here, but I've spent just as much 
time coming up with cunningly similar solutions only to see them broken by a 
single line of code added by a smali hack.

So, to get around your issue, it simply requires you to stick this in the 
xml in anti-lvl:

1. Find a method in the app that accepts a Context, String, String as 
parameters
2. If this method includes a mention to getCrc() method of the class 
ZipEntry then continue.
3. Stick a "return" to the top of the method.

I'm deliberately being vague here, but anyone who has looked in anti-lvl 
should be able to see that getting round your fix is *exactly* the sort of 
thing anti-lvl has been built for.

However you can make this better by using the value of the crc for something 
in the app - e.g. compute the id for the main layout from the value of the 
crc and other fields added/subtracted/multiplied/etc. (NOTE: just an 
example, the id *may* change over time). If you can do something like that 
then if they hack the app to exit the method too soon, the app won't have 
the constructed the required value and later parts will fail. I strongly 
suggest splitting your method detailed above into several small pieces, 
chuck them about in many different abstract parts of the app. Call them in 
different orders and at random points through the app to construct a yes/no 
answer eventually. Don't make your app do this doing startup (as that's easy 
to spot), try spawning a background thread to do this after a random few 
seconds - don't make it to killProcess as that also sticks out to a hacker. 
Make it do something else like change important static values to something 
that is invalid and i.e. when they open the menu they get a nullpointer, 
etc, etc.

All these things will help make it harder and give several more targets to 
aim for.

Alternatively, a much more robust solution can be bought to you with the 
letters n, d, and k. :-)

I really hope that helps you, good luck!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to