elf2json alternatives

Looking for an alternative tool to replace elf2json? During the review of elf2json we looked at other open source tools. Based on their category, tags, and text, these are the ones that have the best match.

Top 3

  1. LIEF (library for analysis of executable formats)
  2. Manticore (dynamic binary analysis tool)
  3. Cutter (graphical user interface for radare2)

These tools are ranked as the best alternatives to elf2json.

Alternatives (by score)

89

LIEF

Introduction

LIEF is short for Library to Instrument Executable Formats.

Project details

LIEF is written in Python.

Strengths and weaknesses

  • + The source code of this software is available

    Typical usage

    • Binary analysis
    • Malware analysis
    • Reverse engineering

    LIEF review

    85

    Manticore

    Introduction

    Manticore is a so-called symbolic execution tool to perform a binary analysis. It supports Linux ELF binaries and Ethereum smart contracts. The tool helps with researching binaries and their behavior. This might be useful to learn how malware works and troubleshooting.

    Project details

    Manticore is written in Python.

    Strengths and weaknesses

    • + More than 25 contributors
    • + More than 1000 GitHub stars
    • + The source code of this software is available

      Typical usage

      • Binary analysis
      • Malware analysis
      • Reverse engineering

      Manticore review

      89

      Cutter

      Introduction

      Cutter is a graphical user interface for radare2, the well-known reverse engineering framework. It focuses on those who are not familiar enough with radare2, or rather have a graphical interface instead of the command-line interface that radare2 provides.

      Project details

      Cutter is written in C++, Qt.

      Strengths and weaknesses

      • + More than 50 contributors
      • + More than 3000 GitHub stars
      • + The source code of this software is available

        Typical usage

        • Binary analysis
        • Malware analysis
        • Reverse engineering

        Cutter review

        64

        PEDA

        Introduction

        PEDA is an extension for GDB (GNU DeBugger) to help with the development of exploit code. It can be used by reverse engineers and pentesters.

        Project details

        PEDA is written in Python.

        Strengths and weaknesses

        • + More than 2000 GitHub stars
        • + The source code of this software is available

          Typical usage

          • Debugging
          • Exploit development
          • Reverse engineering

          PEDA review

          76

          pyelftools

          Introduction

          This toolkit is used by other software, or standalone. Its main purpose is to parse binary ELF files and DWARF debugging information. This can be useful during malware analysis or troubleshooting issues with programs.

          Project details

          pyelftools is written in Python.

          Strengths and weaknesses

          • + More than 25 contributors
          • + More than 500 GitHub stars
          • + The source code of this software is available

            Typical usage

            • Binary analysis
            • Malware analysis

            pyelftools review

            78

            PyREBox

            Introduction

            PyREBox is short for Python scriptable Reverse Engineering Sandbox. It provides dynamic analysis and debugging capabilities of a running QEMU virtual machine. The primary usage is the analysis of running processes to perform reverse engineering. PyREBox can change parts of the running system by changing data in memory or within processor registers.

            Project details

            PyREBox is written in C++, Python.

            Strengths and weaknesses

            • + The source code of this software is available

              Typical usage

              • Binary analysis
              • Malware analysis
              • Reverse engineering

              PyREBox review

              100

              radare2

              Introduction

              Radare2 is a popular framework to perform reverse engineering on many different file types. It can be used to analyze malware, firmware, or any other type of binary files. Besides reverse engineering, it can be used for forensics on filesystems and do data carving. Tasks can be scripted and support languages like JavaScript, Go, and Python. Even software exploitation is one of the functions it can be used in.

              Project details

              radare2 is written in C.

              Strengths and weaknesses

              • + More than 500 contributors
              • + More than 8000 GitHub stars
              • + Many releases available
              • + The source code of this software is available

                Typical usage

                • Digital forensics
                • Reverse engineering
                • Software exploitation
                • Troubleshooting

                radare2 review

                74

                angr

                Introduction

                Tools like angr are great for performing in-depth analysis of binaries. This could be the analysis of an unknown binary, like a collected malware sample.

                Project details

                angr is written in Python.

                Strengths and weaknesses

                • + More than 50 contributors
                • + More than 1000 GitHub stars
                • + The source code of this software is available

                  Typical usage

                  • Binary analysis
                  • Malware analysis

                  angr review

                  85

                  BAP (Binary Analysis Platform)

                  Introduction

                  The main purpose of BAP is to provide a toolkit for program analysis. This platform comes as a complete package with a set of tools, libraries, and related plugins. There are bindings available for C, Python, and Rust.

                  Project details

                  BAP is written in OCaml.

                  Strengths and weaknesses

                  • + More than 25 contributors
                  • + More than 500 GitHub stars
                  • + The source code of this software is available

                    Typical usage

                    • Binary analysis
                    • Malware analysis

                    BAP review

                    64

                    Binary Analysis Next Generation (BANG)

                    Introduction

                    BANG is a framework to unpack files recursively and scan them. The files can be firmware, binaries, or malware. The main goal is to scan all files and perform classification and labeling. This way each file can be further analyzed based on the characteristics.

                    Project details

                    Binary Analysis Next Generation is written in Python.

                    Strengths and weaknesses

                    • + The source code of this software is available
                    • - No releases on GitHub available

                    Typical usage

                    • Binary analysis
                    • Malware analysis
                    • Malware scanning

                    Binary Analysis Next Generation review

                    76

                    bingrep

                    Introduction

                    Searches through binaries and highlights the most important areas with colors.

                    Supported binary formats:

                    • ELF 32/64, arm, x86, openrisc
                    • Mach 32/64, arm, x86
                    • PE

                    Project details

                    100

                    Frida

                    Introduction

                    Frida allows developers and researchers to inject custom scripts into black box processes. This way it can provide a hook into any function, allowing to trace executed instructions. The source code is not needed. Frida even allows direct manipulation and see the results. The tool comes with bindings for different programming languages, allowing to interact with processes. Example of the bindings that Frida provides include Python, Swift, .NET, Qt/Qml, and C API.

                    Project details

                    Frida is written in C.

                    Strengths and weaknesses

                    • + More than 10 contributors
                    • + More than 2000 GitHub stars
                    • + Many releases available
                    • + Project is mature (5+ years)
                    • + The source code of this software is available

                      Typical usage

                      • Black-box testing
                      • Reverse engineering

                      Frida review

                      89

                      r2frida

                      Introduction

                      Both Radare2 and Frida have their own area of expertise. This project combines both, to allow a more extensive analysis of files and processes.

                      Project details

                      r2frida is written in C, JavaScript.

                      Strengths and weaknesses

                      • + The source code of this software is available

                        Typical usage

                        • Application testing
                        • Binary analysis
                        • Memory analysis

                        r2frida review

                        Some relevant tool missing as an alternative to elf2json? Please contact us with your suggestion.