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

  • APIs for the next generation of business text messaging Icon
    APIs for the next generation of business text messaging

    For companies that need a reliable messaging API provider

    Get your customers’ messages where they need to go with 99%+ deliverability. Telgorithm’s API automates A2P compliance & message management for faster, easier, & more reliable messaging, enabling you to offer the best service to your customers.
  • AlertBot: Website Monitoring of Uptime, Performance, and Errors Icon
    AlertBot: Website Monitoring of Uptime, Performance, and Errors

    For IT Professionals and network adminstrators looking for a web application monitoring solution

    AlertBot monitors your website's full functionality around the clock so you can focus your time on more important things.
  • 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: 12,013 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: 358 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: 7,813 This Week
    Last Update:
    See Project
  • 4
    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: 83 This Week
    Last Update:
    See Project
  • Intranet Software To Connect Your Employees | Interact Icon
    Intranet Software To Connect Your Employees | Interact

    Intranet software built for communicators. Connect your enterprise. Drive engagement. Provide a better employee experience.

    Join the revolution in workplace communication with an AI-powered intranet.
  • 5
    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: 53 This Week
    Last Update:
    See Project
  • 6
    GUI Turbo Assembler (TASM)

    GUI Turbo Assembler (TASM)

    An essential 32-64bit localized IDE for Assembly Language with Debuger

    GUI Turbo Assembler is an essential IDE for assembly language programming. It includes Borland Turbo Assembler (TASM), Turbo Linker, Turbo Debugger and DOSBox for writing both 16-bit and 32-bit programs in assembly language. GUI Turbo Assembler provides a rich set of features, encompassing fundamental file operations and advanced capabilities such as line numbering, syntax highlighting, code folding, docking, and theme personalization. The interface is highly adaptable, empowering users to modify the environment and configure default settings for Borland Turbo Assembler and Turbo Linker. GUI Turbo Assembler supports localization in seven different languages and enables users to create and utilize their own localized files. Additionally, users have the opportunity to contribute those in the GitHub project. It also packs a terminal which allows user to take complete control of their programming. Additionally, users have the opportunity to contribute those in the GitHub projec
    Leader badge
    Downloads: 1,576 This Week
    Last Update:
    See Project
  • 7
    PyInstaller

    PyInstaller

    Freeze (package) Python programs into stand-alone executables

    PyInstaller freezes (packages) Python applications into stand-alone executables, under Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris and AIX. PyInstaller’s main advantages over similar tools are that PyInstaller works with Python 3.5 to 3.9, it builds smaller executables thanks to transparent compression, it is fully multi-platform, and use the OS support to load the dynamic libraries, thus ensuring full compatibility. The main goal of PyInstaller is to be compatible with 3rd-party packages out-of-the-box. This means that, with PyInstaller, all the required tricks to make external packages work are already integrated within PyInstaller itself so that there is no user intervention required. You’ll never be required to look for tricks in wikis and apply custom modification to your files or your setup scripts. As an example, libraries like PyQt, Django or matplotlib are fully supported, without having to handle plugins or external data files manually.
    Downloads: 40 This Week
    Last Update:
    See Project
  • 8

    dex2jar

    Tools to work with android .dex and java .class files

    Mirrors: * https://bitbucket.org/pxb1988/dex2jar * https://github.com/pxb1988/dex2jar dex2jar contains following compment * dex-reader is designed to read the Dalvik Executable (.dex/.odex) format. It has a light weight API similar with ASM. * dex-translator is designed to do the convert job. It reads the dex instruction to dex-ir format, after some optimize, convert to ASM format. * dex-ir used by dex-translator, is designed to represent the dex instruction dex-tools tools to work with .class files. * d2j-smali disassemble dex to smali files and assemble dex from smali files. different implementation to smali/baksmali, same syntax, but we support escape in type desc "Lcom/dex2jar\t\u1234;" * dex-writer write dex same way as dex-reader.
    Leader badge
    Downloads: 1,481 This Week
    Last Update:
    See Project
  • 9
    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: 502 This Week
    Last Update:
    See Project
  • Create state-of-the-art conversational agents with Google AI Icon
    Create state-of-the-art conversational agents with Google AI

    Using Dialogflow, you can provide new and engaging ways for users to interact with your product.

    Dialogflow can analyze multiple types of input from your customers, including text or audio inputs (like from a phone or voice recording). It can also respond to your customers in a couple of ways, either through text or with synthetic speech. Dialogflow CX and ES provide virtual agent services for chatbots and contact centers. If you have a contact center that employs human agents, you can use Agent Assist to help your human agents. Agent Assist provides real-time suggestions for human agents while they are in conversations with end-user customers.
  • 10
    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: 600 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: 17 This Week
    Last Update:
    See Project
  • 12
    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: 7 This Week
    Last Update:
    See Project
  • 13
    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: 7 This Week
    Last Update:
    See Project
  • 14
    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: 6 This Week
    Last Update:
    See Project
  • 15
    Hexplorer

    Hexplorer

    Binary (hexadecimal) editor for Windows

    Binary (hexadecimal) editor for Windows
    Leader badge
    Downloads: 132 This Week
    Last Update:
    See Project
  • 16
    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: 227 This Week
    Last Update:
    See Project
  • 17
    Mecrisp - A family of optimising native code Forth implementations for MSP430, ARM Cortex M, RISC-V RV32IM(C), MIPS M4K and FPGAs.
    Leader badge
    Downloads: 53 This Week
    Last Update:
    See Project
  • 18
    64tass

    64tass

    An assembler for the legendary 6502 processor and it's derivatives

    64tass is cross assembler targeting the 65xx series of micro processors.
    Leader badge
    Downloads: 38 This Week
    Last Update:
    See Project
  • 19
    Atmel AVR Assembler for all platforms. Compatible with Atmel's own assembler. Extra macro features, auto type conversion for macros, conditional assembly, creates .coff files for debugging, special 100% identical output compared to orig. Atmel Assem
    Leader badge
    Downloads: 37 This Week
    Last Update:
    See Project
  • 20

    ACME Cross-Assembler

    multi-platform cross assembler for 6502/6510/65816 cpu

    ACME is a free cross assembler released under the GNU GPL. It can produce code for the following processors: 6502, 6510 (including illegal opcodes), 65c02 and 65816. ACME supports the standard assembler stuff like global/local/anonymous labels, offset assembly, conditional assembly and looping assembly. It can include other source files as well as binaries while assembling. Calculations can be done in integer or float mode. Oh, and it is fast.
    Leader badge
    Downloads: 51 This Week
    Last Update:
    See Project
  • 21
    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: 64 This Week
    Last Update:
    See Project
  • 22
    Dedexer is a disassembler tool for Android DEX files. The purpose is to create Jasmin-like source files from DEX files.
    Downloads: 27 This Week
    Last Update:
    See Project
  • 23
    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: 68 This Week
    Last Update:
    See Project
  • 24
    NASMX
    The NASMX Project is a collection of macros, includes and examples, which are meant to help NASM programmers develop 32-bit and 64-bit BSD, Linux, Windows, and XBOX software in a fraction of the time it normally takes.
    Leader badge
    Downloads: 19 This Week
    Last Update:
    See Project
  • 25
    Unfortunately this project has been suspended. If you wish to continue its development on your own, please feel free to contact me. UnPyc is a tool for disassembling, analyzing and decompiling Python's *.pyc and *.pyo files. UnPyc supports Python 2.5, 2.6.
    Downloads: 22 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next

