apk 反编译后移除了 META-INF 下的所有文件,然后用 apktool 重新打包,再重新签名,签名时也显示签名成功,但安装时始终提示签名不一至,改了 app_name 后还是如此。原安装卸载后还是如此。咋回事呢?用的 github 上的 uber-apk-signer-1.3.0.jar 进行的签名。 另:重新签名后的 apk 再反编译后,没了 META-INF 这个目录,但我看好像说 v2 签名不会生成 META-INF 。
1
stinkytofu 2023-11-18 20:06:04 +08:00
你用的这个 apk 的原秘钥文件?
|
2
flyqie 2023-11-18 20:10:14 +08:00
你是要重打包后直接替换?
不可能实现,要是能实现的话安卓安全体系全崩了。 |
3
shanyang88 OP @flyqie 不是,app_name 我都改了自然不是要替换。我用我自己的证书签名,只需要安装时不报签名问题就行。
|
4
shanyang88 OP @stinkytofu 不是。当然是用的我自己的。
|
5
stinkytofu 2023-11-18 20:34:00 +08:00
你用的这个 apk 的原秘钥文件?
@shanyang88 #4 那你这不是搞笑么, 签名秘钥都是你自己的, 当然报签名不一至啊 |
6
felixlong 2023-11-18 21:07:28 +08:00
@shanyang88 XD 。区分 app 得是 AppId 不是 AppName 。你是不是对 Android 一点都不熟?
|
7
vcn8yjOogEL 2023-11-18 21:12:45 +08:00
签名本来就是为了防篡改, 你想做改版应该换内部 ID 才对
|
8
cyningxu 2023-11-18 21:14:37 +08:00
哈哈,确定改的是 appname 不是 pkgname ?
|
9
heIIokitty 2023-11-18 21:29:25 +08:00
只要你不是拿原 jks 签名打包,Android 系统是不会让你覆盖安装的,这个是系统层面验证的,你无法绕过去的,唯一标识不是靠 AppName 来判定的,是按 appid 来判定的,你 appid 不变,自然认为是同一个 app 。
|
10
stinkytofu 2023-11-18 21:50:19 +08:00
@heIIokitty #9 准确说应该是包名, 其实我也挺奇怪的, 楼主竟然会很多安卓开发者都不会的反编译然后重新打包的技能, 还能修改部分内容. 但是却连基本的签名机制都不懂, 就好像参加了中考, 却不会一次二次方程一样.
|
11
shanyang88 OP @felixlong 是不熟的,之前就没搞过。
|
12
Levox 2023-11-19 17:41:16 +08:00
你先卸载,重启后再安装看看
|
13
sunny352787 2023-11-19 20:11:06 +08:00
这是干啥呢?拿别人的 APK 过来然后改名重签名?你干的不像好事啊。是盗版还是黑产啊?
|
14
l4ever 2023-11-20 09:31:50 +08:00
原始版本->签名 1->安装 apk
你解包之后重签名, 确定用的是签名 1 的证书重新签的吗? 如果不是, 当然不能覆盖安装. 不然证书就失去了意义呀. 但是你可以卸载原始版本, 再安装你重签的版本. |
15
heIIokitty 2023-11-20 09:46:51 +08:00
@stinkytofu #10 有可视化工具的,在 Github 上一大堆
|