LIEF alternatives

Looking for an alternative tool to replace LIEF? During the review of LIEF 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. Cutter (graphical user interface for radare2)
  2. radare2 (reverse engineering tool and binary analysis)
  3. PyREBox (Python scriptable Reverse Engineering Sandbox)

These tools are ranked as the best alternatives to LIEF.

Alternatives (by score)

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

    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

      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

        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

        88

        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

          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

            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

              68

              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

                84

                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

                  76

                  Malice

                  Introduction

                  Malice is a malware analysis that wants to provide a free and open source version of VirusTotal. The goal of Malice is to make it usable by both independent researchers up to fortune 500 companies.

                  Malice is useful for those that do malware analysis or deal with user-generated files that may contain malware. The framework allows scanning files and directories to see if they are infected.

                  Project details

                  Malice is written in Golang.

                  Strengths and weaknesses

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

                    Typical usage

                    • Malware analysis
                    • Malware detection
                    • Malware research
                    • Malware scanning

                    Malice review

                    64

                    Mal Tindex

                    Introduction

                    Mal Tindex is a tool that performs binary analysis on malware samples. It analyzes the binaries it is provided to learn about the specifics of each malware sample that makes them unique. This way data can be gathered that may provide background information. For example, it could provide the attribution of a particular actor or malware campaign.

                    Project details

                    Mal Tindex is written in Python.

                    Strengths and weaknesses

                    • + The source code of this software is available

                      Typical usage

                      • Malware analysis
                      • Malware research

                      Mal Tindex review

                      84

                      MultiScanner

                      Introduction

                      MultiScanner helps malware analysts by providing a toolkit to perform both automated and manual analysis. The data extracted from the analysis can be easily stored together, including the relevant metadata and samples. It allows enriching the data further by retrieving information from external resources.

                      Project details

                      Strengths and weaknesses

                      • + More than 10 contributors
                      • + The source code of this software is available

                        Typical usage

                        • Malware analysis
                        • Malware detection
                        • Malware scanning

                        MultiScanner review

                        78

                        SSMA

                        Introduction

                        SSMA is short for Simple Static Malware Analyzer. The tool can perform a set of tests against a malware sample and retrieve metadata from it. SSMA can analyze ELF and PE and analyze its structure. For example, it can retrieve the PE file header information and its sections. Other pieces it can analyze is the usage of packers, anti-debugging techniques, cryptographic algorithms, domains, email addresses, and IP addresses. It can also check if the sample is already detected or blocked by using VirusTotal and the blocklist of malwaredomains.com.

                        Project details

                        SSMA is written in Python.

                        Strengths and weaknesses

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

                        Typical usage

                        • Malware analysis
                        • Malware detection
                        • Malware scanning
                        • Reverse engineering

                        SSMA review

                        68

                        YaraGuardian

                        Introduction

                        YaraGuardian provides a web-based interface that helps to manage Yara rules. It can be used to search, organize, and bulk-edit rules. The tool also prevents creating duplicate entries, which is a nice additional benefit of this management utility.

                        Project details

                        YaraGuardian is written in Python.

                        Strengths and weaknesses

                        • + The source code of this software is available

                          Typical usage

                          • Malware analysis

                          YaraGuardian review

                          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

                            60

                            bamfdetect

                            Introduction

                            With bamfdetect, malware and bots can be analyzed. It identifies and extracts information and returns data in JSON format.

                            Project details

                            bamfdetect is written in Python.

                            Strengths and weaknesses

                            • + The source code of this software is available

                              Typical usage

                              • Malware analysis
                              • Malware scanning

                              bamfdetect review

                              78

                              Intrigue Core

                              Introduction

                              Intrigue Core provides a framework to measure the attack surface of an environment. This includes discovering infrastructure and applications, performing security research, and doing vulnerability discovery.

                              Intrigue also allows enriching available data and perform OSINT research (open source intelligence). The related scans include DNS subdomain brute-forcing, email harvesting, IP geolocation, port scanning, and using public search engines like Censys, Shodan, and Bing.

                              Project details

                              Intrigue Core is written in Ruby.

                              Strengths and weaknesses

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

                                Typical usage

                                • Asset discovery
                                • Attack surface measurement
                                • Intelligence gathering
                                • OSINT research
                                • Penetration testing
                                • Security assessment

                                Intrigue Core review

                                64

                                MalPipe

                                Introduction

                                MalPipe is a modular malware and indicator collection and processing framework. It is designed to pull information about malware, domains, URLs, and IP addresses from multiple feeds. Finally, it will enrich the collected data and export the results.

                                Project details

                                MalPipe is written in Python.

                                Strengths and weaknesses

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

                                Typical usage

                                • Data enrichment
                                • Data processing
                                • Intrusion detection
                                • Malware analysis
                                • Malware detection

                                MalPipe review

                                81

                                YARA

                                Introduction

                                YARA is a tool to identify and classify malware samples. It uses textual or binary patterns to match data, combined with a boolean expression to define a match. YARA is multi-platform, can be used via a command-line interface or via Python scripts using the yara-python extension.

                                Project details

                                YARA is written in C.

                                Strengths and weaknesses

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

                                  Typical usage

                                  • Malware analysis
                                  • Malware detection
                                  • Malware scanning

                                  YARA review

                                  60

                                  elf2json

                                  Introduction

                                  The elf2json converts an ELF binary into JSON output and helping with reverse engineering and malware analysis.

                                  Project details

                                  56

                                  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

                                  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

                                    74

                                    Cuckoo Sandbox (cuckoo)

                                    Introduction

                                    In a matter of seconds, Cuckoo Sandbox provides detailed results on what a file does within an isolated environment. This helps with malware analysis and understanding what it exactly tries to achieve. Further analysis can be done, based on the previous actions that were done.

                                    Cuckoo Sandbox was created by Claudio Guarnieri as part of the Google Summer of Code project in 2010.

                                    Project details

                                    Cuckoo Sandbox is written in Python.

                                    Strengths and weaknesses

                                    • + More than 2000 GitHub stars
                                    • + The source code of this software is available
                                    • - Many provided pull requests are still open
                                    • - Many reported issues are still open

                                    Typical usage

                                    • Digital forensics
                                    • Malware analysis

                                    Cuckoo Sandbox review

                                    100

                                    TheHive

                                    Introduction

                                    TheHive is scalable and a complete platform to deal with security incidents. It allows for collaboration between those responsible for dealing with such incidents and related events. It can even use the data of the MISP project, making it easier to start analyzing from there.

                                    Project details

                                    TheHive is written in Scala.

                                    Strengths and weaknesses

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

                                      Typical usage

                                      • Digital forensics
                                      • Incident response
                                      • Intrusion detection

                                      TheHive review

                                      70

                                      Viper

                                      Introduction

                                      Viper organizes the malware samples and exploits you found over time. It calls itself "Metasploit for malware researchers". Viper has a terminal interface to store, search and analyze files. As it is a framework, is also allows you to create your plugins.

                                      Project details

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