1

嘿伙计们,我正在搞乱 apktools 但我有一个小问题:

我可以反编译和重新编译一个 apk,但是当我想在我的设备上安装它时,我收到一个无法安装的错误。

我用新的apk替换了旧apk的resources.arcs,但我得到了同样的错误。

然后我退出了apk并可以将其安装在我的设备上,但在我可以安装它之前,我必须卸载我手机上的原始应用程序,因为我的手机上存在一个具有相同包但不同密钥的应用程序。

有没有办法可以修改 apk 并使用它的旧密钥,这样我就可以安装修改后的应用程序而无需卸载它的“旧”版本?

4

2 回答 2

0

长话短说:不,你不能。为了签署一个应用程序(或签署任何东西,事实上),你需要一个私钥。在您的情况下,原始开发人员的私钥,即他用来签署应用程序的私钥。除非他让您访问它,否则您无法获得它,这意味着您无法签署修改后的应用程序。

如果可能的话,想象一下它会引起的问题。我可以使用 Gmail 应用程序,添加恶意软件,对其进行签名并伪装成 Google,让用户相信我是 Google。这将是可怕的。

于 2015-05-04T19:39:37.727 回答
0

可以使用与原始密钥不同的密钥对未签名的 APK 进行签名,但您将无法将其上传到 Play 商店,也无法将其安装在安装了相同应用程序的设备上,除非软件包名称 (应用程序 ID)已更改

Play 商店不允许上传具有相同应用程序 ID 且使用不同密钥签名的两个应用程序。此外,Play 商店不允许上传具有相同应用程序 ID、使用原始密钥签名的应用程序,除非版本高于商店中当前的版本。

有没有办法可以修改 apk 并使用它的旧密钥 [签署应用程序]

除非您可以访问原始密钥,否则不会。

于 2015-05-04T19:43:22.603 回答