christin
V2EX  ›  问与答

压缩包改了后缀名 unzip 无法解压怎么办?

  •  
  •   christin · Oct 20, 2021 via iPhone · 2542 views
    This topic created in 1849 days ago, the information mentioned may be changed or developed.

    ubuntu 内,后缀名改成 jpg 传输过来再改成 zip,用 file 命令文件依然被认为是图片。无法使用 unzip 和 jar -xvf 解压,但是在 Windows 上用软件可以正常解压。大佬们有办法解决吗

    14 replies  •  2021-10-21 14:15:25 +08:00
    xiongsa18
    xiongsa18
    Oct 20, 2021
    1
    要不试试不改后缀名传输过来?
    Xusually
    Xusually
    Oct 20, 2021
    2
    改后缀前 / 改后缀后传输前 / 传输后 / 传输后改 zip 后
    分别计算一下文件 hash,比如 md5,看下分别是多少,别中途被一些工具或者功能认为是图片,动了内容
    christin
    christin
    OP
    Oct 20, 2021 via iPhone
    3
    @xiongsa18
    @Xusually 传输前内容不是我可控的,我是对接收到的文件进行处理
    ysc3839
    ysc3839
    Oct 20, 2021 via Android
    4
    试试 7zip ?
    christin
    christin
    OP
    Oct 20, 2021 via iPhone
    5
    @ysc3839 7zip 也试过了不行
    Mithril
    Mithril
    Oct 20, 2021
    6
    这命令我记得是查看文件头的,你直接输出一下十六进制看看它到底是不是你要的那个文件。
    zip 文件头是 PK,当时 zip 的作者名字缩写。如果 file 认为是图片的话大概率它真的是图片。
    chinvo
    chinvo
    Oct 20, 2021 via iPhone
    7
    大概率传输过程被当作图片压缩了
    christin
    christin
    OP
    Oct 20, 2021 via iPhone
    8
    @Mithril 但是我在 Windows 端用软件是可以正常解压的
    christin
    christin
    OP
    Oct 20, 2021 via iPhone
    9
    @chinvo 但是在 Windows 端改后缀名用解压软件是可以正常解压出来的
    ysc3839
    ysc3839
    Oct 20, 2021 via Android
    10
    @christin 把文件发来看看?
    jim9606
    jim9606
    Oct 20, 2021
    11
    我就先假设你这个传输过来的 jpg 没有被动过导致 zip 部分被拿掉。
    你可以试试先用 binwalk 将 zip 部分提取出来。
    christin
    christin
    OP
    Oct 20, 2021 via iPhone
    12
    @ysc3839 明天我发一下试试
    billlee
    billlee
    Oct 21, 2021
    13
    用 bsdtar 吧
    iwishing
    iwishing
    Oct 21, 2021
    14
    不允许传送 zip 文件的话,把后缀改成*.zip.1 这样的啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   950 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 19:49 · PVG 03:49 · LAX 11:49 · JFK 14:49
    ♥ Do have faith in what you're doing.