6 Repos
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 ist eine Binär-Instrumentierungsbibliothek für iOS und iOS-Simulatoren. Es fungiert als Mach-O-Symbol-Rebinder und Instrumentierer, der den Austausch nativer Systembibliotheksimplementierungen durch benutzerdefinierte Logik zur Laufzeit ermöglicht. Das Projekt leitet Funktionsaufrufe um, indem es Lazy- und Non-Lazy-Symbol-Pointer innerhalb von Mach-O-Binärdatensegmenten aktualisiert. Dieser Ansatz ermöglicht das Abfangen und Modifizieren bestehenden Funktionsverhaltens, ohne die ursprüngliche Binärdatei auf der Festplatte zu verändern. Das Toolset deckt Binärinstrumentierung und dynamisches Hooking für iOS-Anwendungen ab und erleichtert die Überwachung und Änderung von Funktionsaufrufen durch Laufzeit-Adressumleitung und Symbol-Rebinding.
Implements function redirection by mimicking the system linker to swap original symbol addresses.
HelloSilicon ist ein Programmierleitfaden und Tutorial zum Schreiben und Debuggen von Low-Level-64-Bit-Assembly-Code speziell für Apple Silicon-Prozessoren. Es dient als Architekturreferenz für die Interaktion mit macOS- und iOS-Kernel-Diensten unter Verwendung von Systemaufrufen und Hardware-Registern. Das Projekt bietet spezialisierte Anleitungen zum Foreign-Function-Interfacing, um Assembly mit Hochsprachen wie C oder Python zu verbinden. Es enthält zudem ein Toolkit zur Konfiguration von Mach-O-Binaries sowie zum Kompilieren universeller Binaries und dynamischer Bibliotheken für hardwareübergreifende Kompatibilität. Das Material deckt Low-Level-Systemprogrammierung ab, einschließlich Speicheradressierung, Aufrufkonventionen und der Verwendung von Debuggern zur Inspektion von Registern und Speicher.
Uses an assembler and linker to resolve symbols and manage memory layouts for compatible Mach-O binaries.
nvidia-patch ist ein Tool zur binären Modifikation von Nvidia-Treibern, das darauf ausgelegt ist, künstliche Herstellerbeschränkungen auf Consumer-Hardware zu entfernen. Es fungiert primär als Unlocker für gleichzeitige Video-Encoding-Sessions und aktiviert High-Performance-Frame-Buffer-Screen-Capture-Funktionen. Das Projekt enthält einen GPU-Treiber-Binary-Patcher, der in der Lage ist, Treiberbibliotheken in isolierten Umgebungen wie Containern und Flatpak-Runtimes zu modifizieren. Es nutzt Dynamic-Linker-Manipulation, um diese Patches auf Binärdateien anzuwenden, die sich auf schreibgeschützten Dateisystemen befinden. Das Utility bietet Mechanismen für zustandserhaltende binäre Backups, um ein Rückgängigmachen der Treiber-Patches zu ermöglichen. Es enthält zudem Verifizierungs-Tools, die gleichzeitige Encoding-Aufgaben ausführen, um zu bestätigen, dass die Session-Limits erfolgreich entfernt wurden.
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.