6 repository-uri
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 este o bibliotecă de instrumentare binară pentru iOS și simulatoare iOS. Acesta funcționează ca un rebind-er și instrumentator de simboluri Mach-O, permițând înlocuirea implementărilor bibliotecilor de sistem cu logică personalizată la runtime. Proiectul redirecționează apelurile de funcții prin actualizarea pointerilor de simboluri lazy și non-lazy în segmentele de date binare Mach-O. Această abordare permite interceptarea și modificarea comportamentului funcțiilor existente fără a altera binarul original de pe disc. Toolkit-ul acoperă instrumentarea binară și hooking-ul dinamic pentru aplicații iOS, facilitând monitorizarea și alterarea apelurilor de funcții prin redirecționarea adreselor la runtime și rebind-ul simbolurilor.
Implements function redirection by mimicking the system linker to swap original symbol addresses.
HelloSilicon este un ghid de programare și tutorial pentru scrierea și depanarea codului assembly pe 64 de biți la nivel scăzut, specific pentru procesoarele Apple Silicon. Servește drept referință de arhitectură pentru interacțiunea cu serviciile kernel macOS și iOS folosind apeluri de sistem și registre hardware. Proiectul oferă instrucțiuni specializate privind interfațarea funcțiilor străine (foreign function interfacing) pentru a face legătura între assembly și limbaje de nivel înalt precum C sau Python. Include, de asemenea, un toolkit pentru configurarea binarilor Mach-O și compilarea binarilor universali și a bibliotecilor dinamice pentru compatibilitate cross-hardware. Materialul acoperă programarea de sistem la nivel scăzut, inclusiv adresarea memoriei, convențiile de apelare și utilizarea depanatoarelor pentru a inspecta registrele și memoria.
Uses an assembler and linker to resolve symbols and manage memory layouts for compatible Mach-O binaries.
nvidia-patch este un instrument de modificare binară pentru driverele Nvidia, conceput pentru a elimina limitele artificiale impuse de producător pe hardware-ul de consum. Funcționează în principal ca un deblocator pentru sesiuni simultane de encodare video și activează capabilități de captură a ecranului cu frame buffer de înaltă performanță. Proiectul include un patcher binar pentru driverele GPU capabil să modifice bibliotecile driverelor în medii izolate, cum ar fi containerele și runtime-urile Flatpak. Utilizează manipularea linker-ului dinamic pentru a aplica aceste patch-uri pe binare situate pe sisteme de fișiere read-only. Utilitarul oferă mecanisme pentru backup-uri binare care păstrează starea, permițând revenirea la driverul original. Include, de asemenea, instrumente de verificare care execută sarcini de encodare concurente pentru a confirma că limitele de sesiune au fost eliminate cu succes.
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.