首页 > 解决方案 > 安卓apk上的反逆向工程

问题描述

我正在尝试各种方法来阻止对我的 apk 文件进行逆向工程。

我可以将哪些“坏代码”注入到我的 apk 源代码或 smali 文件中以防止攻击者进行逆向工程。

我看到一些研究论文可能会在读取错误代码时使反编译器崩溃。

我可以使用哪些方法来限制反编译过程而不影响 apk 原始函数本身?

免责声明:这仅用于自学目的。对android开发非常陌生。欢迎任何建议。

标签: javaandroidsecurityreverse-engineering

解决方案


“一些研究论文”并没有提供您所谈论的最少参考。试着用Luyten反编译它,看看你的方法是多么的无意义。适当的混淆和将与安全相关的功能移动到本机程序集中是最有效的方法,可以及时为逆向工程增加工作量。使 API 调用依赖于代码签名也非常有效。最近 NSA 开源了Ghidra,其中可能还包含相关工具来测试所采用的预防方法的有效性。普通添加无用的复杂性几乎没有效果,同时仍试图保持代码库的可维护性。也有根设备提供了一个完全不同的攻击向量 - 和SafetyNet测试是有问题的(它在模拟器上的预发布检查中一直失败),但是本文仍然提供了一个可靠的安全功能检查列表。毕竟,大多数情况下,Android 设备都没有不锈钢制成的防破坏外壳。


推荐阅读