8 repository-uri
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 este un instrument de analiză statică și un analizor de bytecode pentru aplicații Java. Acesta scanează fișierele de clasă compilate pentru a identifica bug-uri, vulnerabilități de securitate și probleme de performanță fără a executa codul. Sistemul funcționează atât ca un detector de bug-uri, cât și ca un instrument de testare statică a securității aplicațiilor pentru a localiza erori logice și utilizarea greșită a API-urilor. Proiectul se distinge printr-o arhitectură de detectare bazată pe plugin-uri care permite integrarea bibliotecilor externe pentru a adăuga reguli de detectare personalizate. Oferă audit de securitate specializat pentru vulnerabilități precum SQL injection, cross-site scripting și path traversal, alături de un sistem modular pentru rafinarea preciziei analizei și reducerea rezultatelor fals pozitive. Instrumentul acoperă o gamă largă de zone de detectare, inclusiv erori de sincronizare a concurenței, dereferențieri de pointeri nuli, scurgeri de resurse și erori de type casting. De asemenea, identifică codul mort, ineficiențele de performanță și încălcările idiomurilor de serializare. Aceste capabilități sunt accesibile printr-o interfață de linie de comandă, o interfață grafică și integrare directă în mediile de dezvoltare integrate (IDE). SpotBugs poate fi integrat în pipeline-urile de build pentru a impune porți de calitate și a genera rapoarte de analiză în formate HTML sau XML.
Tracks the flow of values across method boundaries to detect null pointer dereferences and resource leaks.
Miasm este un framework Python de reverse engineering conceput pentru analiză binară, dezasamblare și modificare. Funcționează ca un framework de analiză binară care ridică codul mașină într-o reprezentare intermediară pentru a permite cercetarea de securitate independentă de platformă. Sistemul operează ca un motor de emulare binară și toolkit de modificare, permițând execuția codului binar într-un mediu virtual pentru a urmări schimbările de stare fără hardware nativ. Oferă instrumente pentru patching binar, pentru a actualiza și modifica fișiere binare brute pe mai multe arhitecturi CPU și formate executabile. Framework-ul acoperă capabilități pentru dezasamblare, ridicarea reprezentării intermediare și simplificarea semantică pentru a elimina ofuscarea binară. Include suport pentru parsarea formatelor binare și maparea memoriei pentru a urmări referințele și layout-ul în timpul analizei programelor compilate.
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.