15 रिपॉजिटरी
Examination of intermediate language and native machine code to audit software without original source.
Distinct from Source Code Analysis: Candidates are either compilers or source code analysis; this focuses on analyzing the binary output (IL/native code).
Explore 15 awesome GitHub repositories matching development tools & productivity · Compiled Code Analysis. Refine with filters or upvote what's useful.
ILSpy is a .NET decompiler and binary analyzer designed to convert compiled .NET assemblies back into readable C# source code. It functions as a metadata explorer and a common intermediate language viewer, enabling the analysis of compiled code and the execution of reverse engineering workflows. The project distinguishes itself through specialized translation capabilities, such as converting compiled binary XML (BAML) back into human-readable XAML for user interface analysis. It also provides tools for inspecting native machine code and extracting metadata from program database (PDB) files.
Allows for the examination of intermediate language and native machine code to debug or audit software.
This project is a comprehensive educational resource and programming guide for the TypeScript language. It serves as a manual for the type system and a reference for the language's core syntax, focusing on writing type-safe code and building scalable applications. The content provides detailed instruction on the TypeScript type system, covering interfaces, generics, and structural typing. It further acts as a compiler reference, analyzing how source code is transformed into an abstract syntax tree through scanning and parsing. The guide also covers software architecture design, detailing pro
Analyzes the process by which the TypeScript compiler transforms source code into a syntax tree.
Compiler Explorer is an online tool and analysis platform used to translate source code into assembly in real time. It functions as a cross-compiler analysis tool, allowing users to examine how various compilers and versions translate the same source code into machine code to analyze optimizations and generation patterns. The platform supports low-level language debugging and the comparison of assembly output across different compiler toolchains. It also provides a self-hosted environment option for users who need to run private deployments with custom binaries or operate within secure offlin
Analyzes how source code is translated into assembly to understand compiler optimizations.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
An explanation of the preprocessing, compiling, assembling, and linking sequence.
Capstone is a multi-architecture disassembly framework and binary analysis engine. It translates raw machine code from various CPU architectures, such as x86, ARM, and RISC-V, into human-readable assembly instructions. The engine distinguishes itself by providing instruction semantic decomposition, which lists implicit registers read and written, and the ability to customize instruction mnemonics to meet specific technical analysis standards. It also features resilient stream disassembly, allowing the process to resynchronize and continue after encountering invalid instructions or embedded da
Translates raw machine code from various hardware architectures into readable assembly to understand program functions.
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
Calculates and composes stack signatures to determine if instruction sequences are compatible or reachable.
This project is a JavaScript optimizer, minifier, module bundler, transpiler, and static analysis tool. It provides a compilation pipeline designed to shrink file sizes and improve runtime performance. The system utilizes a multi-pass compilation process to perform dead code elimination, global name mangling, and static type inference. It identifies unreachable functions and unused variables to reduce the final output size and detects potential runtime errors without executing the code. The tool manages assets through dependency resolution, code chunking, and bundle management. It ensures co
Provides the ability to print the state of the code after each optimization phase to identify bugs.
AssetRipper is a suite of tools designed for the recovery and analysis of Unity game projects. It functions as an asset extractor, project reconstructor, shader decompiler, binary analysis tool, and dependency auditor. The project specializes in recovering high-level structures from compiled binaries. It reconstructs prefabs from inlined scene instances, reverses static batching to separate merged meshes, and translates compiled shader code from multiple platforms back into a readable format. Its broader capabilities include converting serialized files and bundles back into native engine for
Recovers method logic and structural flow from compiled binaries using binary analysis.
Trail of Bits detects information leaks introduced by compiler optimization passes despite correctness certification.
JPEX Software is a comprehensive reverse engineering suite for SWF binary files, serving as an ActionScript decompiler and editor. It provides a toolkit for decompiling, analyzing, and modifying the internal structure of compiled Flash content, including the extraction of scripts and media assets. The project is distinguished by its ability to perform direct binary modification, allowing users to edit bytecode and replace embedded resources without reverting to high-level source code. It includes a runtime ActionScript bytecode debugger for variable inspection and call stack analysis, as well
Extracts and reads ActionScript source code from compiled files to understand how an application works.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Extracts the intermediate representation of compiled GPU kernels for debugging and analysis.
यह प्रोजेक्ट Go भाषा के इंटरनल्स के लिए एक तकनीकी गाइड है, जो Go कंपाइलर, रनटाइम और टूलचेन के विश्लेषण पर केंद्रित है। यह सिस्टम के संचालन के तकनीकी सिद्धांतों को समझने के लिए आधिकारिक सोर्स कोड का अध्ययन करने का एक संसाधन है। यह संसाधन Go बिल्ड प्रक्रिया का विखंडन प्रदान करता है, जो लेक्सिंग और पार्सिंग से लेकर ऑप्टिमाइज़ेशन पास और इंटरमीडिएट रिप्रेजेंटेशन तक, अंतिम मशीन बाइनरी तक कोड को ट्रैक करता है। इसमें मेमोरी मैनेजमेंट और निष्पादन पैटर्न की जांच करने के लिए Go शेड्यूलर और गार्बेज कलेक्टर का विश्लेषण शामिल है। यह प्रोजेक्ट कंपाइलर पास के विज़ुअलाइज़ेशन और आंतरिक रनटाइम स्थितियों के अवलोकन को कवर करता है। ये क्षमताएं Go टूलचेन के अध्ययन और प्रदर्शन अनुकूलन के लिए संसाधन प्रबंधन पैटर्न की पहचान करने में सहायता करती हैं।
Offers a detailed study of how Go source code is parsed and transformed into intermediate representations.
IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various frameworks into optimized binaries for execution across diverse hardware targets. It provides a unified pipeline to ingest models from PyTorch, TensorFlow, JAX, and ONNX, lowering them into a common intermediate representation for deployment on CPUs, GPUs, and bare-metal embedded systems. The project distinguishes itself through a bytecode virtual machine and a hardware abstraction layer that decouple high-level model logic from specific hardware instruction sets. It supports sophis
Snapshots and analyzes the intermediate representation between compiler passes to detect regressions.
RLS is a language server that provides language intelligence for the Rust programming language. It implements the Language Server Protocol to enable a standardized communication layer between the Rust compiler and various editor clients. The project focuses on providing real-time code completions, symbol navigation, and type information. It also supports automated structural changes, such as workspace-wide symbol renaming, to maintain semantic correctness during refactoring. The system incorporates static code analysis for linting and formatting, alongside a mechanism for incremental compila
Runs analysis tools on stable toolchains by emulating the compiler driver and overriding internal properties.
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
Processes compiler intermediate representations to perform deep structural inspection of software logic.