8 Repos
Processes that translate machine code into a common intermediate representation for cross-architecture analysis.
Distinct from Cross-Architecture Binary Analysis: Focuses specifically on the translation to IR (lifting) rather than the general analysis of the resulting binaries.
Explore 8 awesome GitHub repositories matching operating systems & systems programming · Intermediate Representation Lifting. Refine with filters or upvote what's useful.
Angr is a binary analysis framework and static analysis tool used for reverse engineering compiled binaries. It serves as a binary decompiler and a lifting platform that translates machine code into a common intermediate representation to enable cross-architecture analysis. The framework integrates a symbolic execution engine and constraint solvers to determine the inputs required to reach specific program states. It also employs untrusted code sandboxing to isolate guest code from the host environment during analysis. Its capabilities cover control flow and data flow analysis, including the
Translates machine code from various architectures into a common intermediate representation to enable unified analysis.
RetDec is a reverse engineering framework and static binary analysis tool. Its primary purpose is to function as an LLVM-based machine code decompiler that translates binary machine code from multiple architectures into high-level C source code. The system employs a multi-stage lifting pipeline to recover program logic, using an intermediate representation to apply optimizations before emitting source code. It distinguishes itself through the ability to identify compilers and packers, perform executable unpacking, and reconstruct class hierarchies and original program structures. The framewo
Lifts machine code into a common intermediate representation to enable cross-architecture analysis and optimizations.
Retdec is an LLVM-based machine code decompiler and static binary analysis tool designed for binary reverse engineering. It translates binary executable code into high-level representations to facilitate the reconstruction of program logic from compiled machine code. The system utilizes a retargetable frontend architecture and a multi-stage lifting pipeline to convert raw bytes into a common intermediate language. It differentiates custom program logic from known library code through signature-based identification and provides utilities for binary symbol demangling to restore human-readable n
Translates machine code into a common intermediate representation to facilitate cross-architecture analysis and optimization.
This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to
Traces arguments and return values through intermediate representations to determine how data moves through a program.
SpotBugs ist ein statisches Analysetool und Bytecode-Analyzer für Java-Anwendungen. Es scannt kompilierte Klassendateien, um Bugs, Sicherheitslücken und Leistungsprobleme zu identifizieren, ohne den Code auszuführen. Das System fungiert sowohl als Bug-Detektor als auch als Tool für statische Anwendungssicherheitstests (SAST), um logische Fehler und API-Missbrauch aufzuspüren. Das Projekt zeichnet sich durch eine Plugin-basierte Detektor-Architektur aus, die die Integration externer Bibliotheken zur Hinzufügung benutzerdefinierter Erkennungsregeln ermöglicht. Es bietet spezialisierte Sicherheitsaudits für Schwachstellen wie SQL-Injection, Cross-Site Scripting und Path Traversal sowie ein modulares System zur Verfeinerung der Analysepräzision und Reduzierung von False Positives. Das Tool deckt ein breites Spektrum an Erkennungsbereichen ab, einschließlich Synchronisationsfehlern bei Nebenläufigkeit, Null-Pointer-Dereferenzierungen, Ressourcenlecks und Typumwandlungsfehlern. Es identifiziert zudem toten Code, Leistungsineffizienzen und Verstöße gegen Serialisierungs-Idiome. Diese Funktionen sind über eine Kommandozeilenschnittstelle, eine grafische Benutzeroberfläche und die direkte Integration in IDEs zugänglich. SpotBugs kann in Build-Pipelines integriert werden, um Qualitäts-Gates durchzusetzen und Analyseberichte in HTML- oder XML-Formaten zu generieren.
Tracks the flow of values across method boundaries to detect null pointer dereferences and resource leaks.
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.
Translates architecture-specific assembly into a generic language to perform platform-independent analysis and simplification.
Flare-floss is a security utility and static binary string extractor designed to uncover hidden text and configuration data within compiled binaries. It functions as an obfuscated string decoder and reverse engineering tool to translate encoded strings into readable text for security auditing. The project employs emulated execution to capture the decrypted state of strings in memory by running small chunks of binary code in a virtual CPU. It further utilizes static analysis disassembly, intermediate representation analysis, and heuristic-based pattern matching to identify and decode strings t
Converts machine instructions into a simplified intermediate representation to track data flow and string manipulation logic.
Phasar is a static analysis framework designed for the inspection of software logic through the processing of compiler intermediate representations. It provides a modular pipeline for building program representations, including call graphs, control flow graphs, and type hierarchies, which serve as the foundation for deep structural analysis of software behavior. The framework specializes in interprocedural data flow analysis and pointer alias resolution, enabling the tracking of information movement across function boundaries and the identification of indirect memory access patterns. By lever
Executes data flow analyses using standard algorithmic frameworks to track information propagation.