Guide to Open Source Assemblers

Open source assemblers, or OSA’s, are development tools that allow users to create programs and applications using assembly language. Unlike high-level languages, which are more complicated and use more abstract commands, assembly is a low-level language which is much simpler and allows the programmer to directly access the processor. This makes assembly code faster and more memory efficient than programs written in higher-level languages.

OSA’s provide an ideal platform for coding in assembly language. The open source nature of these tools allows developers to collaborate on projects together as well as modify existing code quickly and easily. Assemblers include features such as macro preprocessors, linkers, debuggers and profilers which help developers write efficient code that runs smoothly on a computer’s processor. Some popular OSA’s include NASM (Netwide Assembler), FASM (Flat Assembler) and GAS (GNU Assembler).

The syntax of each OSA may vary slightly from other assemblers because each one has its own unique set of instructions used to communicate with the processor. Generally speaking though, all OSA’s have similar structures for instructions like labels, comments, directives, operators and operands. Labels are names used to identify locations within a program for branching or looping purposes while comments allow developers to leave notes about certain sections of code they wrote. Directives are special instructions given by the programmer which tell the assembler how they want their program compiled while operators perform actual calculations based on user input values called operands.

Overall, open source assemblers offer many advantages over traditional commercial debugging environments due to their highly customizable nature and support for additional programming languages such as C++ or Python. They also provide detailed error messages when something goes wrong during compilation making it easier for developers to identify problems with their programs before deploying them into production environments. As more and more developers look for ways to create software faster, OSA’s are likely to become even more popular in the coming years.

