有人可以使用您的逆向工程 APK 中的密钥库文件签署他们的应用程序吗?

Can Someone Sign Their App With A Keystore File From Your Reverse Engineered APK?

使用 KeyStore 文件对您的 app/APK 进行签名可以让您将应用标记为您的应用。如果有人使用 KeyStore 文件对您的 APK 进行逆向工程怎么办?阻止这种情况的唯一方法是知道用于对应用程序进行签名的同一密钥的别名和密码吗?如果密钥的别名和密码值没有硬编码在任何代码中,我想无论如何都很难找到它们。

只有当应用程序开发人员不小心在 APK 文件中包含一个带有私钥的密钥库文件并且访问该密钥的密码很容易被破解时,这才会起作用。但默认情况下,包含 APK 签名密钥的密钥库不包含在应用程序中。

默认情况下,APK 签名使用 RSA,这是一种非对称算法。这意味着拥有已签名 APK 的人可以验证该 APK 的应用开发者,但不能使用此开发者身份签署其他 APK。

当然你可以尝试破解 RSA 但目前 Android 签名密钥使用 2048 到 4096 位,使用最著名的算法分解 RSA 密钥,即使是超级计算机也需要更多年密钥有效(通常为 20-30 年)。