android - 防止android项目加载原生库

标签 android security java-native-interface

逆向工程是android apk的一大难题。任何人都可以使用 dex2jar 和 jd 轻松地从 apk 文件生成代码。 Proguard 可以通过更改变量/方法名称来提供一点安全性。问题是 .so 文件。例如,我有一个 so 文件,其中包含加密和解密方法。如果有人得到我的 apk,那么他可以很容易地得到 so 文件,并通过创建一个具有相同包名的新项目(未隐藏在 native 加载类中)他可以毫无问题地使用这些功能。

有什么解决方案可以防止这种情况发生吗?有什么办法可以让我从 native 代码中识别我的项目并拒绝来自无效项目的请求吗? Eclipse 使用 keystore 和密码对 apk 进行签名。我可以检查 native 代码的标志信息吗?

最佳答案

我的 2 美分是 Proguard 只是一个基本的混淆器(直到一个点)。还有许多其他服务/工具(可能不是完全免费的)但可以很好地混淆、应用程序完整性保护、篡改检测和篡改防御等。查看 ArxanDashO Pro . 您可以尝试使用它们来获得更多保护。他们甚至可以使用 Root设备。希望这会有所帮助。

关于android - 防止android项目加载原生库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20173659/

相关文章:

python - 存储 MySQL 密码

java - FFMPEG 和 JNI - 将 AVFrame 数据传递给 Java 并返回

java - 如何在 Java 应用程序中嵌入 MySQL 数据库

android - Unresolved reference : arguments

android - 无法访问 POJO 类中的 getter

Android P - 从 Android 版本 9 中的 Assets 复制数据库后的 'SQLite: No Such Table Error'

javascript - 当浏览器窗口关闭时,表单/JavaScript 数据会发生什么?

android java正则表达式命名组

java - Weblogic 管理控制台未启动

Android 如何以编程方式释放声明的 USB 接口(interface)