Block vaultkeeper and flash_recovery service
This commit is contained in:
parent
1cd45b53b1
commit
7a133eaf03
@ -429,7 +429,20 @@ void MagiskInit::setup_rootfs() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Patch init.rc
|
// Patch init.rc
|
||||||
FILE *rc = xfopen("/init.rc", "ae");
|
FILE *rc = xfopen("/init.p.rc", "we");
|
||||||
|
file_readline("/init.rc", [&](auto line) -> bool {
|
||||||
|
// Do not start vaultkeeper
|
||||||
|
if (str_contains(line, "start vaultkeeper"))
|
||||||
|
return true;
|
||||||
|
// Do not run flash_recovery
|
||||||
|
if (str_starts(line, "service flash_recovery")) {
|
||||||
|
fprintf(rc, "service flash_recovery /system/bin/xxxxx\n");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// Else just write the line
|
||||||
|
fprintf(rc, "%s", line.data());
|
||||||
|
return true;
|
||||||
|
});
|
||||||
char pfd_svc[8], ls_svc[8];
|
char pfd_svc[8], ls_svc[8];
|
||||||
gen_rand_str(pfd_svc, sizeof(pfd_svc));
|
gen_rand_str(pfd_svc, sizeof(pfd_svc));
|
||||||
do {
|
do {
|
||||||
@ -437,6 +450,8 @@ void MagiskInit::setup_rootfs() {
|
|||||||
} while (strcmp(pfd_svc, ls_svc) == 0);
|
} while (strcmp(pfd_svc, ls_svc) == 0);
|
||||||
fprintf(rc, magiskrc, pfd_svc, pfd_svc, ls_svc);
|
fprintf(rc, magiskrc, pfd_svc, pfd_svc, ls_svc);
|
||||||
fclose(rc);
|
fclose(rc);
|
||||||
|
clone_attr("/init.rc", "/init.p.rc");
|
||||||
|
rename("/init.p.rc", "/init.rc");
|
||||||
|
|
||||||
// Don't let init run in init yet
|
// Don't let init run in init yet
|
||||||
lsetfilecon("/init", "u:object_r:rootfs:s0");
|
lsetfilecon("/init", "u:object_r:rootfs:s0");
|
||||||
|
Loading…
Reference in New Issue
Block a user