最近,我发现我的应用程序被一些反lvl工具破解了。
这个工具可以很容易地破解我应用程序中的"Android许可证验证库“,并生成一个新的被破解的apk。
它还提供了大量的函数钩子,以防止开发人员检测到他们的应用程序被破解。例如获取文件长度函数或检查签名函数...
有人知道怎么打败它吗?
谢谢。
发布于 2011-05-13 19:50:09
一般来说,没有办法在野外完全保护你的应用程序。用户可能在他/她的设备上具有root访问权限,然后所有赌注都会被取消。你可以引入一些手动的“变通”,但如果你的应用是一个高调的应用,你无论如何都会被破解。
这只是你和饼干之间的权力游戏。如果你太努力地对抗黑客,你可能也会伤害到你的公平用户。
发布于 2012-05-29 11:23:01
我不喜欢“去检查google i/o演示文稿”的标准回答,因为上面提到的许多技术都被antilvl打败了。在我看来,这是一个糟糕的建议,因为反射和crc校验等主题已经被否决了。
在进一步研究antilvl时,我遇到了到antilvl的svn主干,在一个readme.txt文件中有一个非常描述性的提示。根据作者的说法,这里是为了防止antilvl,由我美化。这将返回true/false,这取决于smaliHook.java的存在,antilvl使用它来挂接正常的包检查。这只是第一道防线,因为类名可能会被某个地方流传的antilvl修改过的版本所改变。然而,这是一个很好的第一次检查,因为它将击败普通的脚本孩子。
protected boolean isAntiLVL(){
try{
Class.forName("smaliHook");
return true;
}catch(Exception e){}
return false;
}发布于 2012-01-01 18:58:10
我也建议你从Google I/O 2011上看看这个:
我想它可能对你很有用!
躲避海盗和阻止僵尸
http://www.youtube.com/watch?v=TnSNCXR9fbY
一些基本关键点
https://stackoverflow.com/questions/5991357
复制相似问题