9 dépôts
Mapping binary instructions or expressions back to their original source code locations for debugging.
Distinct from Source Code Mapping: Distinct from generic Source Code Mapping by specifically addressing binary-to-text mapping in the context of WebAssembly.
Explore 9 awesome GitHub repositories matching development tools & productivity · Binary-to-Source Mapping. 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
Provides source map management to link compiled expressions back to original source code locations.
LLM4Decompile est un ensemble d'outils et un framework pour la traduction de code binaire vers code source. Il utilise des grands modèles de langage pour transformer le code machine en code source lisible et récupérer la logique originale des exécutables compilés. Le projet inclut un pipeline spécialisé pour générer des datasets d'entraînement synthétiques en convertissant le code source en paires d'assembleur. Il fournit un framework de fine-tuning pour optimiser les modèles de deep learning sur ces datasets binaire-vers-source, augmentant la précision de la récupération de code. Le système propose également des capacités pour raffiner le pseudo-code décompilé. Ce processus se concentre sur la restauration du squelette structurel et des noms de variables d'un binaire pour améliorer la lisibilité de la logique désassemblée.
Reconstructs high-level source code logic by translating compiled binary instructions.
Defold est un moteur de jeu multiplateforme et un environnement de développement intégré utilisé pour créer des jeux 2D et 3D pour desktop, mobile et web. Il combine un IDE de développement de jeu pour la gestion des assets et des scènes avec un système de build multiplateforme et un environnement de script basé sur Lua. Le moteur inclut un runtime headless spécialisé pour héberger des serveurs de jeu et effectuer des tests automatisés sans interface graphique. Il prend en charge les extensions de moteur natives, permettant d'intégrer du code bas niveau personnalisé dans le cœur pour étendre les fonctionnalités au-delà de l'interface de script standard. L'ensemble d'outils couvre l'automatisation du build de jeu pour la distribution sur des plateformes telles que Steam et l'Epic Games Store, ainsi que l'empaquetage d'assets et la gestion de la localisation de projet. Les capacités de développement incluent le débogage de jeu en temps réel avec des mises à jour d'état en direct, l'analyse de la taille du build et les tests de fumée automatisés.
Maps compiled machine code back to source files using symbol maps to analyze binary size and bloat.
Bloaty est un profileur de taille binaire et un analyseur de format exécutable qui attribue chaque octet d'un binaire à des symboles ou des unités de compilation spécifiques. Il fonctionne comme un profileur d'unité de compilation et un démangleur de symboles C++, mappant la taille binaire vers les fichiers sources et traduisant les noms mangled en formats lisibles par l'humain. Le projet se distingue comme un outil de diff binaire capable de comparer deux versions d'un binaire pour isoler des symboles ou des sections spécifiques responsables de régressions de taille. Il fournit une prise en charge spécialisée pour récupérer les symboles dans les binaires stripés en les associant à des fichiers de débogage externes utilisant des identifiants de build. L'outil fournit une analyse binaire complète pour les formats ELF, Mach-O, PE/COFF et WebAssembly. Ses capacités incluent l'analyse des sections de l'éditeur de liens, des segments mémoire et des archives de bibliothèques statiques, ainsi que l'identification de l'espace consommé par les fonctions inlinées. Les utilisateurs peuvent isoler davantage les données en utilisant le filtrage par expression régulière et exporter les résultats de profilage dans des formats CSV ou TSV.
Associates binaries with source map files to enable compile unit and inline profiling.
Ce projet est un projet de décompilation de jeu consistant en une base de code source C reconstruite et les systèmes utilisés pour la reconstruction binaire. Il fournit une version lisible par l'homme d'un titre de jeu commercial créé par analyse statique et dynamique pour faciliter l'étude technique et la modification. Le projet utilise un environnement de build conteneurisé pour assurer une compilation reproductible et des versions de toolchain cohérentes à travers différents systèmes d'exploitation hôtes. Il inclut un reconstructeur de binaire de jeu qui traduit le code machine original en code source et un système pour compiler la base de code en plusieurs binaires régionaux et spécifiques à la plateforme. La toolchain couvre des pipelines de compilation croisée et la gestion des variantes de build, utilisant une toolchain GCC spécifique pour cibler des architectures matérielles différentes de l'hôte. Des capacités supplémentaires incluent la génération de documentation technique pilotée par métadonnées et des shells de conteneurs interactifs pour l'analyse manuelle et le débogage.
Implements a system to translate original machine code binaries back into readable C source code.
Hotspot est une interface utilisateur graphique pour analyser et visualiser les données de performance capturées par l'outil Linux perf. Il fonctionne comme un visualiseur de profilage de performance et un profileur au niveau de l'assembleur qui mappe les coûts de performance à des instructions spécifiques synchronisées avec le code source original. Le projet se distingue par un résolveur de symboles distant qui mappe les données de performance des cibles embarquées vers les symboles de debug de l'hôte local et les sysroots. Il inclut également un outil d'analyse off-CPU spécialisé conçu pour identifier les temps d'attente des threads et les blocages I/O en utilisant les tracepoints du planificateur du noyau. L'outil couvre un large éventail de capacités d'analyse de performance, incluant le profilage CPU, l'inspection de code bas niveau et le filtrage de données basé sur la chronologie. Il fournit des méthodes de visualisation telles que les flame graphs et les call graphs pour identifier les goulots d'étranglement du système et les fonctions inlinées. Le système supporte l'enregistrement de données en lançant des outils de profilage pour de nouvelles applications ou en s'attachant à des processus existants, et permet l'export des profils de performance analysés dans des formats portables pour un partage inter-machines.
Links disassembled machine instructions back to their original source code locations for detailed performance debugging.
wxappUnpacker est un outil de récupération et de décompilation de code source pour mini-programmes, conçu pour extraire et restaurer le code source à partir de paquets de mini-programmes WeChat compilés. Il fonctionne comme un utilitaire spécialisé pour décompresser et décoder les fichiers WXML afin de récupérer la logique applicative originale. L'outil se concentre sur la récupération du code source frontend et l'ingénierie inverse. Il restaure des fichiers WXML et JavaScript lisibles par l'homme à partir d'actifs compilés pour permettre l'analyse des structures et fonctionnalités internes de l'application. Le processus de récupération implique une analyse statique, une extraction récursive des actifs et une reconstruction de code basée sur des modèles. Il utilise le mappage bytecode-vers-source et la décompression basée sur des motifs pour traduire les instructions binaires compilées en code source lisible.
Implements the full reconstruction of high-level source code logic from compiled binary instructions.
SpaceCadetPinball is a reverse-engineered, cross-platform port of the classic 3D Pinball - Space Cadet game, rebuilt from the original binary without access to its source code. It functions as an asset-driven pinball emulator that loads the original game data files to recreate the authentic visual and audio experience on modern hardware, preserving the legacy title through binary-to-source porting and reverse engineering. The project distinguishes itself by reconstructing the game's logic through runtime analysis of the original compiled instructions, translating them back into readable C++ c
Reconstructs game logic by translating compiled binary instructions back into readable C++ source code.
Apkstudio is a reverse engineering integrated development environment designed for decompiling, modifying, and recompiling Android application packages. It provides a specialized suite for transforming binary files into readable source code and bundling them back into installable application archives. The project features a framework integration system that imports manufacturer-specific files to ensure accurate decompilation of vendor-modified applications. It includes a dedicated editor for Smali, Java, and XML files with syntax highlighting, as well as a hex editor for the direct modificati
Provides the full reconstruction of Android binary instructions back into readable Smali and Java source code.