首页 > 解决方案 > 有人可以使用您的逆向工程 APK 中的密钥库文件签署他们的应用程序吗?

问题描述

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

标签: javaandroidsecuritykeystore

解决方案


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

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

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


推荐阅读