It sounds like a kind of black magic:<p>> ...It’s a dynamic code instrumentation toolkit. It lets you inject snippets of JavaScript or your own library into native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX.<p>> ...Frida’s core is written in C and injects QuickJS into the target processes, where your JS gets executed with full access to memory, hooking functions and even calling native functions inside the process.<p>> There’s a bi-directional communication channel that is used to talk between your app and the JS running inside the target process.<p>Here's a description of the architecture:<p><a href="https://frida.re/docs/hacking/" rel="nofollow">https://frida.re/docs/hacking/</a><p>And the source:<p><a href="https://github.com/frida/frida" rel="nofollow">https://github.com/frida/frida</a><p>---<p>Apparently using "wxWindows Library Licence, Version 3.1":<p>> This is essentially the LGPL, with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using Frida, and also those producing proprietary software.<p><a href="https://github.com/frida/frida/blob/master/COPYING" rel="nofollow">https://github.com/frida/frida/blob/master/COPYING</a>