Skip to content

Instantly share code, notes, and snippets.

View NeewJax's full-sized avatar

NeewJax NeewJax

View GitHub Profile
@mooware
mooware / ld-preload-intercept-method.cpp
Last active November 29, 2023 16:59
Intercept C++ methods with LD_PRELOAD
// this file is an example of how to intercept a C++ method by using the
// LD_PRELOAD environment variable of the GNU dynamic linker.
//
// it works like this:
//
// 1) define a method that will have the same symbol as the intercepted
// method when compiled. For example, the method Foo::getValue()
// defined here has the mangled symbol "_ZNK3Foo8getValueEv".
// tools like nm, objdump or readelf can display the symbols of
// binaries. note that depending on compiler and linker options,