Magisk,就是刷机经常会需要使用的,也是就是我们说的面具或者脸谱。因为它的logo就是面具或者说脸谱。我们先简单了解一下:

XDA上论坛的说明:Magisk - The Universal Systemless Interface, to create an altered mask of the system without changing the system itself.

的确,它确实是做到了,它和之前使用的xposed框架有着相似,那就是拦截。但不同之处,Magisk 则另辟蹊径,通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过。

Magisk的安装:

Magisk需要修改boot.img。比较正规的方法是通过是通过第三方rec刷入(记得留个卸载包)。当然,并不是所有的设备都支持官方的TWRP,实际上很多都是直接刷入了动了手脚的boot.img。至于,如何从固件提取boot,修补root重新打包。这里不说那麽多,需要注意一点的是,magisk和SU冲突。

今天本片是记录Magisk模块制作的大概一个过程。至于为什么要学习制作Magisk模块,是因为搞机,华为、三星一些特殊的手机难搞。很不碰巧,我是个花粉,目前还在,因为穷。华为的EMUI9.1系统的erfos文件系统,天然只读,MT、RE等工具即使在你get root之后仍然无法对...进行任何操作。这就彻底阻断了我,修改一些文件的想法。但,突发奇想这个模块可以帮我实现。但是搞机的大神,早就舍弃了华为,就像当初解锁那样,发现解锁后并没有什么可用的。所以我决定自己去试着制作我需要的东西。

首先你需要一个官方文档:https://github.com/topjohnwu/Magisk

你可以去官网寻找资料去构建试着目录并下载一些必要的文件。下面为20.3的构建目录:https://topjohnwu.github.io/Magisk/guides.html

当然也可以自己在网络上寻找一个模板自己去修改使用,甚至你在一些已经能够使用的模块上加以修改使用。这样可以更快避免出现一些玄学问题。通常情况里面都会有注释,虽然是英文的,只能自己一点一点看了。

最简单的替换文件模板:

1、修改META-INF/com/google/android/update-binary 里面的安装信息

2、按路径放入替换文件

3、修改module.prop中的模块信息

试着做了两个简单的小模块,测试成功。没人做了自己要用,只好自己动手了。

Magisk了解以及简单的模块制作的更多相关文章

  1. Exynos4412从SD卡启动的简单网络文件系统制作

    Exynos4412从SD卡启动的简单网络文件系统制作 1. 简介 嵌入式系统能够在开发板上正常运行,需要先进行系统配置,一个完整的嵌入式系统应该包含的几个部分::uboot,kernel,rootf ...

  2. 【模块化编程】理解requireJS-实现一个简单的模块加载器

    在前文中我们不止一次强调过模块化编程的重要性,以及其可以解决的问题: ① 解决单文件变量命名冲突问题 ② 解决前端多人协作问题 ③ 解决文件依赖问题 ④ 按需加载(这个说法其实很假了) ⑤ ..... ...

  3. 留念 C语言第一课简单的计算器制作

    留念 C语言第一课简单的计算器制作 学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */   #include<stdio.h>  #include<stdlib.h ...

  4. kernel 模块与简单 hello 模块

    Kernel 模块与简单 hello 模块 kernel 模块的简介 Linux 内核进行扩展时,例如编写驱动程序.netfilter功能等,最方便的方式是通过编写模块,然后加载到内核中.由于 ker ...

  5. 一个简单的ORM制作(SQL帮助类)

    一个简单的ORM制作大概需要以下几个类: SQL执行类 CURD操作类 其他酱油类 先从SQL执行类说起,可能会涉及数据库的迁移等问题,所以需要定义一个接口以方便迁移到其他数据库, 事务没提供命名,若 ...

  6. IT兄弟连 HTML5教程 HTML5的基本语法 简单HTML实例制作

    现在学习HTML5的方式 目前HTML还处于HTML4与HTML5之间的过渡使用阶段.移动端的Web界面开发已经全面使用HTML5的技术,而在PC端由于用户升级浏览器周期较长,面临着页面的兼容性问题, ...

  7. Python模块制作

    在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 定义自己的模块 比如有这样一个文件test.py,在test.py中定义了函数add def add(a,b): ...

  8. MicroPython:基于TPYBoard集合MAX7219点阵模块制作表白女神神器

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言 又是一年毕业季,只有到了毕业季才会意识到自己又 ...

  9. C#简单游戏外挂制作(以Warcraft Ⅲ为例)

    网上有很多外挂制作的教程,大多是讲针对大型网络游戏的,主要包含一些抓包.反汇编.C++的知识综合.事实也如此,常见的外挂都是使用VC++写的,从来没有过C#或者其他.NET语言编写的外挂. 作为微软. ...

随机推荐

  1. Overlapping generations model

    I.6 Overlapping generations 世代被分离开,世代不重复一定满足哈代公式的条件,但是现实情况远没有这么简单(因为会世代重叠,即亲代死去同时一个亲代在不同时间都有可能产生子代,因 ...

  2. redis day02 下

    位图:是二进制数据(0101101010)2^32 强势点: 01_login :101110(比如:第一天登录,二天没登录) 传统的字符串解决方案中 记录用户登录日期  统计堪忧 01_login_ ...

  3. 01-Java 教程

    一.我的第一个 java 程序 创建文件 HelloWorld.java(文件名需与类名一致), 代码如下: public class HelloWorld { public static void ...

  4. win10//ubuntu安装tensorflow-gpu与kears,并用minist测试

    WIn10 安装cuda 先安装VS,然后根据自己的版本安装CUDA. 安装完后,打开cmd命令行输入nvcc -V,检测是否安装成功 安装cuDDN 安装对应版本,解压后覆盖到CUDA的地址,默认为 ...

  5. 用C语言实现的轴对称变换

    #include<stdio.h> main() { int i,p,n,k,f,c,h,g,w; ][]; ;i<=;i++) { ;p<=;p++) { a[i][p]=i ...

  6. 化学键|甘氨酸|谷氨酸|半胱胺酸|motif|domain|疏水相互作用|序列相似性|clustering analysis|Chou and Fasman|GOR|PHD|穿线法|first-principle ab initio folding|

    化学键|甘氨酸|谷氨酸|半胱胺酸|motif|domain|疏水相互作用|序列相似性|clustering analysis|Chou and Fasman|GOR|PHD|穿线法|first-pri ...

  7. 3DMAX 卸载工具,完美彻底卸载清除干净3dmax各种残留注册表和文件

    一些同学安装3dmax出错了,也有时候想重新安装3dmax的时候会出现这种本电脑windows系统已安装3dmax,你要是不留意直接安装,只会安装3dmax的附件,3dmax是不会安装上的.这种原因呢 ...

  8. Python自动化之数据驱动(转载下自己的日常练习笔记)

    一.execl数据驱动 1.xlutils简要说明 导包:pip3 install xlutils 注意⚠️:xlutils在介些Execl文件的时候,只识别.xls后缀的文件,如果是.xlsx后缀的 ...

  9. Nginx笔记总结四:Nginx连接PHP5.4

    location ~ .*\.(php)?${ expires -ls; try_file $uri=404; fastcgi_split_path_info ~(.+\.php)(/.+)$; in ...

  10. axios学习笔记

    axios学习笔记axios文档源地址:https://github.com/axios/axios0.概念axios 在NPM上的描述是:Promise based HTTP client for ...