tos*_*tos 12 security android piracy
我正在处理的应用程序被antiLVL自动破解(虽然我在我的应用程序中没有使用LVL).
为了保护我的应用免受"一键盗版"的影响,我正在实施Google IO中解释的篡改检测技术.
我尝试使用getPackageInfo()和reflection(invoke())检查签名,但AntiLVL能够在两种情况下自动破解应用程序.
如何编写当前版本的antiLVL(1.4.0)不会自动破解的代码?我的意思是,除了使用JNI.
PS:我不是在谈论防止盗版.我只是希望盗版者手工挖掘代码,而不是使用自动破解器.
问题是,任何仅用于检查应用程序有效性的 API 都可以被颠覆并替换为始终返回您期望的结果的版本。我没有详细研究过 Anti-LVL,但我想它正在这样做,这就是为什么您尝试使用 Dalvik 的内置 API 来验证代码以实现此目的失败的原因。
为了使其发挥作用,您必须自己完成这项工作,仅使用具有多种用途且不易被破坏的 API。
一种方法是计算 .apk 文件或其中的classes.dex 文件的校验和,并根据某些外部资源(包含已知正确版本列表的在线服务器、首先下载到 SD 卡的文件)验证它执行等,.apk 文件中未包含在classes.dex 中的资源)。这可以防止代码修改,我相信这就是反 LVL 的工作原理。我自己没有尝试过,但怀疑它应该有效。
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |