V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tomiaa
V2EX  ›  问与答

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

  •  
  •   tomiaa · 4 天前 · 1113 次点击

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

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

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

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

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

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

    那么修改密码的时候应该可以做到先解密,再重新加密,而不需要解压的步骤
    aec4d
        12
    aec4d  
       3 天前
    有,向上面说的,加密密钥是随机生成的,密码是获取加密密钥用的
    https://github.com/C2SP/C2SP/blob/main/age.md
    这是一个主流的实现,不过默认实现没有修改密码的功能(自己实现一下没什么难度)
    kokutou
        13
    kokutou  
       3 天前 via Android
    你用 128 位密码压缩一个压缩包
    然后用自己的秘密来压缩这个存了 128 位密码的文本
    这样你改密码就不需要重新压缩整个压缩包了
    😅
    jim9606
        14
    jim9606  
       3 天前 via Android
    你如果不纠结的话,你可以创一个略大于文件大小的 vhdx,格成 ntfs 并打开压缩,然后扔文件进去,然后开启 bitlocker 加密(仅已用空间)。
    这个 vhdx 就是你想要的可以瞬间改密码的压缩包了,而且不用解压就能用。
    kulous
        15
    kulous  
       3 天前
    写一个自动脚本就好了,不需要自己每个去操作。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3388 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:55 · PVG 18:55 · LAX 02:55 · JFK 05:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.