Skip to content
SPECIFICTION
Get listed

CFR vs pycdc

CFR

benf.org

pycdc

github.com

Side by side

FigureCFRpycdc
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published11
Spec score · Reverse Engineering Tools8.2 (#10)7.4 (#37)
Spec score · Decompiler Software8.3 (#5)7.5 (#16)
DistributionCFR is available as a downloadable JAR, through Maven, and from the GitHub repository.The GitHub releases page states that there are no releases for this repository.
LicenseThe maker’s FAQ directs users to the project README for its license; the project repository identifies the license as MIT.The project is released under the GNU General Public License, version 3.
PurposeCFR is a Java decompiler that converts Java class files back into Java source.Decompyle++ aims to translate compiled Python bytecode into valid, human-readable Python source code.

Plans

CFR

  • FreeFree

CFR pricing →

pycdc

  • Decompyle++Free

pycdc pricing →

In their own words

CFR

CFR is a free Java decompiler that reconstructs Java source from Java class files. It can process individual named classes, classes found on a classpath, or a whole JAR, and the command-line tool can place output in a chosen directory with the --outputdir option. Decompilation behavior can be adjusted through command-line options or an options file. The maker says CFR handles many features from Java 9, 12, and 14, and it can attempt class files from other JVM languages; those are rendered as Java rather than their original language. CFR is written in Java 6 and is said to run wherever Java 6 does. It is available as a downloadable JAR, through Maven, and from GitHub. The FAQ notes an API from version 0.135, and the project repository identifies the license as MIT. CFR handles bytecode rather than native code. Its maker also notes that some inputs fall into edge cases where output may be poor. There are no paid plans or usage limits stated.

Visit benf.org

pycdc

pycdc is the command-line decompiler in Decompyle++, a free C++ project that converts compiled Python bytecode into readable Python source. The pycdc command accepts a PYC file and prints source to standard output. Its companion, pycdas, disassembles a PYC file and prints bytecode. Both commands handle Python marshalled code objects, but those objects do not contain version metadata, so the Python version must be supplied. The project seeks compatibility with bytecode from any Python version and focuses on bytecode rather than native-code decompilation. Decompyle++ runs on Linux, macOS, and Windows. Building uses CMake to generate a project or makefile, followed by compilation; the README describes MSVC for Windows projects and makefile instructions for Unix-like systems or MSYS. CMake is the named build-system requirement, with no product integrations listed. The project is GPL version 3, credits Michael Hansen and Darryl Pogue, and has no packaged GitHub releases. Its listed plan is free.

Visit github.com