Features Offered by Open Source Assemblers

  • Cross-platform: Open source assemblers are designed to be able to run on multiple platforms and operating systems, making them an ideal choice for users who need a solution that can work across multiple devices.
  • Source Code Availability: As open source projects, all of the source code used in building the assembly program is available for review. This allows developers to modify and improve the program if they wish.
  • High Performance: Open source assemblers usually perform at high speeds since they are built with modern coding practices and optimized toolsets.
  • Documentation and Support: The documentation provided with open source assemblers can be comprehensive so that users can better understand how the software works. Additionally, there is often support from both the developer community as well as other users who may have encountered similar issues or problems before.
  • Interface Capabilities: With advanced user interfaces, open source assemblers often allow for simplified navigation within menus and windows, leading to faster operation cycles when using complex assembly tasks.
  • Free of Charge: One advantage of using open source programs is that it does not require licensing fees or other payments associated with obtaining licensed software solutions. This makes it an ideal choice for those who are operating on a tight budget.

What Are the Different Types of Open Source Assemblers?

  • GNU Assembler (GAS): This type of assembler is a free, open source software developed by the GNU Project. It works on many different platforms and supports a wide variety of assembly language syntaxes.
  • NASM: Also known as “Netwide Assembler”, this type of assembler is an x86 assembler designed for portability and modularity. It can be used to generate both 32-bit and 64-bit object code for Linux systems as well as Microsoft Windows operating systems.
  • AVR Assemblers: These are specialized assemblers for embedded microprocessor systems based on the AVR architecture from Atmel Corporation. They typically provide macros and pseudo-instructions specific to the particular microcontroller family they are designed to support.
  • Freeware Assemblers: This term refers to any freely available software that performs assembly language functions such as assembling, linking or debugging programs written using standard assembly languages such as MIPS or ARM architectures. The most popular freeware assemblers include MASM32, FASM and GoAsm.
  • Open Source Assemblers: These types of assemblers are developed by members of the open source community and distributed under various licenses such as GPL or BSD license agreements. Examples include Yasm (Yet Another Syntax Matcher) and LCC (LCC C Compiler).

Benefits Provided by Open Source Assemblers

  • Cost: Open source assemblers offer an alternative to high priced assembler software. By using open source tools, developers can save time and money by not having to purchase expensive proprietary solutions.
  • Flexibility: With open source solutions, users have the ability to customize their assembly process according to their specific needs. This allows them to tailor the code in a much more efficient manner than with the use of a standard commercial tool.
  • Community Support: Open source software solutions usually come with strong online community support from fellow developers and other users who are familiar with the development language and/or technology being used. This support can be invaluable when coding or debugging complex assemblies.
  • User Input & Feedback: Unlike most closed proprietary systems, open source platforms allow for direct user input into the coding process which helps reduce development time as any feedback or bug reports can quickly be taken into account and addressed accordingly.
  • Availability of Source Code: One of the biggest advantages of using an open source solution is that all of its code is freely available allowing you to modify it yourself if necessary without having to wait on vendor updates or patching cycles. Furthermore, users also have access to full documentation regarding how each feature works which allows for more complete modifications if needed.
  • Automation: Open source platforms also make it significantly easier to automate certain tasks and processes, allowing developers to quickly create complex programs without having to manually code each line from scratch. Additionally, using an open source solution often makes it simpler to integrate with other software applications and hardware systems.

