import zipfile
import os
def decrypt_nested_zips(start_zip):
current_zip = start_zip
while True:
try:
with zipfile.ZipFile(current_zip) as zf:
file_list = zf.namelist()
if len(file_list) != 1:
print("压缩包内文件数量不为 1,无法继续解密。")
break
next_zip = file_list[0]
password = os.path.splitext(next_zip)[0].encode()
try:
zf.extractall(pwd=password)
print(f"成功解密 {current_zip},密码为 {password.decode()}")
current_zip = next_zip
except Exception as e:
print(f"解密 {current_zip} 时出错: {e}")
break
except FileNotFoundError:
print(f"未找到压缩包 {current_zip}")
break
except zipfile.BadZipFile:
print(f"{current_zip} 不是有效的压缩包")
break
if __name__ == "__main__":
# 请替换为实际的起始压缩包文件名
start_zip = "压缩包套娃.zip"
decrypt_nested_zips(start_zip)
密码为下一个压缩包名字,运行脚本即可
解得压缩包12475.zip,用ARCHPR继续12475.zip暴力破解即可得到密码:b0yzz
得到
放入Audacity中查看频谱图
得到flag,BallsRealBolls