Source code

Source code is hosted on GitHub at jpexs-decompiler GIT repository

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

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

Application is written in Java SE and (for FlashPlayer part) Delphi.

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

How to build

GIT recommended

It is recommended to have GIT commandline executables installed. Building script uses GIT to include revision number in to the binary. (For Windows, you must enable Git in windows commandline 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

For creating EXE, Installer and ZIP version, there exist Ant tasks "exe","installer","release". These tasks require additional software installed:

You must configure installation path of these tools in tools.properties file, which could look like this for windows:

nsis.path = c:\\program files (x86)\\NSIS
launch4j.path = c:\\program files (x86)\\launch4j

Compiling Flex lexical analyzers

Some of the decompilers lexical analyzers are generated via application called jFlex. These include ActionScript lexers, P-code lexers as well as text editation lexers. Source files have extension ".flex". ".flex" file can be opened with jFlex and then compiled into Java sources. Download jFlex here. Version 1.6 or later is recommended.

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)

License

Application

FFDec Application is licensed with GNU GPL v3.
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 and FatCow icons pack.

Library

FFDec Library is licensed with GNU LGPL v3.
It uses modified code of these libraries:

  • sfntly (WOFF font export) - Apache License 2.0
  • JLayer (Decoding MP3) - LGPL
  • UAB "DKD" NellyMoser ASAO codec (Decoding Nelly Moser sound format) - LGPL
  • Animated GIF Writer (Frames to GIF export) - Creative Commons Attribution 3.0 Unported
  • Animated GIF Encoder (Frames to GIF export)

And links also these libraries:

 
Google Translate: Translate to Czech Translate to Slovak Translate to Russian Translate to Hungarian Translate to Swedish Translate to French Translate to German Translate to Spanish Translate to Italian
Change style: oceanic classic