V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shanyang88
V2EX  ›  Android

apk 反编译后重新签名似乎总是有问题

  •  
  •   shanyang88 · 2023-11-18 19:30:56 +08:00 · 8785 次点击
    这是一个创建于 402 天前的主题,其中的信息可能已经有所发展或是发生改变。

    apk 反编译后移除了 META-INF 下的所有文件,然后用 apktool 重新打包,再重新签名,签名时也显示签名成功,但安装时始终提示签名不一至,改了 app_name 后还是如此。原安装卸载后还是如此。咋回事呢?用的 github 上的 uber-apk-signer-1.3.0.jar 进行的签名。 另:重新签名后的 apk 再反编译后,没了 META-INF 这个目录,但我看好像说 v2 签名不会生成 META-INF 。

    15 条回复    2023-11-20 09:46:51 +08:00
    stinkytofu
        1
    stinkytofu  
       2023-11-18 20:06:04 +08:00
    你用的这个 apk 的原秘钥文件?
    flyqie
        2
    flyqie  
       2023-11-18 20:10:14 +08:00
    你是要重打包后直接替换?

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

    但是你可以卸载原始版本, 再安装你重签的版本.
    heIIokitty
        15
    heIIokitty  
       2023-11-20 09:46:51 +08:00
    @stinkytofu #10 有可视化工具的,在 Github 上一大堆
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4185 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:13 · PVG 18:13 · LAX 02:13 · JFK 05:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.