libswf is a C++17 library for extracting and replacing SWF resources.
- Export SWF as EXE using Adobe Flash Player projector.
- Import SWF from EXE created with Adobe Flash Player projector.
- Zlib and LZMA compress / decompress SWF.
- Export and replace MP3.
- Export and replace images of
DefineBitsLossless
andDefineBitsLossless2
tags. - Export and replace binary data of
DefineBinaryData
tag. - Serializing and deserializing AMF0 and AMF3 (not all data types). Exporting and importing to JSON.
See HF Workshop.
See documentation/METHODOLOGY.md.
See documentation/CONTRIBUTING.md.
Documentation is generated using Doxygen (and doxywizard). Needs code review.
Copyright (c) 2018-2021 David Gonçalves
This project uses the MIT license.
Project | Author(s) | License | Comments |
---|---|---|---|
zlib | Jean-loup Gailly (compression) and Mark Adler (decompression) | zlib | Used for compressing and decompressing the SWF using the zlib algorithm. Also used for compressing and decompressing image data. |
LZMA SDK | Igor Pavlov | public domain | Used for compressing and decompressing the SWF using the LZMA algorithm. |
liblzma | Original by Lasse Collin. Developed by The Tukaani Project. | public domain | Not in use. Alternative for LZMA SDK. |
minimp3 | lieff | CC-0 | Used to verify the sample rate of the MP3 file, and also for removing the MP3 file's ID3 metadata, leaving only the MP3 frames. |
LodePNG | Lode Vandevenne | zlib | Exporting and importing images in PNG format. |
json | nlohmann | MIT | Used for exporting and importing AMF format to and from JSON. |
fifo_map | nlohmann | MIT | Used for ordered JSON. |
Catch2 | Phil Nash. Various contributors. | BSL-1.0 | Used for testing. |
Table generated with: https://www.tablesgenerator.com/markdown_tables
Project badge images created with https://shields.io/.