0%

Magisk源码分析(一)

对 Magisk 源码做一个简单的分析,本人很菜,分析不到位的地方请各位大神指出来。本文以 Magisk v25.1 为例

源码下载,编译

按照 Github 所给出的步骤一步步来 (最好是挂代理):

1. 以管理员的方式打开命令行窗口,输入 clone 命令
git clone --recurse-submodules https://github.com/topjohnwu/Magisk.git
2. 安装 python (版本高于 3.6), 配置环境变量,安装后输入命令
pip install colorama
3. 配置 Android Studio 的环境变量到 Path, C:\Path\To\Android Studio\jre\bin
4. 配置 ANDROID_SDK_ROOT 环境变量,例如 C:\Users\Shocker\AppData\Local\Android\Sdk
5. 在 Magisk 目录里命令行输入 python ./build.py ndk 下载 ndk
6. 下载 ndk 后,输入 python ./build.py all 就可以开始编译

注:命令行窗口最好是以管理员的方式打开,不然会有 bug.

测试及调试

安装编译后的 magisk, 如图

Android Studio 调试

1. 点击 Android Studio 右上方的 Attach

2. 选择 magisk 并附加

查看 magiskinit 日志

1
adb shell
1
su
1
dmesg | grep magiskinit