Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/artpar/awesome-bytecode

Awesome list for binary
https://github.com/artpar/awesome-bytecode

List: awesome-bytecode

assembly assembly-x86 awesome awesome-list awesome-lists binary code codegen transformer

Last synced: 23 days ago
JSON representation

Awesome list for binary

Awesome Lists containing this project

README

        

# Awesome Bytecode
Awesome list of tools built around working with bytecode

- [Papers](#Papers)
- [Disassemblers](#Disassemblers)
- [Debuggers](#Debuggers)
- [Code-gen](#Code-gen)
- [Rewrite](#Rewrite)
- [Hex Viewers](#hex-viewers)
- [File detectors](#file-detectors)
- [Strutcture definition](#structure-definition)

## Papers
- [Binary Rewriting without Control Flow Recovery](https://www.comp.nus.edu.sg/~gregory/papers/e9patch.pdf)
- [Invertible syntax descriptions: unifying parsing and pretty printing](https://dl.acm.org/doi/10.1145/1863523.1863525)
- [Awesome Binary Similarity Papers collection](https://github.com/SystemSecurityStorm/Awesome-Binary-Similarity)

## Code-gen
- [Zydis - Fast and lightweight x86/x86-64 disassembler and code generation library](https://github.com/zyantific/zydis)
- [E9Patch - A Powerful Static Binary Rewriter](https://github.com/GJDuck/e9patch)
- [Renovate - a static binary rewriter](https://github.com/GaloisInc/renovate)
- [RetroWrite -- Retrofitting compiler passes through binary rewriting](https://github.com/HexHive/retrowrite)
- [ddisasm - A fast and accurate disassembler](https://github.com/GrammaTech/ddisasm)
- [gtirb - Intermediate Representation for Binary analysis and transformation](https://github.com/GrammaTech/gtirb)

## Disassemblers
- [Zydis - Fast and lightweight x86/x86-64 disassembler and code generation library](https://github.com/zyantific/zydis)
- [Radare - UNIX-like reverse engineering framework and command-line toolset](https://github.com/radareorg/radare2)
- [Capstone - Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), BPF, Ethereum VM, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86](https://github.com/capstone-engine/capstone)
- [Miasm - Reverse engineering framework in Python](https://github.com/cea-sec/miasm)
- [Plasma - Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax](https://github.com/plasma-disassembler/plasma)
- [iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua](https://github.com/icedland/iced)
- [Reko - Reko is a binary decompiler](https://github.com/uxmal/reko)
- [REDasm - The OpenSource Disassembler](https://github.com/REDasmOrg/REDasm)
- [Distorm - Powerful Disassembler Library For x86/AMD64](https://github.com/gdabah/distorm)
- [Xed - Intel® X86 Encoder Decoder (Intel® XED)](https://github.com/intelxed/xed)

## Debuggers
- [x64dbg - An open-source binary debugger for Windows, aimed at malware analysis and reverse engineering of executables](https://github.com/x64dbg/x64dbg)
- [Ghidra is a software reverse engineering (SRE) framework](https://github.com/NationalSecurityAgency/ghidra)
- [ProcessDump - Windows tool for dumping malware PE files from memory back to disk for analysis](https://github.com/glmcdona/Process-Dump)

## Rewrite
- [E9Patch - A Powerful Static Binary Rewriter](https://github.com/GJDuck/e9patch)
- [Renovate - a static binary rewriter](https://github.com/GaloisInc/renovate)
- [Pin - A Dynamic Binary Instrumentation Tool](https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-dynamic-binary-instrumentation-tool.html)

## Hex-viewewrs
- [ImHex - A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.](https://github.com/WerWolv/ImHex)

## Structure definition
- [Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby](https://github.com/kaitai-io/kaitai_struct)
- [Apache daffodil - Open-source implementation of the Data Format Description Language to convert between fixed format data and XML, JSON, and other data structures](https://daffodil.apache.org/)
- [Wuffs - Wrangling Untrusted File Formats Safely](https://github.com/google/wuffs)
- [Binary template repository for 010 Editor](https://www.sweetscape.com/010editor/repository/templates/)
- [Grammars for Synalyze It! and Hexinator](https://github.com/synalysis/Grammars)
- [DFDL Schemas for Commercial and Scientific Data Formats](https://github.com/DFDLSchemas/)

## File detectors
- [Detect-It-Easy - Program for determining types of files for Windows, Linux and MacOS](https://github.com/horsicq/Detect-It-Easy)

## Language specific libraries
- Rust: [Deku: a declarative binary reading and writing: bit-level, symmetric, serialization/deserialization library](https://github.com/sharksforarms/deku)
- Golang: [Restruct: Rich binary de/serialization library for Golang](https://github.com/go-restruct/restruct)
- Python: [Construct: Construct is a powerful declarative and symmetrical parser and builder for binary data](https://construct.readthedocs.io/en/latest/intro.html)
- Python: [Hachoir: Python library to view and edit a binary stream field by field](https://github.com/vstinner/hachoir)
- Python: [pypcode: Python bindings to Ghidra's SLEIGH library for disassembly and lifting to P-Code IR](https://github.com/angr/pypcode)
- Rust: [Nom: nom is a parser combinators library written in Rust](https://github.com/rust-bakery/nom)