コード例 #1
0
ファイル: swf.py プロジェクト: NicholasFengTW/corkami-1
def cws(d, v):
    """returns decompressed length, decompressed stream"""
    import zlib
    theoriclen = struct.unpack("<I", d.read(4))[0]
    dec = zlib.decompress(d.read())
    l = len(dec)
    if theoriclen != l + 8:
        raise(BaseException("Wrong Decompressed length"))
    decfile = "".join(
        ["FWS",
        v,
        struct.pack("<I", theoriclen),
        dec,
        ])
    d = struc.data(decfile)
    d.seek(4)
    with open("dec.bin", "wb") as fw:
        fw.write(decfile)
    return d
コード例 #2
0
def cws(d, v):
    """returns decompressed length, decompressed stream"""
    import zlib
    theoriclen = struct.unpack("<I", d.read(4))[0]
    dec = zlib.decompress(d.read())
    l = len(dec)
    if theoriclen != l + 8:
        raise (BaseException("Wrong Decompressed length"))
    decfile = "".join([
        "FWS",
        v,
        struct.pack("<I", theoriclen),
        dec,
    ])
    d = struc.data(decfile)
    d.seek(4)
    with open("dec.bin", "wb") as fw:
        fw.write(decfile)
    return d
コード例 #3
0
ファイル: swf.py プロジェクト: NicholasFengTW/corkami-1
    decfile = "".join(
        ["FWS",
        v,
        struct.pack("<I", theoriclen),
        dec,
        ])
    d = struc.data(decfile)
    d.seek(4)
    with open("dec.bin", "wb") as fw:
        fw.write(decfile)
    return d

SIGS = {"FWS":None,"CWS": cws}

with open(sys.argv[1], "rb") as f:
    d = struc.data(f.read())

sig = d.read(3)
if sig not in SIGS:
    raise(BaseException("Wrong Signature"))

version = d.read(1)

if version not in (chr(i) for i in xrange(10)):
    raise(BaseException("Wrong Version"))

do = SIGS[sig]
if do is not None:
    d = do(d, version)

s = struc.struc(d)
コード例 #4
0
        "FWS",
        v,
        struct.pack("<I", theoriclen),
        dec,
    ])
    d = struc.data(decfile)
    d.seek(4)
    with open("dec.bin", "wb") as fw:
        fw.write(decfile)
    return d


SIGS = {"FWS": None, "CWS": cws}

with open(sys.argv[1], "rb") as f:
    d = struc.data(f.read())

sig = d.read(3)
if sig not in SIGS:
    raise (BaseException("Wrong Signature"))

version = d.read(1)

if version not in (chr(i) for i in xrange(10)):
    raise (BaseException("Wrong Version"))

do = SIGS[sig]
if do is not None:
    d = do(d, version)

s = struc.struc(d)