安卓apk上的反逆向工程

Posted

技术标签:

【中文标题】安卓apk上的反逆向工程【英文标题】:anti-reverse engineering on android apk 【发布时间】:2019-08-16 21:15:16 【问题描述】:

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

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

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

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

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

【问题讨论】:

别这样。您的应用程序中没有什么是独一无二的,任何有足够时间的人都无法复制。只需在您的网络端点上实施适当的安全性,就不用担心它了。你这样做永远不会获得任何投资回报。 【参考方案1】:

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

【讨论】:

以上是关于安卓apk上的反逆向工程的主要内容,如果未能解决你的问题,请参考以下文章

Smali代码语法

# yyds干货盘点 # 手把手教你进行安卓逆向之篡改apk名称和图标

安卓逆向,瑞数破解 Frida食药监apk数据抓取,采集逆向,签名

安卓逆向 -- APK文件结构

关于安卓逆向你需要知道的工具及网站

安卓逆向——AliCrackme_1.apk