sakura32 发表于 2023-7-12 23:20

7zip的命令行指令中有没有‘跳过完整性验证’的指令

如题,调用7zip使用t指令测试完密码后会进行文件完整性验证,有没有指令能跳过验证的。
chatgpt和new bing就别问了,我已经问过了两个都在瞎说(可能是我问的方法不对)

tl;dr 发表于 2023-7-13 06:35

a22488 发表于 2023-7-13 08:52

这是我去问的 看看对不对
import subprocess

# 要解压的压缩文件路径和解压后文件存放路径
compress_file = "/path/to/compressed.7z"
extract_dir = "/path/to/extracted"

# 密码(如果有的话)
password = "your_password"

# 调用7zip命令进行解压,并通过管道将输出传递给grep命令以跳过完整性验证
command = f'7z x -so <(echo {password}) {compress_file} | grep -v "encryption key is missing" > {extract_dir}/output.txt'
subprocess.run(command, shell=True, check=True)

pjy612 发表于 2023-7-13 09:11

{:301_1008:}这没找到的话 那大概率是不支持。
可能需要换用其他的命令行工具。

估计您可能是想要 好压里面 那个 保留解压失败的文件 的功能。
要么就是不直接用现成的命令行工具,而是 用 解析 zip 或者 7z 的库 去手动解析包和提取文件。

only998 发表于 2023-7-13 09:23

如果是.7z格式的话,他的压缩是每个文件都相关的,就是有部分损坏基本上就无法解压出有效的数据了,所以去掉完整性验证强制解压没意义。

sakura32 发表于 2023-7-13 19:19

找不到就算啦,主要是程序(类似于多文件爆破密码)是先用t指令测试密码,然后再用x指令解压,要是能跳过完整性验证能快一点。
页: [1]
查看完整版本: 7zip的命令行指令中有没有‘跳过完整性验证’的指令