magisk及模塊編寫介紹【轉】


1.啟動過程中magisk所做的事情:

1.准備階段,將會把/data/magisk.img 掛到/magisk。同時它會遍歷magisk目錄中的模塊是否為啟用狀態,並且記錄。
2.創建骨架system文件系統(由於bind mount 必須要有一個目標文件才能進行bind mount),全部由mkdir 和touch構建
3.將每個標記為啟用的/magisk/$MODID/system中文件bind mount到骨架系統
4.執行自定義模塊中的腳本
5.遍歷骨架中剩余沒有被mount的文件,通過真正的system文件進行bind mount。

2.Magisk功能

1.集成了類似SuperSU的root管理功能(MagiskSU)
2.類似於Xposed,可以安裝使用Magisk相關模塊
3.Magisk Hide(對單個應用隱藏 Magisk 的 root 權限)
4.日志功能
5.Systemless hosts(為廣告屏蔽應用提供Systemless hosts支持)
6.SafetyNet 檢查功能

3.一個完整的magisk模塊整體如下:
➜ tree MagiskTrustUserCerts
MagiskTrustUserCerts
├── META-INF
│ └── com
│ └── google
│ └── android
│ ├── update-binary
│ └── updater-script
├── common
│ ├── post-fs-data.sh
│ ├── service.sh
│ └── system.prop
├── config.sh
└── module.prop

4.總結模塊的編寫流程
# 1. Place your files into system folder (delete the placeholder file)
# 2. Fill in your module's info into module.prop
# 3. Configure the settings in this file (common/config.sh)
# 4. For advanced features, add shell commands into the script files under common:
# post-fs-data.sh, service.sh
# 5. For changing props, add your additional/modified props into common/system.prop

https://topjohnwu.github.io/Magisk/
————————————————
版權聲明:本文為CSDN博主「tangsilian」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/tangsilian/article/details/98903703


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM