最近,我发现我的应用程序被一些反lvl工具破解了。
此工具可以轻松破解我的应用程序中的“Android许可证验证库”,并生成新的破解apk。
它还提供了许多功能挂钩,以防止开发人员检测到他们的应用程序被破解。如获取文件长度功能或检查签名功能......
任何人都知道怎么打败它?
感谢。
答案 0 :(得分:9)
我不喜欢“go go the google i / o presentation”的标准响应,因为提到的许多技术都被antilvl击败了。在我看来这是一个糟糕的建议,因为反射和crc检查等主题已经被打败。
对antilvl做了进一步的研究,我遇到了svn trunk到antilvl,在readme.txt文件中有一个非常具有描述性的提示。根据作者的说法,这是为了防止antilvl,由我打扮。这将返回true / false,具体取决于smaliHook.java的存在,antilvl用于挂钩正常的包检查。这仅作为第一道防线,因为类名可以使用antilvl的修改版本进行更改,这可能会在某处传播。然而,这是一个很好的第一次检查,因为它会击败普通的脚本小子。
protected boolean isAntiLVL(){
try{
Class.forName("smaliHook");
return true;
}catch(Exception e){}
return false;
}
答案 1 :(得分:7)
一般而言 - 无法在野外完全保护您的应用程序。用户可能在他/她的设备上具有超级用户权限,然后所有投注都已关闭。你可以介绍一些手册“hackarounds”,但是如果你的应用程序是一个备受瞩目的应用程序,那么无论如何你都会被破解。
它与你和骇客之间的权力发挥。如果你太苛刻地打击破解者,你也可能会损害你的公平用户。
答案 2 :(得分:3)
我还会推荐您查看Google I / O 2011中的内容:
认为它可能对你非常有用!
逃避海盗和阻止吸血鬼
http://www.youtube.com/watch?v=TnSNCXR9fbY
一些基本要点