Shiva is a specialized runtime ELF linker and JIT binary patching engine for Linux X86_64 and AArch64. Though still early in development, it delivers advanced ELF patching capabilities while aligning with established ELF ABI toolchain conventions (e.g., /bin/gcc, /bin/ld, /lib/ld-linux.so). Its core philosophy enables developers to implement patches in straightforward C code, requiring minimal reverse engineering expertise. Like traditional linkers, Shiva is symbol- and relocation-driven, but it extends ELF relocation and linking mechanisms to support sophisticated transformations, including function splicing. As a key patching component in the DARPA E-BOSS (and prior AMP) project, Shiva is actively evolving with enhanced DWARF support. This allows precise, symbol-based function splicing with direct access to stack variables and parameters via extended relocatable code and DWARF features. Ultimately, Shiva aims to make patching, relinking, and program transformation a seamless, native part of the ELF-based software development lifecycle.
https://github.com/advanced-microcode-patching/shiva https://github.com/advanced-microcode-patching/shiva_user_manual "Revolutionizing ELF Binary Patching With Shiva" at Defcon 31