frida.re
Frida is a dynamic instrumentation toolkit for developers, reverse-engineers and security researchers. It lets users inject their own scripts into black box processes to hook functions and trace application code, and it runs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD and QNX.