Open Flash logo

SWF Parser

crates.io GitHub repository Build status

SWF parser implemented in Rust. Converts bytes to swf-types movies.

Usage

```rust use swfparser::parseswf; use swf_types::Movie;

fn main() { let swfbytes: Vec = ::std::fs::read("movie.swf").expect("Failed to read movie"); let movie: Movie = parseswf(&swf_bytes).expect("Failed to parse SWF"); } ```

Contributing

This repo uses Git submodules for its test samples:

```sh

Clone with submodules

git clone --recurse-submodules git://github.com/open-flash/swf-parser.git

Update submodules for an already-cloned repo

git submodule update --init --recursive --remote ```

This library is a standard Cargo project. You can test your changes with cargo test. The commands must be run from the rs directory.

Fuzzing

The Rust implementation supports fuzzing:

```

Make sure that you have cargo-fuzz

cargo install cargo-fuzz

Fuzz the swf parser

cargo fuzz run swf ```

Prefer non-master branches when sending a PR so your changes can be rebased if needed. All the commits must be made on top of master (fast-forward merge). CI must pass for changes to be accepted.