Who Uses Open Source Assemblers?

  • Hobbyists: Amateur assembly programmers who use open source assemblers as a hobby and to learn more about the language.
  • Students: College and high school students using open source assemblers to complete programming assignments or develop their own projects.
  • Commercial Users: Companies that need an efficient way of coding without purchasing expensive integrated development environments (IDEs) or paying large sums for proprietary software licenses.
  • Academic Researchers: Academics using open source assemblers to produce research results, analyze data, and develop algorithm models.
  • Game Developers: Video game developers that require assembly code for complex tasks such as 3D graphics rendering and physics calculations.
  • Image Processing Specialists: Professionals working on image processing algorithms in fields like medical imaging and computer vision often rely on open source assembly code for small but critical pieces of the overall solution.
  • Embedded System Programmers: Engineers developing embedded systems use high level languages such as C++ during development but must also write some portions of the code in assembly due to resource constraints or speed requirements within microcontroller platforms.
  • Code Optimizers/Tuners: Software engineers that specialize in optimizing algorithms by hand often make use of open source assemblies for this purpose since they can be easily modified and tweaked with minimal effort.
  • Security Researchers: Professionals researching computer security may use open source assemblers to analyze possible exploits and vulnerabilities in software.

How Much Do Open Source Assemblers Cost?

Open source assemblers are completely free, meaning there is no cost associated with their use. An open source assembler provides the same basic functionality as a commercial (paid) one but is provided for free through its community of users. The software can be downloaded and used without any restrictions or paying fees. There may be additional costs associated with technical support or additional development resources should you need them, but these costs can vary greatly depending on the project and the organization providing the services. Open source assemblers are typically supported by a community of developers who volunteer their time to keep up with updating the codebase, fixing bugs, and adding features. As such, open source assemblers generally tend to have a more reliable codebase than proprietary software since it is being constantly maintained by its dedicated supporters.

What Do Open Source Assemblers Integrate With?

Open source assemblers can integrate with various types of software, including text editors, database systems, and compilers. Text editors are used to write assembly code and help programmers quickly find and edit syntax errors. Database systems provide a powerful way of managing data structures in complex programs, allowing developers to access and modify program elements quickly. Compilers are necessary for turning the assembly code into machine-readable binary instructions that can be executable on a computer system. All of these tools interact with open source assemblers to streamline development processes by enabling efficient collaboration on projects.

Recent Trends Related to Open Source Assemblers

  • Open source assemblers have become increasingly popular over the past few years due to their cost-effectiveness and flexibility.
  • They are typically created by a team of developers who work together to create an assembler that is open source and freely available to anyone who wishes to use it.
  • These assemblers offer a wide range of features, including the ability to assemble code for multiple different processors, as well as support for various data types, programming languages, and output formats.
  • Open source assemblers are often used in embedded systems, where they can be used to develop firmware for devices such as microprocessors and microcontrollers.
  • They are also often used in scientific computing and research due to their ability to process large amounts of data quickly and accurately.
  • Open source assemblers can also be used for educational purposes, allowing students to learn about computer architecture and assembly language programming.
  • Additionally, open source assemblers can be modified and improved upon by anyone with the necessary programming knowledge, allowing them to make use of the latest technology and features available.
  • This has led to a rise in the number of open source assemblers available, with new projects being released regularly.

Getting Started With Open Source Assemblers

Getting started with open source assemblers is relatively straightforward. First, you'll want to choose the right open source assembler for your project. There are numerous options available, from GNU Assembler and LLVM to MASM32 and Open Watcom. Each has its own nuances and capabilities, so be sure to do your research.

Once you've chosen an open source assembler, you'll need to install it on your machine. Depending on the version of the software, installation instructions should be readily available online or in its documentation. Many open source assemblers also have their own package managers that simplify the installation process even further. You may also need additional tools such as linkers and debuggers in order to use certain features of the software; be sure to check compatibility before downloading them as well.

With the installation complete, it's time to dive into writing assembly language code. First off, familiarize yourself with ASM syntax by reading some tutorials or taking a look at example code written using your chosen assembler language. This will give you a good idea of how things work and which commands are available for use in different cases. Additionally, many open source assemblers come with an integrated development environment (IDE) that make creating programs much easier; these usually feature helpful snippets and debugging functions that can help make things simpler than writing everything out by hand.

Finally, when it comes time to deploy your application onto hardware or other machines, most open source assemblers offer relevant packages or methods of doing so, just refer back to their specific documentation (if needed); to get up and running quickly.