当有人窃取我的 android 个应用程序的发布密钥时会发生什么坏事?

What evil happens when somebody steals my release key for android apps?

在能够在 Google Play 上发布 Android 应用程序之前,需要使用发布密钥对其进行签名。据说是为了安全。生成密钥时,必须输入密码。

这里有什么大惊小怪的? 请问一下,如果我的release key得到了stolen/copied会怎么样呢?假设有人甚至可以设法使用该密钥来签署 him/herself 的应用程序。这意味着什么不好?

我会争辩说,none,对吗? (考虑到我的开发者 account/console 凭证也没有被盗)
如果使用被盗发布密钥签名的其他人的应用程序能够更直接地访问我的应用程序(在用户设备上)的数据,那么可能会出现最大/唯一的风险。

他们可以获取您的 APK(在所有 Android 设备上公开可读)、修改它(例如,添加恶意软件)、签名并分发它。假设他们突破了 versionCode,任何尝试安装您的应用程序的被黑版本的人都会成功,因为从 Android 的角度来看,这是一次有效的升级。如果黑客可以获得您的分发渠道凭据(例如,破坏您的 Google Play 商店帐户),他们可以将更新发送给您的所有用户。

或者,他们可以创建自己的单独 APK 并使用您的签名密钥对其进行签名。现在,您的应用程序和他们的应用程序由相同的密钥签名。这开辟了其他攻击途径:

  • 如果您使用 android:sharedUserId,他们可以获取您应用程序在内部存储上的所有文件,这些文件通常不受其他应用程序(root 设备之外)的影响

  • 如果您使用 signature protectionLevel 的权限,他们的应用程序可以拥有相同的权限,并且可能以您只期望自己的套件的方式与您的应用程序交互使用的应用数量