Xposed がフック部分をどのように行うかを理解しようとしており、ユーザーが任意のメソッドを非常に簡単にフックするための API を提供します。
Xposed Bridge のソース コードを確認しました。この jar ファイルは、プロセスが開始されるたびにすべてのプロセス内に存在します。また、Java リフレクションを使用してクラス メソッド、パラメータなどを取得し、JNI を介してネイティブ メソッドに渡していることもわかりました。
1つ理解できないのは、Xposedがどのようにプロセスをフックし、それを完全に制御できるかということです。
フックが XposedBridge jar ファイル内の Java 側で行われるか、ネイティブ コードの ART レベルで行われるかを把握しようとしています。