pyelftools alternatives
Looking for an alternative tool to replace pyelftools? During the review of pyelftools we looked at other open source tools. Based on their category, tags, and text, these are the ones that have the best match.
Alternatives (by score)
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
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
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
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
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
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
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
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
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
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
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
elf2json
Introduction
The elf2json converts an ELF binary into JSON output and helping with reverse engineering and malware analysis.Project details
Jackhammer
Introduction
The tool uses RBAC (Role Based Access Control) with different levels of access. Jackhammer uses several tools to do dynamic and static code analysis (e.g. for Java, Ruby, Python, and Nodejs). It checks also for vulnerabilities in libraries. Due to its modular architecture, it can use several scanners out of the box, with options to add your own.
The Jackhammer project was initially added to GitHub on the 8th of May, 2017.
Project details
Jackhammer is written in Ruby.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Collaboration
- Information sharing
Bandit
Introduction
Bandit is a tool that can be used during development or afterward. Typically this is used by developers to find common security issues in Python code before putting the code in production. Another use-case would be to use this tool to analyze existing projects and find possible flaws.
Project details
Bandit is written in Python.
Strengths and weaknesses
- + More than 50 contributors
- + The source code of this software is available
- + Supported by a large company
Typical usage
- Code analysis
PyT (Python Taint)
Introduction
Python Taint (or PyT) is a static code analyzer for Python scripts and applications. It tries to discover vulnerabilities or other possible weaknesses.Project details
PyT is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Code analysis
Yosai
Introduction
Yosai is a security framework for Python applications and adds authentication, authorization, and session management capabilities. Features include Role-Based Access Control (RBAC), two-factor authentication, and Time-based One-Time Passwords (TOTP). Besides a focus on the authentication and authorization, Yosai enables an audit trail of all relevant events.
As each framework comes with some overhead, Yosai aims to leverage caching and serialization where possible.
Project details
Yosai is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Application security
- Audit logging
- Identity and access management
uncompyle6
Introduction
A decompiler like uncompyle6 can be used to investigate Python-based software components that are compiled. These files can be recognized by their .pyc file extension.
This tool has been written as several other decompilers were no longer maintained. So far this software seems to have a good number of contributors and regular updates.
Project details
Strengths and weaknesses
- + More than 10 contributors
- + The source code of this software is available
Typical usage
- Binary analysis
- Code analysis
Some relevant tool missing as an alternative to pyelftools? Please contact us with your suggestion.