ReLinker v1.2 is Here!

Credit to Jeff Young for the awesome logo!

Asynchronous Loading

Asynchronous loading

Recursive Loading

$ readelf -d lib.so | grep NEEDED
 0x00000001 (NEEDED)                 Shared library: [libhello.so]
 0x00000001 (NEEDED)                 Shared library: [libstdc++.so]
 0x00000001 (NEEDED)                 Shared library: [libm.so]
 0x00000001 (NEEDED)                 Shared library: [libc.so]
 0x00000001 (NEEDED)                 Shared library: [libdl.so]
E/AndroidRuntime(632): FATAL EXCEPTION: main
E/AndroidRuntime(632): java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1967]: 180 could not load needed library ‘libhello.so’ for ‘libhellojni.so’ (load_library[1109]: Library ‘libhello.so’ not found)
at java.lang.Runtime.loadLibrary(Runtime.java:434)
at java.lang.System.loadLibrary(System.java:554)

Logging

D/ReLinker: Beginning load of mylibrary...
D/ReLinker: mylibrary was not loaded normally, re-linking...
D/ReLinker: Looking for lib/x86/libmylibrary.so in APK...
D/ReLinker: Found lib/x86/libmylibrary.so! Extracting...
D/ReLinker: mylibrary was re-linked!

Updating Shared Libraries

Force Re-Linking

Versioning


Builder Pattern

log()

force()

recursively()



Keepsafe Engineering

Engineering problems at Keepsafe. Find open source projects at www.github.com/keepsafe.

Hilal Alsibai

Written by

Keepsafe Engineering

Engineering problems at Keepsafe. Find open source projects at www.github.com/keepsafe.