压缩的Swf文件利用Python解压

博主分享了在尝试修改SWF文件时遇到的问题,由于文件被压缩,无法直接编辑。为了解决这个问题,博主编写了一个Python脚本,利用zlib库对SWF文件进行解压。脚本读取原始SWF文件,解压内容并将其写入新的SWF文件中,实现了对压缩SWF文件的解压处理。

想修改SWF文件的时候,突然发现全是压缩过的字符,完全不好改,于是只好自己写了个解压脚本。。。

import zlib


# 3个字节(文件标志,CWS 压缩文件,FWS 未压缩文件):43 57 53
# 1个字节(文件版本号):06
# 4个字节(未压缩文件长度):1A 99 D0 00
# 后面全是压缩后的文件

swf_file_name = "./上古神器2完美版.swf"
decompress_swf_file_name = "./上古神器2完美版_decompress.swf"


def decompress_swf(file_name):
    decompress_bytes = bytearray()

    decompress_bytes.extend(b"\x46\x57\x53")
    decompress_bytes.extend(b"\x06")

    with open(file_name, "rb") as f:
        decompress = zlib.decompressobj()
        f.read(4)
        decompress_bytes.extend(f.read(4))
        file_bytes = f.read(1024)
        while file_bytes:
            decompress_bytes.extend(decompress.decompress(file_bytes))
            file_bytes = f.read(1024)
        decompress_bytes.extend(decompress.flush())

    with open(decompress_swf_file_name, "wb") as f:
        f.write(decompress_bytes)


decompress_swf(swf_file_name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值