A desktop application for decompiling, editing, and recompiling ActionScript 3 SWF files — all in one window.

- Drag-and-drop — open any AS3 SWF (or
.ssfarchive) by dragging it onto the window - Multi-class decompiler — decompiles every class in the SWF's DoABC tags with syntax highlighting
- Built-in code editor — edit any decompiled class inline with Ctrl+F search
- One-click recompile — compiles your edits with Apache Flex and re-patches the SWF bytecode
- Save as SWF or SSF — export the patched binary, or save back over the original
.ssf - VS Code theme browser — search and install VS Code color themes from the marketplace
- 3 built-in themes — Monokai Dark Soda, Catppuccin Mocha, Dracula
- Fully portable — single folder, no installer, runs from anywhere
- Download
AS3Weaver-portable.zipfrom the Releases page - Extract to any folder
- Run
AS3Weaver.exe - Drag a
.swfor.ssffile onto the window
No Java, Python, or Flex SDK installation required — everything is bundled.
Pre-built portable bundles are not yet available for Linux and macOS. You can build from source on those platforms — see Building from Source below.
| Tool | Version | Notes |
|---|---|---|
| Rust | 1.77+ | rustup recommended |
| Node.js | 18+ | For Tauri CLI |
| Python | 3.8+ | Standard library only |
| Apache Flex SDK | 4.16.1 | Set FLEX_HOME or place at C:\aflex_sdk (Win) / /opt/airsdk_compiler (Linux/macOS) |
| OpenJDK JDK | 21 | For jlink and the Flex compiler |
# Install Tauri CLI
cd app
npm install
# Development mode (hot-reload)
npm run dev
# Production build
cd src-tauri
cargo build --releaseWindows (PowerShell):
# Full build + bundle + ZIP (from app/)
.\build_portable.ps1
# Skip Rust compile, just re-bundle
.\build_portable.ps1 -SkipCargoOutput: portable/windows/AS3Weaver/ folder and portable/windows/AS3Weaver-portable.zip
Linux (bash):
# Full build + bundle + tar.gz (from app/)
./build_portable_linux.sh
# Skip Rust compile, just re-bundle
./build_portable_linux.sh --skip-cargoOutput: portable/linux/AS3Weaver/ folder and portable/linux/AS3Weaver-portable.tar.gz
macOS (bash):
# Full build + bundle + tar.gz (from app/)
./build_portable_macos.sh
# Skip Rust compile, just re-bundle
./build_portable_macos.sh --skip-cargoOutput: portable/macos/AS3Weaver/ folder and portable/macos/AS3Weaver-portable.tar.gz
AS3 Weaver/
├── app/ # Tauri desktop application
│ ├── dist/ # Frontend (HTML/CSS/JS)
│ │ └── app.js # Main application logic
│ ├── src-tauri/ # Rust backend
│ │ ├── src/lib.rs # Tauri commands
│ │ ├── Cargo.toml # Rust dependencies
│ │ └── tauri.conf.json # Tauri config
│ ├── tests/ # Frontend smoke tests (37 tests)
│ ├── build_portable.ps1 # Build script
│ └── package.json
├── as3_decompiler/ # Python AS3 decompiler engine
│ ├── abc_parser.py # ABC bytecode parser
│ ├── method_decompiler.py # Bytecode → AS3 source
│ ├── class_decompiler.py # Class-level decompilation
│ ├── abc_patcher.py # Bytecode patching
│ ├── swf_reader.py # SWF binary reader
│ └── swf_patcher.py # SWF binary patching
├── tests/ # Python backend tests (505 tests)
│ └── golden_output/ # Golden decompiled outputs
├── docs/ # Architecture & format docs
├── portable/ # Built portable distributions
│ ├── windows/ # Windows x64 build
│ │ ├── AS3Weaver/ # Ready-to-run folder
│ │ └── AS3Weaver-portable.zip
│ ├── linux/ # Linux x86_64 build
│ │ ├── AS3Weaver/ # Ready-to-run folder
│ │ └── AS3Weaver-portable.tar.gz
│ └── macos/ # macOS arm64/x86_64 build
│ ├── AS3Weaver/ # Ready-to-run folder
│ └── AS3Weaver-portable.tar.gz
├── LICENSE # MIT License
└── requirements.txt # Python deps (stdlib only)
# Frontend tests (37 tests, zero dependencies)
cd app
npm test
# Backend tests (505 tests)
python -m pytest tests/ -q| Component | Technology | License |
|---|---|---|
| Desktop framework | Tauri v2 (Rust) | MIT/Apache 2.0 |
| Frontend | Vanilla JS, CSS | — |
| Python bridge | PyO3 0.23 | MIT/Apache 2.0 |
| AS3 compiler | Apache Flex SDK 4.16.1 | Apache 2.0 |
| Java runtime | OpenJDK 21 JRE | GPLv2+CE |
| Python runtime | CPython 3.13 (embedded) | PSF License |
| Theme marketplace | VS Code Marketplace API | — |
All bundled components are open-source.