랭킹으로 돌아가기

jindrapetrik/jpexs-decompiler

Java

JPEXS Free Flash Decompiler

flashswfdecompilereditor
스타 성장
스타
5.8k
포크
771
주간 성장
이슈
0
2k4k
2014년 5월2018년 5월2022년 6월2026년 7월
아티팩트Mavengit clone https://github.com/jindrapetrik/jpexs-decompiler.git
README

JPEXS Free Flash Decompiler

Build passing badge

English | 简体中文

Open Source Flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts and fonts. Various output formats available. Works with Java on Windows, Linux and macOS.

Application description and features

For information about using the software, list of features, etc., visit FFDec Wiki.

Free-Decompiler.com website

In the past (before 2018), we were using free-decompiler.com domain as homepage and GitHub for the source code, We've now moved all information (except the issue tracker) to GitHub.

Download application

For downloading the app, see latest release. Older versions and nightly builds are available at the releases section

How to install

See installation section of the wiki

Source code

How to get the source

You can make a local copy of the sources with the following command:

git clone https://github.com/jindrapetrik/jpexs-decompiler.git

This assumes you have git installed on your system.

Branches

Git source control manager supports multiple code branches. We use two main branches.

  • master - for released "stable" versions
  • dev - for newest changes from developers - "nightly" version is released from this branch

You can switch to dev branch with following git command:

git checkout dev

It is recommended to have GIT commandline executables installed. Building script uses GIT to include revision number into the binary. (For Windows, you must enable Git in windows command line during installation.)

Netbeans project

Source code contains Netbeans Project so you can open it in Netbeans IDE. Then you can use standard actions like Run, Build, Debug, Clean and Build in the IDE. Other specific tasks can be executed via menu on build.xml (see Ant part)

Ant

If you do not have Netbeans, you can build source code also with Apache Ant. After installing Ant it is good to put it into your PATH variable. Open up commandline and navigate to sources directory. To run application, execute task "run" by entering this command:

ant run

To only build, execute build task:

ant build

Building libraries

There are few libraries which need to be built too. These libraries are placed in "libsrc" directory.

  • FFDec_lib - core of decompilation, SWF parsing, exporting This library is built automatically with main project, but can be build also separately with its own Ant script.
  • jpacker - used for compression of JavaScript Canvas scripts (Netbeans/Ant project)
  • jpproxy - proxy part of FFDec (Netbeans/Ant project)
  • jsyntaxpane - code editor (Netbeans/Apache Maven project)
  • LZMA - used for SWF compression (Netbeans/Ant project)
  • nellymoser - used for Nelly Moser sounds decoding (Netbeans/Ant project)
  • Swf2Exe - Stub for "Save to EXE" feature (Delphi 7 Project)
  • ttf - used for TTF font export (Netbeans/Ant project)
  • gnujpdf - used for PDF export (Netbeans/Ant project)

Docker

We have Dockerfile for headless running for not needing to install Java or FFDec locally. (Original script by Mahdi Lazraq)

Build

docker build -t ffdec .

Usage

FFDec CLI is the entrypoint, so you can pass arguments directly:

docker run --rm -v ./input:/work/input -v ./output:/work/output ffdec [args]

Change log

All notable changes are listed in the file CHANGELOG.md

Deployment

Nightly builds

When a commit is pushed/merged into dev branch, a new prerelease version is created automatically by GitHub actions CI. These prerelease versions are called nightly builds. On releasing a new nightly build, the previous nightly build is removed.

Stable versions

A new stable version is created automatically by the GitHub Actions CI when marking a revision in master branch with a tag in format versionx.y.z.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

Versions are in format x.y.z, for example 9.1.2. For the versions available, see the tags on this repository.

Nightly builds have additional suffix _nightlyN where N is number which increments with every (automatic) nightly release and does not depend on the x.y.z numbers. (This means nightly number is NOT reset to 0 when releasing stable) Older nightly builds are NOT available through git tags.

Authors

The decompiler was originally written by Jindra Petřík also known as JPEXS. The application was made in Czech Republic.

Developers

  • JPEXS - leader, development of the decompiler, website main admin, github account admin, organization
  • honfika - development of the decompiler
  • Paolo Cancedda - former developer
  • ...other pushers on GitHub or Google Code

Translators

  • Jaume Badiella Aguilera - catalan translation
  • Capasha - swedish translation
  • 王晨旭 (Chenxu Wang), 晓之车, 安安, Liushui, 老biu - chinese translation
  • focus - russian translation
  • honfika - hungarian translation
  • kalip - italian translation
  • Krock - german translation
  • Laurent LOUVET - french translation
  • MaGiC - portuguese translation
  • martinkoza - polish translation
  • Osman ÖZ - turkish translation
  • pepka - ukrainian and dutch translation
  • poxyran - spanish translation
  • realmaster42, alimsoftware - portuguese-brasil translation
  • Rtsjx - chinese translation
  • koiru - japanese translation
  • J. Kramer - dutch translation
  • Andrew Poženel - slovenian translation
  • GitHub Copilot (Claude AI) - german, slovak translation

Contact

If you want to report a problem or request new feature, use our issue tracker at https://www.free-decompiler.com/flash/issues

You should see Frequently Asked Questions (FAQ) in wiki before. Also see Known problems list in wiki

Email contact

Emergency contact to JPEXS developer is jindra.petrik@gmail.com. But we prefer Issue tracker contact.

Licenses + Acknowledgments

Application

FFDec Application is licensed under the GNU GPL v3 (GPL-3.0-or-later) licence, see the license.txt. It uses modified code of these libraries:

And links also these libraries:

Application uses also some icons of the Silk icons pack, Silk companion 1, FatCow icons pack and Aha-Soft icons pack.

For EXE launchers we use Launch5j - MIT.

Library

See library README for more info about FFDec library.

관련 저장소
ruffle-rs/ruffle

A Flash Player emulator written in Rust

Rustcrates.ioOtherswfflash
ruffle.rs
18.3k1k
gwuhaolin/livego

live video streaming server in golang

GoGo ModulesMIT Licenselivestreamgolang
10.2k2k
mediaelement/mediaelement

HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers.

JavaScriptnpmMIT Licensehtml5-audiohtml5-video
mediaelementjs.com
8.3k1.5k
Ralim/IronOS

Open Source Soldering Iron firmware

CGNU General Public License v3.0firmwarets100
ralim.github.io/IronOS/
8.3k826
open-source-flash/open-source-flash

Petition to open source Flash and Shockwave spec

ActionScriptopensource
7.3k112
zeroclipboard/zeroclipboard

The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.

JavaScriptnpmMIT Licensezeroclipboardjavascript
zeroclipboard.github.io
6.6k1k
Mzying2001/CefFlashBrowser

Flash浏览器 / Flash Browser

C#MIT Licenseflashflash-player
5.2k240
Red5/red5-server

Red5 Server core

HTMLApache License 2.0red5-serverjava
3.4k1k
Gamua/Starling-Framework

The Cross Platform Game Engine

ActionScriptOtherstarling-frameworkactionscript
starling-framework.org
3.1k815
q191201771/lal

🔥 Golang audio/video live streaming lib/client/server. support RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket-FLV/TS, GB28181, H264/H265/AAC/G711/OPUS, relay, cluster, record, HTTP Notify/API/UI. 直播

GoGo ModulesMIT Licensertmpaac
pengrl.com/lal
3k495
armink/EasyFlash

Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB

CMIT Licenseflashembedded
2.4k813
badabing2005/PixelFlasher

Pixel™ phone flashing GUI utility with features.

PythonPyPIGNU General Public License v3.0pythonwxpython
2.2k273