Awesome Assembler [wiki]

A curated list of awesome Assembler :)


Assembler List

| Name | Url | Desc | | ---------------------------------- | :----------------------------------------------------------- | -----------------------------------------------------------: | | Flat Assembler (FASM) | http://flatassembler.net/ | is a fast assembly language compiler for the x86 architecture processors, which does multiple passes to optimize the size of generated machine code | | Microsoft Macro Assembler (MASM) | https://www.microsoft.com/en-us/download/details.aspx?id=12654 | is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows | | Netwide Assembler (NASM) | http://www.nasm.us/ | is an assembler and disassembler for the Intel x86 architecture | | YASM | http://yasm.tortall.net/ | is an assembler and disassembler for the Intel x86 architecture. Yasm is a full rewrite of Netwide Assembler (NASM). | | ILASM - IL Assembler | http://msdn.microsoft.com/en-us/library/496e4ekx%28v=VS.100%29.aspx | ILAsm (IL Assembler) generates a portable executable (PE) file from Common Intermediate Language (CIL) code | | PeachPy | https://github.com/Maratyszcza/PeachPy | is an x86-64 assembler embedded in Python which targets high-performance computing audience. PeachPy can generate object files or assembly listings for Windows, Linux, Mac OS X, Native Client, and Go from the same source | | FLASM | http://www.nowrap.de/flasm | Flasm is a free command line assembler/disassembler of Flash ActionScript bytecode. It lets you make changes to any SWF. Flasm fully supports SWFs produced by Macromedia Flash 8 and earlier. | | XEDParse | https://github.com/x64dbg/XEDParse | XEDParse is an open source (LGPLv3) library for assembling single x86(-x64) instructions from text to bytes. Useful to integrate in reverse engineering frameworks to quickly assemble instructions. | | HLA | http://www.plantation-productions.com/Webster/HighLevelAsm/index.html | High Level Assembly (HLA) is an assembly language developed by Randall Hyde. It allows the use of higher-level language constructs to aid both beginners and advanced assembly developers. |

Disassembler & Debuggers

| Name | Url | Desc | | -------------------- | :----------------------------------------------------------- | -----------------------------------------------------------: | | IDA PRO | https://www.hex-rays.com/products/ida/index.shtml | IDA is a Windows, Linux or Mac OS X hosted multi-processor disassembler and debugger that offers so many features it is hard to describe them all. | | OllyDbg | http://www.ollydbg.de | is an x86 debugger that emphasizes binary code analysis, which is useful when source code is not available. most popular! | | x64_dbg | http://x64dbg.com/#start | An open-source x64/x32 debugger for windows. | | Visual DuxDebugger | http://www.duxcore.com | Visual DuxDebugger is a 64-bit debugger disassembler for Windows executables, especially useful when source code is unavailable. The user interface is very intuitive so it makes very simple any task in reverse. | | Immunity Debugger | http://debugger.immunityinc.com | Immunity Debugger is a powerful new way to write exploits, analyze malware, and reverse engineer binary files. It builds on a solid user interface with function graphing, the industrys first heap analysis tool. | | Hopper | http://www.hopperapp.com | Hopper is a binary disassembler, decompiler and debugger for 32bits and 64bits executables. Hopper can disassemble Mac (Intel 32/64), iOS (ARM/Intel), PE (PE32/32+/64) and ELF (Intel 32/64 and ARM). | | WinDbg | http://www.windbg.org | WinDbg is a multipurposed debugger for Microsoft Windows, distributed on the web by Microsoft as part of the Debugging Tools for Windows. | | Syser | https://github.com/marakew/syser | Syser Kernel Debugger is designed for Windows NT Family based on X86 platform. It is a kernel debugger with full-graphical interfaces and supports assembly debugging and source code debugging. | | Radare2 | http://rada.re | An open-source complete framework for reverse-engineering and analyzing binaries; composed of a set of small utilities that can be used together or independently from the command line. | | ILDASM | https://docs.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler | .NET Disassembler | | dnSpy | https://github.com/0xd4d/dnSpy | .NET debugger and assembly editor |

IDE

| Name | Url | Desc | | -------------------- | :----------------------------------------------------------- | -----------------------------------------------------------: | | Visual Studio 20XX | https://www.visualstudio.com | Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. | | RadASM | http://oby.ro/rad_asm/)* | RadASM — a free Integrated development environment for Microsoft Windows originally designed for writing programs in assembly language. It has a flexible system of configuration files, and can be used to develop software in high-level programming languages and to author documents based on a markup language. It was created by the programmer Ketil Olsen (KetilO). | | EasyCode | http://www.winasm.net | WinAsm Studio is a free Integrated Development Environment IDE for developing 32-bit Windows and 16-bit DOS programs using the Assembler. | | WinAsm Studio | http://www.duxcore.com | Visual DuxDebugger is a 64-bit debugger disassembler for Windows executables, especially useful when source code is unavailable. The user interface is very intuitive so it makes very simple any task in reverse. | | Visual MASM | http://www.visualmasm.com | IDE for MASM written in Delphi. What? It is dev brain. | | MASM Builder | http://www.digitaction.com/index.php/products/masm-builder-integrated-development-environment-for-masm32.html | MASM Builder is a free Integrated Development Environment IDE for developing 32-bit Windows programs using the Assembler. MASM Builder contains many useful features which will assist you in creating Windows API based programs. | | SASM | https://dman95.github.io/SASM | SASM (SimpleASM) - simple Open Source crossplatform IDE for NASM, MASM, GAS, FASM assembly languages. SASM has syntax highlighting and debugger. The program works out of the box and is great for beginners to learn assembly language. SASM is translated into Russian and English. Licensed under the GNU GPL v3.0. Based on the Qt. |

Books

32-bit, 64-bit, SSE, and AVX by Daniel Kusswurm

Common Intermediate Language (wiki) by Serge Lidin

by Kip Irvine (great book!)

by Randall Hyde

External links


Creative Commons License