更改 android 中的 .SO 文件会损坏 apk

逆向工程 安卓 反编译
2021-07-05 22:05:53

我创建了一个 android 应用程序(简单的 cocos2d-x 项目),在这个项目中我有一个接受字符串然后渲染它的方法,在我的应用程序的初始化状态我将“abcde”作为参数传递给这个方法。这在 windows 和 android 设备中工作正常。但是当我打开放置在 apk 中的 SO 文件并编辑“abcde”字符串的任何字符,然后用 apk 文件中的旧 so 替换 so 文件时,apk 不会安装在 android 设备上。尝试安装 apk 时出现此错误:未安装应用程序。

谁能解释我为什么会这样??

1个回答

对 Android APK 进行签名以确保开发人员(私钥的持有者)是唯一可以更新应用程序的人。当 apk 被签名时,就像 jar 文件的签名一样,所有文件的哈希值都会被提取。

可能发生的情况是您正在修改文件而不是对应用程序进行签名 - 这将导致包管理器在检查签名时由于哈希不匹配而重置。