awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Back to fesh0r/fernflower

Projects sharing features with Fernflower

30 open-source projects similar to fesh0r/fernflower, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • jetbrains/fernflowerJetBrains avatar

    JetBrains/fernflower

    4,169View on GitHub↗

    Fernflower is a Java bytecode decompiler designed to convert compiled Java class files back into human-readable source code. It functions as a bytecode analysis tool that recovers original program logic and structure from compiled binaries. The project includes capabilities for obfuscated identifier resolution to rename ambiguous member elements, ensuring clear identifiers in the resulting source. These features support the analysis of obfuscated code, legacy code recovery, and Java malware analysis for security auditing. The system utilizes a structural analysis pipeline that includes contr

    Javadecompilerjavareverse-engineering
    View on GitHub↗4,169
  • rocky/python-uncompyle6rocky avatar

    rocky/python-uncompyle6

    4,302View on GitHub↗

    python-uncompyle6 is a Python bytecode decompiler and reverse engineering tool designed to convert compiled bytecode files back into human-readable source code. It functions as a source code recoverer and bytecode disassembler, allowing for the analysis of internal program logic and the reconstruction of original language constructs. The tool provides cross-version support, enabling the analysis and recovery of source code from bytecode created across multiple different versions of the Python interpreter. This allows it to operate as a cross-version bytecode analyzer that can interpret varied

    Python
    View on GitHub↗4,302
  • java-decompiler/jd-guijava-decompiler avatar

    java-decompiler/jd-gui

    15,024View on GitHub↗

    This project is a desktop application designed for the reverse engineering and inspection of compiled Java code. It functions as a graphical interface that translates Java bytecode back into readable source code, allowing users to examine the internal logic of class files and archives when original source files are unavailable. The tool provides a structured environment for navigating complex file hierarchies, including nested archives like JAR and WAR files. By maintaining an in-memory representation of loaded classes, it enables rapid searching and cross-referencing of code elements. The ap

    Java
    View on GitHub↗15,024

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • zrax/pycdczrax avatar

    zrax/pycdc

    4,304View on GitHub↗

    pycdc is a reverse engineering toolset that decompiles and disassembles compiled Python bytecode files back into readable source code. It parses .pyc file headers, reconstructs abstract syntax trees from bytecode instructions, and handles version-specific opcodes across Python versions 1.0 through 3.13 with endian-aware binary parsing. The tool recovers numeric constants, string literals, and marshalled Python objects from compiled bytecode, supporting both file-based and in-memory bytecode loading. It provides a human-readable disassembly listing of bytecode instructions alongside full sourc

    C++cxxdecompilerdisassembler
    View on GitHub↗4,304
  • androguard/androguardandroguard avatar

    androguard/androguard

    6,116View on GitHub↗

    Reverse engineering and pentesting for Android applications

    Python
    View on GitHub↗6,116
  • konloch/bytecode-viewerKonloch avatar

    Konloch/bytecode-viewer

    15,537View on GitHub↗

    This project is a Java bytecode reverse engineering suite that functions as a disassembler, decompiler, and editor for Java class files and Android APK binaries. It provides tools to transform compiled bytecode into assembly instructions or readable source code. The toolset supports Android APK analysis and Java binary patching, allowing for the modification of source code or bytecode and subsequent recompilation into functional binaries. It includes capabilities for removing Java obfuscation and performing malware analysis through the detection of malicious code patterns. The system incorpo

    Javaandroidapkbaksmali
    View on GitHub↗15,537
  • pxb1988/dex2jarpxb1988 avatar

    pxb1988/dex2jar

    13,112View on GitHub↗

    dex2jar is an Android dex decompiler and reverse engineering tool designed to convert Dalvik executable bytecode into Java class files. It functions as a bytecode converter that transforms compiled Android binaries into a format compatible with standard Java analysis tools. The project facilitates Android app decompilation and Java bytecode recovery by translating executable files into readable structures. This allows for the analysis of application logic and the identification of security vulnerabilities or malicious behavior during Android malware analysis. The tool performs static bytecod

    Java
    View on GitHub↗13,112
  • col-e/recafCol-E avatar

    Col-E/Recaf

    7,252View on GitHub↗

    Recaf is a suite of specialized tools for assembling, editing, deobfuscating, decompiling, and instrumenting Java bytecode and runtime processes. It provides a coordinated environment for modifying compiled Java class files and analyzing the behavior of Java applications. The project distinguishes itself through a multi-level abstraction layer that allows for editing across different formats and a pluggable framework that routes bytecode through multiple configurable decompilation engines. It includes an embedded scripting engine and plugin architecture to automate repetitive tasks and extend

    Java
    View on GitHub↗7,252
  • deathmarine/luytendeathmarine avatar

    deathmarine/Luyten

    5,105View on GitHub↗

    Luyten is an open source Java decompiler and bytecode analyzer designed to transform compiled class files back into high-level source code. It functions as a graphical user interface for the Procyon decompilation engine, allowing for the inspection and recovery of program logic from Java bytecode. The tool provides capabilities for Java reverse engineering and legacy code analysis, enabling the examination of third-party applications or libraries when original source code is unavailable. The system includes a desktop interface for browsing class hierarchies, recursive classpath scanning to

    Java
    View on GitHub↗5,105
  • charles2gan/gda-android-reversing-toolcharles2gan avatar

    charles2gan/GDA-android-reversing-Tool

    4,778View on GitHub↗

    This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to

    Pythondecompilermalware-analysismobile-security
    View on GitHub↗4,778
  • calebfenton/simplifyCalebFenton avatar

    CalebFenton/simplify

    4,644View on GitHub↗

    Simplify is an Android virtual machine sandbox, bytecode execution tracer, and static analysis framework. It serves as a Dalvik bytecode deobfuscator designed to recover readable code from binaries by simulating program behavior without a physical device. The project distinguishes itself by using execution graph analysis to resolve reflection calls and simplify obfuscated code through constant propagation and dead code removal. It employs multi-path execution simulation to track all possible conditional branch outcomes and maps instruction flow to identify constant values. The system covers

    Java
    View on GitHub↗4,644
  • jindrapetrik/jpexs-decompilerjindrapetrik avatar

    jindrapetrik/jpexs-decompiler

    5,404View on GitHub↗

    JPEX Software is a comprehensive reverse engineering suite for SWF binary files, serving as an ActionScript decompiler and editor. It provides a toolkit for decompiling, analyzing, and modifying the internal structure of compiled Flash content, including the extraction of scripts and media assets. The project is distinguished by its ability to perform direct binary modification, allowing users to edit bytecode and replace embedded resources without reverting to high-level source code. It includes a runtime ActionScript bytecode debugger for variable inspection and call stack analysis, as well

    Javadecompilereditorflash
    View on GitHub↗5,404
  • gdretools/gdsdecompGDRETools avatar

    GDRETools/gdsdecomp

    3,785View on GitHub↗

    gdsdecomp is a project recovery suite and game engine reverse engineering toolset. It functions as a bytecode decompiler, binary resource converter, and asset extraction tool designed to reconstruct original directory hierarchies and scripts from compiled binary game assets. The toolset specializes in GDScript bytecode decompilation and compilation, translating compiled bytecode back into human-readable source code or converting source code into executable bytecode for specific engine versions and commit hashes. It includes a game archive patcher to modify project archives by replacing intern

    C++
    View on GitHub↗3,785
  • jermic/android-crack-toolJermic avatar

    Jermic/Android-Crack-Tool

    2,944View on GitHub↗

    This project is a toolkit for reverse engineering, modifying, and re-signing Android application packages. It provides a suite of utilities designed to decompile compiled binary files into readable source code and translate low-level bytecode into formats suitable for human analysis. The tool facilitates security auditing and research by allowing users to extract and interpret manifest metadata, decode Unicode sequences, and inspect internal application logic. Beyond analysis, it supports the modification of application packages, enabling users to rebuild and re-align files to optimize perfor

    androidandroid-crackapk
    View on GitHub↗2,944
  • phpstan/phpstanphpstan avatar

    phpstan/phpstan

    13,999View on GitHub↗

    This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It

    PHPphpphp7phpstan
    View on GitHub↗13,999
  • webassembly/binaryenWebAssembly avatar

    WebAssembly/binaryen

    8,354View on GitHub↗

    Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ

    WebAssemblyc-plus-pluscompilersemscripten
    View on GitHub↗8,354
  • python/mypypython avatar

    python/mypy

    20,489View on GitHub↗

    mypy is a static type checker for Python that analyzes source code to detect type errors and inconsistencies without executing the program. It functions as a static analysis tool and type inference engine, providing a gradual typing system that allows type hints to be added to a codebase incrementally while maintaining compatibility with dynamic typing. The project distinguishes itself through a combination of performance and precision features. It utilizes a daemon-based incremental checking system and multi-process parallel analysis to manage large codebases, supported by binary cache persi

    Pythonlinterpythontypechecker
    View on GitHub↗20,489
  • facebook/reasonfacebook avatar

    facebook/reason

    10,315View on GitHub↗

    Reason is a statically typed programming language and compiler based on the OCaml ecosystem. It translates high-level, type-safe source code into either JavaScript or OCaml output, providing a typed alternative for web and system development. The language focuses on providing rigorous type safety and a robust module system while integrating with the JavaScript ecosystem. It allows for the development of applications that leverage existing JavaScript libraries while utilizing a more rigid type system to eliminate common runtime crashes and data mismatches. The project covers capabilities incl

    OCaml
    View on GitHub↗10,315
  • larastan/larastanlarastan avatar

    larastan/larastan

    6,430View on GitHub↗

    Larastan is a static analysis extension and type inference engine for PHP designed to detect bugs and type errors in Laravel applications. It extends PHPStan to resolve framework-specific patterns and magic methods, providing a rule-based scanning engine to audit code quality without executing the application. The tool specializes in Eloquent analysis, verifying that model properties, casts, and relationships align with database schemas and migrations. It tracks types across Eloquent collections, custom builders, and model factories to ensure type safety during database operations and iterati

    PHP
    View on GitHub↗6,430
  • phan/phanphan avatar

    phan/phan

    5,617View on GitHub↗

    Phan is a static analyzer and type checker for PHP that identifies bugs and type incompatibilities without executing the code. It serves as a quality gate for continuous integration pipelines and a tool for verifying type safety, specifically checking union types, generics, and array shapes. The project is distinguished by its use of a background daemon and Language Server Protocol implementation, which provide real-time diagnostics and navigation within editors. It also features a baseline-based suppression system that allows developers to record existing errors in a snapshot file to focus e

    PHP
    View on GitHub↗5,617
  • diobf/deobfuscatorDiobf avatar

    Diobf/Deobfuscator

    518View on GitHub↗

    Deobfuscator is a static analysis and manipulation framework designed to inspect and modify compiled Java class files and bytecode instructions. It functions as a deobfuscator that simplifies and reverses obfuscated Java applications, alongside operating as a security runtime environment that isolates and executes untrusted or potentially malicious Java bytecode safely. The project processes class files through a sequence of custom transformation passes using visitor-based instruction parsing and a static class analysis engine that maps out class hierarchies and cross-references without dynam

    Javabinsecurebozarcaesium
    View on GitHub↗518
  • facebook/flowfacebook avatar

    facebook/flow

    22,232View on GitHub↗

    Flow is a JavaScript static type checker and AST parser that identifies type errors and prevents runtime failures through static annotations. It functions as a code intelligence engine and a static analysis linter to identify unsafe coding patterns and enforce consistency across a codebase. The project includes a type annotation stripper that removes static type signatures from source code, ensuring the resulting JavaScript is compatible with any runtime environment. It also provides a parser that converts typed JavaScript into an abstract syntax tree conforming to the ESTree specification.

    Rust
    View on GitHub↗22,232
  • alufers/mitmproxy2swaggeralufers avatar

    alufers/mitmproxy2swagger

    9,530View on GitHub↗

    mitmproxy2swagger is a tool that transforms captured mitmproxy network traffic into structured OpenAPI schemas for reverse-engineering REST APIs. It functions as an OpenAPI schema converter and network traffic documentation utility, extracting API endpoints and data structures from captured network packets to create formal technical references. The tool enables the reconstruction of undocumented APIs by converting intercepted HTTP request and response patterns into specifications. It supports merging multiple traffic capture files into a single schema to incrementally expand an API map and ut

    HTMLmitmproxyopenapireverse-engineering
    View on GitHub↗9,530
  • microsoft/pyrightmicrosoft avatar

    microsoft/pyright

    15,241View on GitHub↗

    Pyright is a static type checker for Python designed to validate type hints and identify potential errors within large codebases. It functions as a command-line utility that integrates into local development environments and continuous integration pipelines to ensure code quality and consistency. The tool distinguishes itself through a high-performance analysis engine that utilizes incremental dependency graph analysis and persistent state caching to re-evaluate only the affected portions of a project. By implementing the Language Server Protocol, it provides real-time feedback, including err

    Python
    View on GitHub↗15,241
  • qunarcorp/bistouryqunarcorp avatar

    qunarcorp/bistoury

    4,077View on GitHub↗

    Bistoury is a production diagnostics tool for Java applications that provides a distributed debugging console, a performance profiler, and a runtime bytecode manipulator. It enables real-time application debugging and production diagnostics by analyzing running Java applications through dynamic instrumentation and state inspection. The system distinguishes itself through a remote agent manager that coordinates diagnostic connections and a runtime bytecode manipulator capable of redefining classes in memory without requiring process restarts. It features a web interface for capturing heap dump

    Javaagentbistourycpu
    View on GitHub↗4,077
  • caiorss/functional-programmingcaiorss avatar

    caiorss/Functional-Programming

    2,692View on GitHub↗

    This repository serves as an educational resource and tutorial collection focused on the principles and implementation of functional programming. It provides a structured guide for developers to learn how to apply functional paradigms to improve software architecture, logic design, and code maintainability. The project distinguishes itself by demonstrating how to implement functional concepts across both statically and dynamically typed programming languages. By utilizing examples in Haskell, OCaml, and Python, it illustrates the practical application of techniques such as immutability, highe

    Haskell
    View on GitHub↗2,692
  • pycqa/pylintPyCQA avatar

    PyCQA/pylint

    5,685View on GitHub↗

    Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and code smells without executing the program. It parses code into an abstract syntax tree and walks the tree to detect issues, enforces configurable style rules and naming conventions, and identifies duplicate code blocks by comparing tokenised source sequences. The tool also includes an inference engine that deduces variable types by simulating code paths, enabling deeper analysis even in untyped code. What distinguishes Pylint is its plugin-based checker architecture, which allo

    Python
    View on GitHub↗5,685
  • de4dot/de4dotde4dot avatar

    de4dot/de4dot

    7,428View on GitHub↗

    de4dot is a .NET deobfuscator and unpacker designed to reverse obfuscation and restore readable code and metadata within .NET assemblies. It functions as a bytecode analyzer that simplifies control flow, strips anti-debugging protections, and extracts original payloads from packed executable wrappers. The project distinguishes itself through a modular deobfuscation pipeline and a sandbox environment used for dynamic string decryption, which executes decryption methods to replace encrypted strings with plain-text values. It can identify specific obfuscation tools through pattern-based binary a

    C#
    View on GitHub↗7,428
  • radareorg/radare2radareorg avatar

    radareorg/radare2

    23,120View on GitHub↗

    Radare2 is a comprehensive framework for reverse engineering and analyzing compiled software. It provides a command-line environment designed for disassembling, debugging, and patching binary executables across a wide range of processor architectures and operating systems. The system distinguishes itself through a modular, plugin-based architecture that supports cross-platform analysis and automated workflows. It utilizes memory-mapped file access to enable efficient structural inspection and modification of binaries without requiring full file loads. By lifting machine instructions into a un

    Cbinary-analysisccommandline
    View on GitHub↗23,120
  • hourianto/sporeflowerhourianto avatar

    hourianto/sporeflower

    3View on GitHub↗

    Sporeflower is a Java decompiler tailored for J2ME-era CLDC/MIDP .jar files. It is a fork of Vineflower.

    Java
    View on GitHub↗3