/awesome-asm

A curated list of awesome Assembler

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.
JWasm http://jwasm.info/ JWasm is a free MASM-compatible assembler.

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