11 Repos
The process of converting human-readable assembly or text formats into executable binary data.
Distinct from Binary Disassembly: Distinct from disassembly: this is the reverse process, converting text back into binary.
Explore 11 awesome GitHub repositories matching operating systems & systems programming · Binary Assembly. Refine with filters or upvote what's useful.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Converts human-readable text formats into binary data for machine execution.
Das WebAssembly Binary Toolkit ist eine Sammlung von Tools zum Inspizieren, Validieren und Transformieren von WebAssembly-Modulen zwischen binären und menschenlesbaren Darstellungen. Es enthält einen Stack-basierten Interpreter zur Ausführung von Modulen sowie einen Transpiler, der Binärdateien in C-Quellcode und Header konvertiert. Das Toolkit bietet Dienstprogramme zum Assemblieren von menschenlesbarem Text in Binärmodule und zum Disassemblieren von Binärdateien zurück in Text. Es verfügt über einen Text-Formatter zur Normalisierung von Definitionen in eine kanonische flache Darstellung und unterstützt die Konvertierung von Binärdateien in S-Expression-Formate. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Binärmanipulation, wie das Entfernen von Metadaten-Sektionen, und Modul-Inspektion zur Extraktion struktureller Statistiken und Debug-Symbole. Es bietet zudem Validierungstools zur Überprüfung der binären Korrektheit gemäß technischer Spezifikationen sowie eine Laufzeitumgebung für die Ausführung von WASI-konformer Logik.
Transforms human-readable text definitions into binary WebAssembly modules for execution.
Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back again. It provides a mechanism for the disassembly and assembly of executable files used in virtual machine environments. The project enables the modification of compiled Android application logic by transforming binary files into editable assembly and rebuilding them. It is used for reverse engineering, malware analysis, and the study of low-level instructions to identify program behavior or security flaws. The toolkit covers binary construction through smali code assembly a
Transforms human-readable assembly instructions back into executable Dalvik binary files.
SASM ist eine plattformübergreifende integrierte Entwicklungsumgebung (IDE) zum Schreiben, Assemblieren und Debuggen von Low-Level-Assembler-Code. Sie dient als einheitlicher Editor und Ausführungsablauf für die Assembler-Sprachentwicklung über verschiedene Betriebssysteme hinweg. Die Umgebung unterstützt mehrere Assembler-Sprachen und deren jeweilige Toolchains, einschließlich NASM, MASM, GAS und FASM, innerhalb einer einzigen Schnittstelle. Sie verfügt über einen Debugger auf Binärebene, der das schrittweise Durchlaufen von Anweisungen sowie die Inspektion von CPU-Registern und Variablenzuständen ermöglicht. Das Projekt bietet eine Toolchain-basierte Build-Pipeline und ein Konfigurationssystem zur Auswahl von Assembler- und Linker-Versionen. Es enthält zudem einen Workspace-Manager mit tab-basierter Dokumentenverwaltung und Sitzungspersistenz, um geöffnete Dateien nach einem Neustart wiederherzustellen. Um ein konsistentes Verhalten über Plattformen hinweg sicherzustellen, verwendet die Software einen einheitlichen Wrapper zur Standardisierung von Tastatureingaben und Bildschirmausgaben.
Orchestrates the sequence of assembling and linking source code using external binaries and configurations.
LIEF ist ein Framework zum Parsen, Modifizieren und Analysieren ausführbarer Binärformate und System-Shared-Caches über mehrere Plattformen hinweg. Es dient als plattformübergreifende Bibliothek für die programmatische Manipulation von ELF-, PE- und MachO-Binärdateien. Das Projekt bietet Tools zur Änderung der internen Struktur und der Sektionen ausführbarer Dateien, um das Programmverhalten zu ändern. Es enthält zudem einen dedizierten Parser zur Wiederherstellung einzelner dynamischer Bibliotheken aus kombinierten System-Shared-Caches. Das Toolset deckt die Analyse ausführbarer Binärdateien, das Disassemblieren von Maschinencode und die Extraktion von Debug-Metadaten und Symbolinformationen ab. Es unterstützt zudem die bidirektionale Übersetzung von Maschinencode und Assembler über verschiedene Prozessorarchitekturen hinweg.
Includes a utility to convert human-readable assembly instructions back into executable binary machine code.
This project is a comprehensive technical guide and course for reverse engineering iOS applications. It serves as a manual for dissecting mobile binaries using disassembly and debugging tools to analyze internal application logic and behavior. The material functions as a reference for ARM assembly and Objective-C theories, providing the necessary framework to translate low-level machine code into human-readable logic. It combines theoretical study with practical exercises to validate the use of reverse engineering tools on real-world binaries. The scope covers static binary analysis, dynamic
Provides a comprehensive guide on converting compiled machine code into human-readable assembly for iOS binary analysis.
Miasm ist ein Python-Framework für Reverse Engineering, das für Binäranalyse, Disassembly und Modifikation entwickelt wurde. Es fungiert als Framework für die Binäranalyse, das Maschinencode in eine Zwischenrepräsentation (Intermediate Representation) überführt, um plattformunabhängige Sicherheitsforschung zu ermöglichen. Das System arbeitet als Emulations-Engine und Modifikations-Toolkit, das die Ausführung von Binärcode in einer virtuellen Umgebung erlaubt, um Zustandsänderungen ohne native Hardware nachzuverfolgen. Es bietet Tools für Binary Patching, um Roh-Binärdateien über verschiedene CPU-Architekturen und ausführbare Formate hinweg zu aktualisieren und zu modifizieren. Das Framework deckt Funktionen für Disassembly, das Lifting in Zwischenrepräsentationen und semantische Vereinfachung ab, um Binär-Obfuskation zu entfernen. Es beinhaltet Unterstützung für das Parsing von Binärformaten und Memory Mapping, um Referenzen und Layouts während der Analyse kompilierter Programme zu verfolgen.
Translate assembly language into machine code and convert binary bytes back into human-readable instructions.
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
Converts raw binary instructions into human-readable assembly language for analysis.
APKLab is an integrated security analysis platform and reverse engineering IDE for Android applications. It provides a unified environment for decompiling binaries into source code, repackaging modified applications into signed installers, and performing comprehensive security analysis. The platform distinguishes itself by combining static and dynamic analysis workflows. It enables the injection of runtime hooks and gadget libraries to monitor application behavior, while providing specialized patching capabilities to intercept and decrypt encrypted network traffic via a proxy. The toolkit co
Decodes application binaries into Smali assembly code for detailed analysis and modification.
PE-bear is a graphical portable executable analysis tool designed for inspecting, disassembling, and modifying the structure of Windows PE binary files. It functions as a static analysis framework used to identify malicious patterns and reverse engineer program logic. The project provides a binary diffing tool to identify structural and content differences between two executable files. It also includes a section editor for modifying binary layouts by adding or altering sections and imports. The tool covers a range of binary analysis capabilities, including machine code disassembly, file layo
Translates binary data into human-readable assembly instructions starting from a specific address or file offset.
This project is an ARMv8 assembly programming guide and tutorial designed to teach the translation of high-level logic into low-level machine instructions. It serves as a low-level systems programming reference for writing and executing code specifically for the ARMv8 architecture. The resource provides instructions for cross-platform assembly implementation, focusing on unifying symbol naming and memory addressing to ensure source code builds across different operating systems. It also covers the integration of assembly routines with higher-level languages using standardized calling conventi
Provides a technical walkthrough of the preprocessing, assembling, and linking pipeline.