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

如何精简 apk 中的文件,还保留原包签名

  •  
  •   cantonadong · 2018-01-30 18:35:31 +08:00 · 11291 次点击
    这是一个创建于 2515 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如删除微信里的所有音频文件

    15 条回复    2018-01-31 10:00:39 +08:00
    wevsty
        1
    wevsty  
       2018-01-30 18:43:46 +08:00
    签名就是为了防止别人随便改动包的,没有私钥的情况下改动安装包还保留签名是不可能的
    bao3
        2
    bao3  
       2018-01-30 18:44:42 +08:00
    你试试能不能把一段文字删减后生成的 MD5 还要保持一样。
    cantonadong
        3
    cantonadong  
    OP
       2018-01-30 18:47:10 +08:00
    在 安卓 5.0 里,幸运破解器破解了签名的情况下,可以直接用解压软件删除 apk 的文件,直接安装没问题。
    7.0 及时破解了也没用,有没有什么方法?我不想改什么,只是删点用不到的东西。
    honeycomb
        4
    honeycomb  
       2018-01-30 18:55:02 +08:00 via Android
    @cantonadong
    做不到的,提到的 5.0 里是禁用了验证签名,而非签名不起作用。
    est
        5
    est  
       2018-01-30 18:56:41 +08:00 via Android
    7 以下包签名都能伪造。 貌似是 class.dex 问题
    cantonadong
        6
    cantonadong  
    OP
       2018-01-30 18:58:51 +08:00
    @est
    @honeycomb 所以 7.0 开始只能用原版 apk 了?
    aa6563679
        7
    aa6563679  
       2018-01-30 19:01:10 +08:00 via iPhone
    找到验证签名的代码也改了
    honeycomb
        8
    honeycomb  
       2018-01-30 19:09:38 +08:00 via Android
    @cantonadong 这两件事情无关,如果能找到适用于 7.0 禁用代码签名的方法或许可以依旧,另一方面,腾讯也可能在它的软件包里实现了更好的反篡改保护
    cantonadong
        9
    cantonadong  
    OP
       2018-01-30 19:12:29 +08:00
    @honeycomb 5.0 里,一直有效。包括最新的微信 662,和调用微信的其他服务(比如:微信读书)。我只删除微信里的一些无用 so 和音效文件之类的。7.0 用幸运禁用了签名也不管用,网上也搜不到别的方法。

    作为用户,个人感觉这方面是安卓的倒退啊,哈哈哈哈。
    honeycomb
        10
    honeycomb  
       2018-01-30 22:54:58 +08:00 via Android
    @cantonadong (如果是改善了安全机制的话)这当然是进步,数字签名这种命根子怎么可以没有
    just1
        11
    just1  
       2018-01-30 22:56:28 +08:00 via Android
    如果每个版本都自己签名就没差了吧。
    wweir
        12
    wweir  
       2018-01-30 23:00:20 +08:00 via Android
    如何让一段文本的内容和它的 md5 值相同?
    choury
        13
    choury  
       2018-01-30 23:04:16 +08:00
    要是改了内容还能通过签名认证,这个签名还有什么用呢
    MonoLogueChi
        14
    MonoLogueChi  
       2018-01-30 23:12:41 +08:00 via Android
    @cantonadong 我大概看懂了你的需求,你是需要在签名错误或者是没有签名,在或者是签名不同的情况下依旧可以覆盖安装 app。最简单的办法就是幸运破解器或者是幸运破解器单独拆出来的去除签名验证模块+xposed 框架。稍微麻烦点的你可以尝试用幸运破解器去破解内核,关闭签名验证,也正如你前面所说,安卓 7.0 会不管用。正是因为安卓系统越来越安全了,所以很多方便的东西都不能用了,比如破解签名验证,app 降级等等。

    如果你只是单纯的为了修改 app,最好的建议是修改之后用自己的密钥去签名,然后卸载原版重装。如果是担心数据,可以使用钛备份之类的软件备份数据,重新安装完了之后再恢复数据。
    cantonadong
        15
    cantonadong  
    OP
       2018-01-31 10:00:39 +08:00
    @MonoLogueChi 有的 apk 可以,有的不行。比如微信,哈哈哈。改了签名可以装上,但是不能被别的强依赖应用调用,比如微信读书。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3592 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.