6 repositorios
Tools for resolving symbols and managing memory layouts to merge multiple object files into a single binary.
Distinct from Linker Script Layouts: The identity of the tool itself, distinct from specific linker script layout definitions.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Binary Linkers. Refine with filters or upvote what's useful.
Fishhook es una librería de instrumentación binaria para iOS y simuladores de iOS. Funciona como un re-enlazador e instrumentador de símbolos Mach-O, permitiendo el reemplazo de implementaciones de librerías del sistema con lógica personalizada en tiempo de ejecución. El proyecto redirige llamadas a funciones actualizando punteros de símbolos perezosos y no perezosos dentro de segmentos de datos binarios Mach-O. Este enfoque permite la interceptación y modificación del comportamiento de funciones existentes sin alterar el binario original en el disco. El conjunto de herramientas cubre la instrumentación binaria y el hooking dinámico para aplicaciones iOS, facilitando el monitoreo y la alteración de llamadas a funciones a través de la redirección de direcciones en tiempo de ejecución y el re-enlazado de símbolos.
Implements function redirection by mimicking the system linker to swap original symbol addresses.
HelloSilicon es una guía de programación y tutorial para escribir y depurar código ensamblador de 64 bits de bajo nivel específicamente para procesadores Apple Silicon. Sirve como referencia de arquitectura para interactuar con servicios del kernel de macOS e iOS utilizando llamadas al sistema y registros de hardware. El proyecto proporciona instrucción especializada sobre la interfaz de funciones externas (FFI) para unir ensamblador con lenguajes de alto nivel como C o Python. También incluye un kit de herramientas para configurar binarios Mach-O y compilar binarios universales y bibliotecas dinámicas para compatibilidad entre hardware. El material cubre la programación de sistemas de bajo nivel, incluyendo direccionamiento de memoria, convenciones de llamada y el uso de depuradores para inspeccionar registros y memoria.
Uses an assembler and linker to resolve symbols and manage memory layouts for compatible Mach-O binaries.
nvidia-patch es una herramienta de modificación binaria para drivers de Nvidia diseñada para eliminar límites artificiales del fabricante en hardware de consumo. Funciona principalmente como un desbloqueador para sesiones de codificación de vídeo simultáneas y activa capacidades de captura de pantalla de alto rendimiento desde el frame buffer. El proyecto incluye un parcheador binario de drivers de GPU capaz de modificar librerías de drivers dentro de entornos aislados, como contenedores y runtimes de Flatpak. Utiliza manipulación del enlazador dinámico para aplicar estos parches a binarios ubicados en sistemas de archivos de solo lectura. La utilidad proporciona mecanismos para realizar copias de seguridad binarias que preservan el estado, permitiendo revertir el parche del driver. También incluye herramientas de verificación que ejecutan tareas de codificación concurrentes para confirmar que los límites de sesión han sido eliminados con éxito.
Utilizes dynamic linker interception to apply binary patches on read-only filesystems.
Wild is a binary linker and compiler integration tool used to merge multiple object files into single executable binaries, shared libraries, or static archives. It functions as a replacement for standard system linkers, automating the final stage of the compilation process to generate binaries across different operating system architectures. The project provides custom binary linking and toolchain integration, allowing for the modification of how compilers resolve symbols and determine memory layouts. It specifically handles the organization of machine code and data sections to meet the requi
A tool for resolving symbols and managing memory layouts to merge multiple object files into a single binary.
This project is an ARMv8 assembly programming guide and tutorial designed to teach the translation of high-level logic into low-level machine instructions. It serves as a low-level systems programming reference for writing and executing code specifically for the ARMv8 architecture. The resource provides instructions for cross-platform assembly implementation, focusing on unifying symbol naming and memory addressing to ensure source code builds across different operating systems. It also covers the integration of assembly routines with higher-level languages using standardized calling conventi
Covers the process of resolving memory addresses for global and local labels during the binary linking stage.
ReZygisk is an Android root module framework and Zygote process injector. It functions as a native hooking engine and linker redirection tool designed to inject custom code into the Android Zygote process so that modifications are inherited by all spawned applications. The project provides a decoupled abstraction layer and Zygisk API implementation, allowing system modules to operate independently of specific root management tools. This ensures that root modules remain stable and compatible across various kernel-level rooting solutions. The framework includes capabilities for system process
Implements a linker redirection mechanism to hide modified libraries and memory segments from security scanners.