Browse free open source Disassemblers and projects below. Use the toggles on the left to filter open source Disassemblers by OS, license, language, programming language, and project status.

  • Our Free Plans just got better! | Auth0 by Okta Icon
    Our Free Plans just got better! | Auth0 by Okta

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
    Try free now
  • Bright Data - All in One Platform for Proxies and Web Scraping Icon
    Bright Data - All in One Platform for Proxies and Web Scraping

    Say goodbye to blocks, restrictions, and CAPTCHAs

    Bright Data offers the highest quality proxies with automated session management, IP rotation, and advanced web unlocking technology. Enjoy reliable, fast performance with easy integration, a user-friendly dashboard, and enterprise-grade scaling. Powered by ethically-sourced residential IPs for seamless web scraping.
    Get Started
  • 1
    x64dbg

    x64dbg

    An open-source x64/x32 debugger for windows.

    An open-source x64/x32 debugger for windows. Development is done on GitHub (https://github.com/x64dbg/x64dbg). Daily snapshots are uploaded here, snapshots for every commit can be found on http://releases.x64dbg.com
    Leader badge
    Downloads: 13,880 This Week
    Last Update:
    See Project
  • 2
    Cheat Engine

    Cheat Engine

    A development environment focused on modding

    Cheat Engine is an open source development environment that’s focused on modding, or modifying single player games running under window so you can play them according to your personal preferences. You can make games harder or easier as you wish, through various mod options. It also comes with many other features to help debug games and other applications, and protect your system by letting you inspect memory modifications by backdoors. Cheat Engine also comes with extensive scripting support, so experienced developers can create and share their own applications with ease.
    Downloads: 275 This Week
    Last Update:
    See Project
  • 3

    OpenOCD - Open On-Chip Debugger

    The Open On-Chip Debugger

    The "Open On-Chip Debugger" provides JTAG/SWD access from GDB (or directly with TCL scripts) to processors with ARM and MIPS based cores. See website for full list of supported targets.
    Leader badge
    Downloads: 678 This Week
    Last Update:
    See Project
  • 4
    APNG Assembler

    APNG Assembler

    Creates APNG animation from PNG/TGA image sequence.

    Creates highly optimized Animated PNG files from PNG/TGA image sequences. CLI versions available for all major OSes. GUI versions for Windows and macOS. Also, APNG Disassembler can be found at http://sourceforge.net/projects/apngdis
    Leader badge
    Downloads: 568 This Week
    Last Update:
    See Project
  • Small Business HR Management Software Icon
    Small Business HR Management Software

    Get a unified timekeeping, scheduling, payroll, HR and benefits portal with WorkforceHub.

    WorkforceHub is the instantly useful, delightfully simple to use, small business solution for tracking time, scheduling and hiring. It scales as your business grows while delivering the mission-critical features an organization needs. It is tailored to, built for, and priced for small business employers.
    Learn More
  • 5
    Integrated Development Environment for some microcontrollers based on 8051(e.g. AT89S8253). Supported languages are Assembly and C. It has its own simulator, assembler, editor and many other tools. See the project web site for more details and the newest updates.
    Leader badge
    Downloads: 700 This Week
    Last Update:
    See Project
  • 6
    ImHex

    ImHex

    A Hex Editor for Reverse Engineers, Programmers

    ImHex is a Hex Editor, a tool to display, decode and analyze binary data to reverse engineer their format, extract informations or patch values in them. What makes ImHex special is that it has many advanced features that can often only be found in paid applications. Such features are a completely custom binary template and pattern language to decode and highlight structures in the data, a graphical node-based data processor to pre-process values before they're displayed, a disassembler, diffing support, bookmarks and much much more. At the same time ImHex is completely free and open source under the GPLv2 license. Byte patching, patch management, Copy-Bytes-As-Array for many common programming languages, string and hex search, Bookmarks, Goto, Huge file support, variable column count, custom encodings and much more. ImHex includes a full custom C++-like pattern language that allows easy highlighting, decoding and analyzing of file formats.
    Downloads: 56 This Week
    Last Update:
    See Project
  • 7
    RedtDec

    RedtDec

    RetDec is a retargetable machine-code decompiler based on LLVM

    The decompiler is not limited to any particular target architecture, operating system, or executable file format. ELF, PE, Mach-O, COFF, AR (archive), Intel HEX, and raw machine code supported. 32-bit: Intel x86, ARM, MIPS, PIC32, and PowerPC 64-bit: x86-64 supported. Demangling of symbols from C++ binaries (GCC, MSVC, Borland). Reconstruction of functions, types, and high-level constructs. Output in two high-level languages: C and a Python-like language. Generation of call graphs, control-flow graphs, and various statistics. Detection and reconstruction of C++ class hierarchies (RTTI, vtables). Signature-based removal of statically linked library code. Static analysis of executable files with detailed information. We currently support Windows (7 or later), Linux, macOS, and (experimentally) FreeBSD. An installed version of RetDec requires approximately 5 to 6 GB of free disk space.
    Downloads: 42 This Week
    Last Update:
    See Project
  • 8
    CEmu emulator

    CEmu emulator

    Third-party TI-84 Plus CE / TI-83 Premium CE emulator

    Developer-oriented emulator of the eZ80-based TI-84 Plus CE / TI-83 Premium CE calculators. CEmu is a third-party TI-84 Plus CE / TI-83 Premium CE calculator emulator, focused on developer features. The core is programmed in C and the GUI in C++ with Qt, for performance and portability reasons. CEmu works natively on Windows, macOS, and Linux! Easy setup - get running by doing a one-time-only connection of your calculator! Accurate and fast emulation. Customizable speed/throttling. Resizable calculator screen. "Always-on-top" window option. Screen capture (PNG). Screen recording (animated PNG). File sending/receiving (not for Apps/OS yet). Multiple keybinding presets. Emulation states for efficient saving / restoring. Color skins (like the real devices). Available in English, French, Spanish, and Dutch.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 9
    A disassembler for the linux platform. Currently this supports x86 ELF files assumed to be written in C and output to intel- syntax assembly language; however the design is modular and replacements for any of these can be written.
    Leader badge
    Downloads: 207 This Week
    Last Update:
    See Project
  • Boost your bottom line in less time | IBM Cognos Analytics Icon
    Boost your bottom line in less time | IBM Cognos Analytics

    Business intelligence solution for businesses wanting to make better analytics and confident decisions

    IBM Cognos Analytics acts as your trusted co-pilot for business with the aim of making you smarter, faster, and more confident in your data-driven decisions.
    Learn More
  • 10
    Hexplorer

    Hexplorer

    Binary (hexadecimal) editor for Windows

    Binary (hexadecimal) editor for Windows
    Leader badge
    Downloads: 84 This Week
    Last Update:
    See Project
  • 11
    x64dbg

    x64dbg

    An open-source x64/x32 debugger for windows

    An open-source binary debugger for Windows, aimed at malware analysis and reverse engineering of executables you do not have the source code for. There are many features available and a comprehensive plugin system to add your own. Fully customizable color scheme. Dynamically recognize modules and strings. Import reconstructor integrated (Scylla). Fast disassembler (Zydis). User database (JSON) for comments, labels, bookmarks, etc. Plugin support with growing API. Extendable, debuggable scripting language for automation. Multi-datatype memory dump. Basic debug symbol (PDB) support. Dynamic stack view. Built-in assembler (XEDParse/asmjit). Executable patching and analysis. We provide both the executable and the source. Feel free to contribute. Write plugins in C++, change colors and tweak your preferences. x64dbg can debug both x64 and x32 applications. There is only one interface.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 12
    APNG Disassembler

    APNG Disassembler

    Deconstruct APNG file into a sequence of PNG frames.

    This program converts APNG file into a sequence of individual PNG frames. Command-line interface and GUI viersions. Also, APNG Assembler can be found at http://sourceforge.net/projects/apngasm
    Leader badge
    Downloads: 133 This Week
    Last Update:
    See Project
  • 13
    Udis86 is an easy-to-use minimalistic disassembler library for the x86 and x86-64 instruction set architectures. The primary intent of the design and development of udis86 is to aid software development projects that entail binary code analysis.
    Leader badge
    Downloads: 39 This Week
    Last Update:
    See Project
  • 14
    CIL disassembler written in C# by Mono Project. This fork is coming with some bug fixes. Uses Mono.Cecil, get from https://www.mono-project.com/docs/tools+libraries/libraries/Mono.Cecil/ if you don't have it already.
    Leader badge
    Downloads: 84 This Week
    Last Update:
    See Project
  • 15
    Selfie

    Selfie

    An educational software system of a tiny self-compiling C compiler

    An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor. Selfie is a project of the Computational Systems Group at the Department of Computer Sciences of the University of Salzburg in Austria. The Selfie Project provides an educational platform for teaching undergraduate and graduate students the design and implementation of programming languages and runtime systems. The focus is on the construction of compilers, libraries, operating systems, and even virtual machine monitors. The common theme is to identify and resolve self-reference in systems code which is seen as the key challenge when teaching systems engineering, hence the name. Selfie is implemented in a single (!) file and kept minimal for simplicity. There is also a simple in-memory linker, a RISC-U disassembler, a garbage collector, L1 instruction and data caches, a profiler, and a debugger with replay.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    BEYE (Binary EYE) is a free, portable, advanced file viewer with built-in editor for binary, hexadecimal and disassembler modes. It contains a highlight AVR/Java/i86-AMD64/ARM-XScale/PPC-64 and other disassembler, full preview of MZ,NE,PE,ELF and other.
    Downloads: 60 This Week
    Last Update:
    See Project
  • 17
    DIS6502

    DIS6502

    Interactive 6502 Disassembler for Atari binary files on Windows

    A 6502 disassembler, designed to specifically support Atari binary files.
    Leader badge
    Downloads: 8 This Week
    Last Update:
    See Project
  • 18
    Capstone

    Capstone

    Capstone disassembly/disassembler framework

    Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community. Created by Nguyen Anh Quynh, then developed and maintained by a small community, Capstone offers some unparalleled features. Support multiple hardware architectures: ARM, ARM64 (ARMv8), Ethereum VM, M68K, Mips, MOS65XX, PPC, Sparc, SystemZ, TMS320C64X, M680X, XCore and X86 (including X86_64). Having clean/simple/lightweight/intuitive architecture-neutral API. Provide details on disassembled instruction (called “decomposer” by others). Provide semantics of the disassembled instruction, such as list of implicit registers read & written. Implemented in pure C language, with lightweight bindings for D, Clojure, F#, Common Lisp, Visual Basic, PHP, PowerShell, Emacs, Haskell, Perl, Python, Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala (ready either in main code, or provided externally by the community).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    Medusa

    Medusa

    An open source interactive disassembler

    Medusa is a disassembler designed to be both modular and interactive. It runs on Windows and Linux, it should be the same on OSX. This project is organized as a library. To disassemble a file you have to use medusa_text or qMedusa. Medusa requires the following libraries: boost >= 1.55 (system, filesystem, thread, date_time), OGDF (required git), and Qt5 >= 5.2 for the GUI. You also need CMake for compilation and a C++11 compiler (VS2015 update 2 on Windows). Git is optional but allows to clone remote repository for specific features. If you do not wish to install the various dependencies on your system, you can use this docker image instead. Even though it is working out of the box, you may want to customize it to suit your needs or for added security (e.g. restrict ssh access to public key authentication only).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    Tiny8051
    Tiny8051 is small 8051 microcontroller simulator written in C#. Project was created for educational purposes, to show how µP works by using clean visual interface and debugging. Note: communication over serial port was not implemented, because there was no demand for it.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 21
    Dedexer is a disassembler tool for Android DEX files. The purpose is to create Jasmin-like source files from DEX files.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 22
    zDevStudio - Z80 Development Studio
    zDevStudio is an open source cross-platform IDE based on Pasmo compiler designed to help coders and retrocoders to develop software for Zilog Z80 8 bit CPU.
    Leader badge
    Downloads: 7 This Week
    Last Update:
    See Project
  • 23
    JReversePro is a Java Decompiler / Disassembler written in Java. Facility to view the ConstantPool contents is available. AWT, Swing and command-line versions are present.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 24

    z80ex

    ZiLOG Z80 CPU emulation library

    Z80~Ex is the portable ZiLOG Z80 CPU emulator designed as a library. Goals include : precise opcode emulation (documented & undocumented), exact timings for each opcode (including I/O operations), multiple CPU contexts. disassembler is also included.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 25
    DiDasm is a small and fast disassembler, useful for Windows kernel developers. Advantages: - highly portable, has minimal runtime requirements (C runtime); - core libraries do not require any external components; - includes instructions emulator (diana_processor); - has stream oriented design; Supported platforms: i386, amd64 Supported instructions: x586/amd64/FPU/MMX/SSE/SSE2
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next

Guide to Open Source Disassemblers

Open source disassemblers are a type of software that can reverse engineer compiled computer programs. This means they can decode and reproduce the original program code from its binary format, thus making it possible to understand how the program works and to modify or debug the code if needed.

Open source disassemblers are typically open-source software, meaning that their code is released under a free and open license which allows anyone to use, modify, and redistribute the source code. Due to this, anyone can contribute fixes or enhancements to these programs to make them better.

Open source disassemblers also differ from binary reverse engineering tools in that they may analyze the entire program instead of just individual instructions or machine code segments. This makes it possible to understand how different parts of the program interact with each other, as well as how they relate to the environment in which they execute. Additionally, many open source disassemblers support various architectures including x86 (32-bit Intel), AMD64 (64-bit Intel & AMD) and ARM (embedded processors).

The main features of open source disassemblers include: analyzing multiple modules within a program; supporting advanced search techniques such as regular expression searches; displaying flow diagrams for easier understanding of control flow structures; providing graphical user interfaces for ease of navigation; automatically generating intermodular call graphs for better visualization; and offering support for debugging features such as breakpoints and watchpoints.

Overall, open source disassemblers are powerful tools for reverse engineering programs from any platform regardless of language used. They offer an abundance of features that can be advantageous during debugging sessions or when trying to comprehend complex programs. Therefore, it is no wonder why these types of software have become so popular among programmers who want access to such powerful tools without having to rely on expensive commercial products with restrictive licenses.

Features of Open Source Disassemblers

  • Visual Representation: Open source disassemblers often provide graphical representations of assembly code, allowing a user to quickly visualize the program's structure and internal architecture. This makes it easier to understand complex programs, which can benefit both developers and security researchers.
  • Modular Design: An open source disassembler usually provides modular design, allowing users to break each component into its own module for better organization and easier navigation. Each module can also be further broken down into smaller components for added convenience.
  • Variable Identification: Many open source disassemblers make it possible to identify variables in assembly code, making it easier for developers and security researchers alike to track their use throughout the entire program. This feature is especially useful when reverse engineering an application.
  • Source Code Generation: It’s often possible with an open source disassembler to turn assembly code back into the original source language such as C or C++. This allows a developer or researcher to view the original code if they need more information about how something works or just want to take a closer look at what’s going on under-the-hood.
  • Debugging Support: Some open source disassemblers provide debugging support that allows users to step through the code line-by-line, inspect memory locations, breakpoints, and other features typically used by developers during software testing and debugging phases of the development cycle.
  • Cross Platform Compatibility: One of the main advantages provided by many open source disassemblers is cross platform compatibility; meaning that you can usually use one tool on multiple platforms without issue – e.g., Windows, Linux, macOS etc.

What Are the Different Types of Open Source Disassemblers?

  • Disassemblers: A disassembler is a computer program that takes machine code (the instructions of a computer) and produces assembly language text which can be read by humans. By using disassembly, developers can observe the behavior of the underlying hardware, debug programs more efficiently, and even produce modified versions of binary programs based on their own requirements.
  • Types: There are two broad categories of open source disassemblers: static and dynamic. Static disassemblers work on object code directly without running it; they are sometimes called decompilers or reverse compilers. Dynamic disassemblers work while the program is running typically with a debugger; they sometimes use techniques such as monitoring memory accesses to determine what parts of an application to analyze first.
  • Styles: Different types of open source disassemblers have different styles or approaches when carrying out analysis tasks. Some may rely heavily on pattern matching techniques while others utilize symbolic execution techniques; still others employ a combination of both approaches as well as other methods depending upon the specific task at hand. Common features among these various styles include lightweight instrumentation, efficient patching/modification capabilities along with control-flow graph generation for better visualization and comprehension during debugging sessions.

Open Source Disassemblers Benefits

Open source disassemblers provide numerous benefits to developers and other users:

  1. Increased Accessibility: Open source disassemblers make the process of analyzing code more accessible. By making the code open and free, developers can access it from anywhere in the world, allowing them to collaborate and debug projects with much greater efficiency.
  2. Cost-Effectiveness: Open source disassemblers are usually available for no cost, or at a low cost compared to closed-source options. This makes them an attractive choice for those looking to save money while developing software.
  3. Improved Quality of Analysis: The fact that open source disassembly is done by many different people allows better debugging and analysis as mistakes can be caught faster. When everyone has access to the same data and resources, fewer errors are made, leading to better quality end products.
  4. Security Benefits: Open source disassemblers allow for increased security auditing capabilities because bugs can be found before malicious hackers do. It also makes reverse engineering efforts easier so that malicious actors have less success finding vulnerabilities in code.

What Types of Users Use Open Source Disassemblers?

  • Hackers: hackers use open source disassemblers to gain insight into how computer systems work, and how they can be exploited.
  • Malware Analysts: Malware analysts use open source disassemblers to analyze malicious code, helping them identify possible security vulnerabilities in a system.
  • Developers: Developers leverage open source disassemblers as a debugging tool, allowing them to inspect the exact state of their program at any given point in time.
  • Security researchers: Security researchers turn to open source disassemblers when investigating and studying the behavior of various types of malware.
  • Reverse engineers: Reverse engineers rely on open source disassemblers to reconstruct higher level languages from machine code or binary executables, enabling them to better understand the processes taking place within a system or an application.
  • Software testers: Software testers frequently employ open source disassemblers to help locate and fix bugs in an application while testing it prior to its release.

How Much Do Open Source Disassemblers Cost?

Open source disassemblers are completely free to use, so they cost nothing. The great advantage of open source software is that it can be modified and redistributed without any limitation or restriction. This makes it possible for developers to contribute their own code and modify existing code in order to create new features or better solutions to existing problems. However, with the vast number of open source disassemblers available, it can be hard to find the exact one you're looking for. As a result, some users may opt for paid disassemblers which usually come with more comprehensive features and technical support. It's important to note that these programs usually require a license fee but this cost is often discounted significantly when compared with what closed-source equivalents would cost. Ultimately though, the best way to get an idea of how much any program will cost is by researching each option carefully or seeking out expert advice from professionals specializing in this field.

What Software Do Open Source Disassemblers Integrate With?

Open source disassemblers can integrate with a variety of different types of software. These include code coverage analysis tools, dynamic binary instrumentation frameworks, debugging and reverse engineering tools, compilers and linkers, decompilation tools, operating system kernels and bootloaders, emulator packages, and more. Each type of software allows the disassembler to be used in different ways to provide valuable insights into program behavior and control flow. For example, a code coverage analysis tool can be used to track which parts of the code have been tested or executed during testing cycles. Dynamic binary instrumentation frameworks can be used for profiling functions or modules for benchmarking purposes. Debugging and reverse engineering tools allow users to inspect instructions at lower levels in order to identify discrepancies between expected program behaviors and actual results produced by the running application. Compilers and linkers help developers prepare programs for execution on specific architectures while decompilation tools run machine code through a translator in order to convert it into human-readable source code. Finally, operating system kernels (such as Linux) can work together with open source disassemblers in order to facilitate the development of device drivers that are compatible with multiple platforms while emulators allow users to test programs on various architectures without needing access to the actual hardware device being investigated.

Recent Trends Related to Open Source Disassemblers

  1. Open source disassemblers are becoming increasingly popular due to their ability to provide detailed information on the binary code of a program.
  2. They are also more affordable than commercial disassemblers, making them attractive to developers.
  3. Open source disassemblers are available for a wide range of platforms and architectures, which makes them an attractive option for those who need to analyze code on multiple platforms.
  4. Many open source disassemblers also provide advanced features such as reverse engineering capabilities and debugging tools.
  5. The increasing popularity of open source disassemblers is also due to the fact that they can be modified and improved by anyone who has the necessary knowledge and skills. This allows for greater customization of the tool and makes it easier for users to customize it for their specific needs.
  6. Another trend in open source disassembly is that there is an increasing number of projects that are designed specifically for analyzing malware. These projects are designed to help security researchers identify malicious code that may have been hidden or obfuscated in order to prevent detection by traditional security solutions.
  7. There is also an increasing focus on user-friendly interfaces and graphical user interfaces which make it easier for users to work with these tools and understand the results without having to be experts in assembly language programming.

How Users Can Get Started With Open Source Disassemblers

  1. Getting started with using open source disassemblers is a great way to learn about technology and computer science. Disassemblers are tools that take the assembly language code (the instructions written in machine language) from an application or executable program and convert it back into human-readable source code. This can be useful for debugging, reverse engineering applications or anything else that requires understanding of assembly code.
  2. The first step to getting started with open source disassemblers is to download a suitable tool. There are many available, such as IDA Pro, Ghidra and Binary Ninja; each one offering different features and capabilities than the others. It is important to select a tool based on its specific use case, so it’s best to do some research before committing to any particular one. Once you’ve selected the appropriate tool for your project, you should download and install it on your system.
  3. Once the open-source disassembler has been installed, users will need to create a project where they can store their work within the software environment itself. Depending on what software package was chosen earlier, this will differ slightly; however typically all projects consist of similar components such as initializing settings options and adding datafiles that contain information used by the software when analyzing executables.
  4. Next users must choose which object file they want analyzed within their project - this could be an EXE file or even a plaintext binary file depending on what type of analysis needs performing - then load it into the disassembler application via either drag & drop or selecting ‘Open File’ from the menus at the top of most programs interface windows. From here analysts will have access to all sorts of information regarding what functions and other computational processes that specific executable contains; allowing them greater insight into how things work “under-the-hood” than ever before.
  5. Finally if users need additional information about certain sections of code inside those programs, there are often various tools inbuilt inside these open source packages designed especially for tasks like decompiling binaries (breaking them down into high level languages such as C/C++), patching existing files etc., making performing complex analyses more accessible than ever before.