Java 基于android-apk的反逆向工程

Java 基于android-apk的反逆向工程,java,android,security,reverse-engineering,Java,Android,Security,Reverse Engineering,我正在尝试各种方法来阻止我的apk文件中的逆向工程 我可以将哪些“坏代码”注入到apk的源代码或smali文件中,以防止攻击者进行反向工程 我看到一些研究论文,当读到坏代码时,可能会使反编译器崩溃 我可以使用哪些方法来限制反编译过程,而不影响apk原始函数本身 免责声明:这只是出于自我学习的目的。 android开发非常新。 欢迎您提出任何建议。“一些研究论文”甚至没有提供您所谈论的内容的参考。试着用反编译它,看看你的方法是多么毫无意义。适当的模糊处理和将安全相关的功能移动到本机程序集中是最有效

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

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

我看到一些研究论文,当读到坏代码时,可能会使反编译器崩溃

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

免责声明:这只是出于自我学习的目的。 android开发非常新。
欢迎您提出任何建议。

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

不要这样做。你的应用程序中没有那么独特的东西,任何有足够时间的人都无法复制。只要在网络端点上实现适当的安全性,就不用担心了。你做这件事永远不会得到任何投资回报。