java - 有人可以使用您的逆向工程 APK 中的密钥库文件签署他们的应用程序吗?
问题描述
使用 KeyStore 文件签署您的应用程序/APK 可以让您将应用程序标记为您的应用程序。如果有人使用 KeyStore 文件对您的 APK 进行逆向工程怎么办?唯一能阻止这种情况的是知道用于同一密钥的别名和密码来签署应用程序吗?如果密钥的别名和密码值没有在任何代码中硬编码,我想无论如何都很难找到这些。
解决方案
只有当应用程序开发人员不小心在 APK 文件中包含带有私钥的密钥库文件并且访问密钥的密码非常容易被破解时,这才有效。但默认情况下,包含 APK 签名密钥的密钥库不包含在应用程序中。
默认情况下,APK 签名使用非对称算法 RSA。这意味着拥有签名 APK 的人可以验证 APK 的应用开发者,但不能使用此开发者身份为其他 APK 签名。
当然,您可以尝试破解 RSA,但目前 Android 签名密钥使用 2048 到 4096 位,使用最知名的算法分解 RSA 密钥,即使是超级计算机也需要更长的时间才能使密钥有效(通常为 20-30 年)。
推荐阅读
- windows - CMD 变量未在 for /r 循环中解析
- git - Go 模块用 v0.0.0 替换显式版本-
- 在 go.mod 中 - javascript - 获取mac中所有可见应用程序窗口进程的窗口标题和应用程序/进程名称
- php - php spredsheet 输出损坏的文件
- windows - 通过 openssl 创建根证书和服务器证书以在 Web 服务器上启用 https 在 Chrome 浏览器上显示 Not Secure - 所以 HTTPS 不起作用
- youtube - 我们可以在机器人框架中的视频卡上启用全屏选项吗?
- javascript - 网页登录后如何获取用户ID令牌
- redis - 如果键数量增加,Redis 性能
- android - 在应用启动时从 Web 服务加载数据
- python - 将背景颜色更改为黑色