4 repository-uri
Platforms and engines for building custom code analysis and structural transformation tools.
Explore 4 awesome GitHub repositories matching part of an awesome list · Static Analysis Frameworks. Refine with filters or upvote what's useful.
This project is a compiler development tutorial that provides a series of guides and exercises for building a complete compiler from scratch. It focuses on the implementation of a structured compilation pipeline to transform high-level source code into executable machine instructions. The project covers the creation of a machine code generator for specific processor architectures and a static analysis framework. This framework includes methodologies for implementing type checking and constant folding to verify logic correctness before the final execution phase. The instructional material enc
Provides a framework for implementing static analysis tasks like type checking and constant folding.
Semantic este o bibliotecă bazată pe Haskell și un instrument CLI conceput pentru analiza poliglotă a codului sursă. Funcționează ca un framework de analiză statică a programelor și ca un parser poliglot de arbori de sintaxă abstractă (AST), care convertește codul din mai multe limbaje de programare în arbori de sintaxă structurați, pe baza definițiilor gramaticale. Sistemul se distinge printr-un motor de comparare semantică a codului care detectează modificările structurale și de logică între versiuni, în loc să se bazeze pe diferențe textuale. De asemenea, permite analiza între sintaxe diferite prin traducerea limbajelor de nivel înalt într-o reprezentare intermediară poliglotă unificată. Framework-ul oferă o suită largă de capabilități pentru parsarea limbajelor precum Rust, Go, Python, Ruby, PHP, TypeScript și TSX. Acoperă analiza semantică prin maparea scopului codului, extragerea simbolurilor și generarea de grafuri semantice, alături de instrumente pentru analiza modelelor și evaluarea comportamentului programelor. Setul de instrumente include utilitare CLI pentru standardizarea layout-ului fișierelor sursă Haskell.
Provides a framework for mapping code scopes and extracting symbols to analyze program behavior.
Simplify este un sandbox de mașină virtuală Android, un trasor de execuție bytecode și un framework de analiză statică. Acesta servește drept deobfuscator de bytecode Dalvik, conceput pentru a recupera cod lizibil din binare prin simularea comportamentului programului fără a utiliza un dispozitiv fizic. Proiectul se distinge prin utilizarea analizei grafului de execuție pentru a rezolva apelurile de reflexie și a simplifica codul obfuscated prin propagarea constantelor și eliminarea codului mort. Utilizează simularea execuției pe mai multe căi pentru a urmări toate rezultatele posibile ale ramurilor condiționale și mapează fluxul de instrucțiuni pentru a identifica valorile constante. Sistemul acoperă o gamă largă de capabilități de analiză, inclusiv trasarea propagării excepțiilor, categorisirea efectelor secundare ale metodelor și simularea apelurilor API Java. De asemenea, oferă mecanisme pentru interceptarea execuțiilor metodelor prin hook-uri personalizate pentru a monitoriza sau suprascrie stările mașinii virtuale.
Provides a framework for simulating Java API calls and exception propagation to recover readable code from binaries.
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
Provides a suite of tools for identifying malicious patterns and reversing logic through signature matching.