有什么不用解压缩就能修改压缩包密码的软件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tomiaa
V2EX    问与答

有什么不用解压缩就能修改压缩包密码的软件?

  •  
  •   tomiaa 2024 年 11 月 17 日 2295 次点击
    这是一个创建于 427 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前用的 winrar 有改压缩包密码,但是他会先解压再压缩加密去改,文件一大就很慢

    15 条回复    2024-11-17 20:16:19 +08:00
    NoOneNoBody
        1
    NoOneNoBody  
       2024 年 11 月 17 日
    没有
    如果有最好也不要再用这个压缩软件,因为很容易绕过

    另外,可以的话,那对盗版二手盗版就更简单了,
    tomiaa
        2
    tomiaa  
    OP
       2024 年 11 月 17 日
    @NoOneNoBody 绕过是啥意思,只能解压再重新压缩设置密码了吗,我这存的很多文件都是好几 G 以上的解压再压缩太麻烦了我擦
    ysc3839
        3
    ysc3839  
       2024 年 11 月 17 日 via Android   4
    因为密码是加密了文件数据,要改密码就得先解密再加密。如果某个压缩软件不需要解密就能改密码,那说明没用密码加密数据,那完全可以绕过验证密码的逻辑,直接拿到未加密的数据。
    adoal
        4
    adoal  
       2024 年 11 月 17 日
    目前主流打包软件加密的原理是用你输入的密码派生出的对陈密钥对数据加密,解压时你输入同样的密码,派生出来同样的密钥,就可以把数据解开了。通常不会用更复杂的办法。如果有哪个压缩软件支持,那大概率如#1 所说很容易绕过。注意我说的是通常、大概率。

    其实理论上……当然是可以做出来的,比如 Windows 的 NTFS 文件加密。
    iOCZS
        5
    iOCZS  
       2024 年 11 月 17 日
    感觉密码也是文件的一部分,改了密码,也就要创建新的文件
    churchmice
        6
    churchmice  
       2024 年 11 月 17 日 via Android   4
    当然有可能,看软件的实现方式
    一种方式是用随机数当作密码( MEK, media encryption key )加密文件内容,而这个随机数又用用户的密码加密(KEK, key encryption key),这样用户更换密码就只涉及到 KEK,MEK 都不用动

    比如 ssd 的全盘加密用的就是这种方法
        7
    raptium  
       2024 年 11 月 17 日
    如果是用随机密钥加密数据,再用密码加密随机密钥后与加密的数据一同储存,是不是就可以做到快速修改密码了?
    这样会比直接用密码派生密钥加密差一点吗?
    NoOneNoBody
        8
    NoOneNoBody  
       2024 年 11 月 17 日
    @tomiaa #2
    压缩密码是影响压缩过程的,就是不同密码,出来的字节会大幅不同
    而你说的方式只是启动鉴权,大部分字节是不变的,这样很容易找出相同的字节+通用密码进行解压,就是绕过了

    建议写个脚本,扔后台进行批量换密码,一般压缩软件如 zip/7z/winrar 都支持命令行
    我都是相同密码的包扔到同一个目录,然后脚本批量解压的
    leonshaw
        9
    leonshaw  
       2024 年 11 月 17 日 via Android
    @raptium 暴露了改密码前后的文件是相同内容
    ouqihang
        10
    ouqihang  
       2024 年 11 月 17 日
    PDF 加密:你说的有道理,去掉“加密”连密码都不需要。
    https://www.bilibili.com/video/BV1Ye411V7rV/
    woctordho
        11
    woctordho  
       2024 年 11 月 17 日 via Android
    感觉这个问题没有这么简单,按理来说压缩和加密应该可以做到先压缩,再加密,而解压的时候就是先解密,再解压

    那么修改密码的时候应该可以做到先解密,再重新加密,而不需要解压的步骤
    aec4d
        12
    aec4d  
       2024 年 11 月 17 日
    有,向上面说的,加密密钥是随机生成的,密码是获取加密密钥用的
    https://github.com/C2SP/C2SP/blob/main/age.md
    这是一个主流的实现,不过默认实现没有修改密码的功能(自己实现一下没什么难度)
    kokutou
        13
    kokutou  
       2024 年 11 月 17 日 via Android
    你用 128 位密码压缩一个压缩包
    然后用自己的秘密来压缩这个存了 128 位密码的文本
    这样你改密码就不需要重新压缩整个压缩包了
    jim9606
        14
    jim9606  
       2024 年 11 月 17 日 via Android
    你如果不纠结的话,你可以创一个略大于文件大小的 vhdx,格成 ntfs 并打开压缩,然后扔文件进去,然后开启 bitlocker 加密(仅已用空间)。
    这个 vhdx 就是你想要的可以瞬间改密码的压缩包了,而且不用解压就能用。
    kulous
        15
    kulous  
       2024 年 11 月 17 日
    写一个自动脚本就好了,不需要自己每个去操作。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2751 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 08:19 PVG 16:19 LAX 00:19 JFK 03:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86