PYTHON实现swf提取

#! /usr/bin/env python
#coding=utf-8

import sys,os  ##参数处理for windows,和操作系统交互
import re  ##正则表达式处理工具
import struct  ##二进制数据操作

def extract_swf(filename, buf, offset):
    try:
        length = struct.unpack_from('<L', buf, offset+4)[0]
        swfname = filename + '_offset_0x%x.swf=' % offset
        open(swfname,'wb').write(buf[offset:offset + length])
        print '[+] Find embeded swf file at offset 0x%x ' % offset
        print '[+] Save embeded swf file to ' + swfname
    except:
        pass
        

def usage():
    print 'Usage: extract_swf.py  [file]'


if __name__ == '__main__':
    print '\nextract_swf.py 1.0\n'
    
    if len(sys.argv) <> 2:
        usage()
        sys.exit(0)

    if (not os.path.exists(sys.argv[1])):
        print '[-] Invalid file path: %s!' % sys.argv[1]
        sys.exit(0)

  
    filename = sys.argv[1]
    
    print '[+] Searching embeded swf file in ' + sys.argv[1]

    
    buf = open(filename, 'rb').read()
    pattern = re.compile('FWS|CWS')
    match_obj = pattern.search(buf, 0)

    while match_obj  <> None:   ##循环提取(若文件中包含多个SWF文件)
        try:
            extract_swf(filename, buf, match_obj.start())
        except:
            pass

        match_obj = pattern.search(buf, match_obj.end())  ##下一个匹配
        


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SWFTools is a collection of utilities for working with Adobe Flash files (SWF files). The tool collection includes programs for reading SWF files, combining them, and creating them from other content (like images, sound files, videos or sourcecode). SWFTools is released under the GPL. The current collection is comprised of the programs detailed below: • PDF2SWF A PDF to SWF Converter. Generates one frame per page. Enables you to have fully formatted text, including tables, formulas, graphics etc. inside your Flash Movie. It's based on the xpdf PDF parser from Derek B. Noonburg. • SWFCombine A multi-function tool for inserting SWFs into Wrapper SWFs, contatenating SWFs, stacking SWFs or for basic parameter manipulation (e.g. changing size). • SWFStrings Scans SWFs for text data. • SWFDump Prints out various informations about SWFs, like contained images/fonts/sounds, disassembly of contained code as well as cross-reference and bounding box data. • JPEG2SWF Takes one or more JPEG pictures and generates a SWF slideshow from them. Supports motion estimation compression (h.263) for better compression of video sequences. • PNG2SWF Like JPEG2SWF, only for PNGs. • GIF2SWF Converts GIFs to SWF. Also able to handle animated gifs. • WAV2SWF Converts WAV audio files to SWFs, using the L.A.M.E. MP3 encoder library. • AVI2SWF Converts AVI animation files to SWF. It supports Flash MX H.263 compression. Some examples can be found at examples.html. (Notice: this tool is not included anymore in the latest version, as ffmpeg or mencoder do a better job nowadays) • Font2SWF Converts font files (TTF, Type1) to SWF. • SWFBBox Allows to read out, optimize and readjust SWF bounding boxes. • SWFC A tool for creating SWF files from simple script files. Includes support for both ActionScript 2.0 as well as ActionScript 3.0. • SWFExtract Allows to extract Movieclips, Sounds, Images etc. from SWF files. • AS3Compile A standalone ActionScript 3.0 compiler. Mostly compatible with Flex. SWFTools
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值