逆向工程是android apk的一大难题。任何人都可以使用 dex2jar 和 jd 轻松地从 apk 文件生成代码。 Proguard 可以通过更改变量/方法名称来提供一点安全性。问题是 .so 文件。例如,我有一个 so 文件,其中包含加密和解密方法。如果有人得到我的 apk,那么他可以很容易地得到 so 文件,并通过创建一个具有相同包名的新项目(未隐藏在 native 加载类中)他可以毫无问题地使用这些功能。
有什么解决方案可以防止这种情况发生吗?有什么办法可以让我从 native 代码中识别我的项目并拒绝来自无效项目的请求吗? Eclipse 使用 keystore 和密码对 apk 进行签名。我可以检查 native 代码的标志信息吗?
最佳答案
我的 2 美分是 Proguard
只是一个基本的混淆器(直到一个点)。还有许多其他服务/工具(可能不是完全免费的)但可以很好地混淆、应用程序完整性保护、篡改检测和篡改防御等。查看 Arxan和 DashO Pro .
您可以尝试使用它们来获得更多保护。他们甚至可以使用 Root设备。希望这会有所帮助。
关于android - 防止android项目加载原生库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20173659/