Commit Graph

6734 Commits

Author SHA1 Message Date
a1a87c9956 Get rid of vtable hook 2023-02-26 04:59:21 -08:00
2c53356bfd Remove unexpected files 2023-02-26 03:47:38 -08:00
85d9756f62 Update Zygisk API documentation 2023-02-26 03:16:13 -08:00
79586ece4c Update install.md 2023-02-26 01:17:11 -08:00
6851d11a8e Update Japanese translation 2023-02-26 01:16:23 -08:00
996a857096 Upgrade kotlin 2023-02-26 01:15:32 -08:00
d7158131e4 No need to manually parse mount flags 2023-02-26 01:15:18 -08:00
3d3082bc82 Minor optimizations 2023-02-26 01:14:10 -08:00
744ebca206 Don't let inter_node upgrade to module_node 2023-02-25 22:05:50 -08:00
92077ebe53 Refactor module and node implementation 2023-02-25 18:19:46 -08:00
78ca682bc5 Always mount tmpfs for dirs
https://android-review.googlesource.com/c/platform/system/core/+/928592
2023-02-25 18:19:46 -08:00
af01a36296 Refactor magic mount to support overlayfs
Previously, magic mount creates its own mirror devices and mount
mirror mount points. With these mirror mount points, magic mount
can get the original files and directory trees. However, some
devices use overlayfs to modify some mount points, and thus after
magic mount, the overlayed files are missing because the mirror
mount points do not contain the overlayed files. To address this
issue and make magic mount more compatible, this patch refactors
how magic mount works.

The new workflows are as follows:
1. make MAGISKTMP a private mount point so that we can create the
   private mount points there
2. for mirror mount points, we instead of creating our own mirror
   devices and mount the mirror mount points, we "copy" the
   original mount points by recursively mounting /
3. to prevent magic mount affecting the mirror mount points, we
   recursively set the mirror mount points private
4. to trace the mount points we created for reverting mounts, we
   again make the mirror mount points shared, and by this way we
   create a new peer group for each mirror mount points
5. as for tracing the newly created tmpfs mount point by magic
   mount, we create a dedicated tmpfs mount point for them, namely
   worker mount point, and obviously, it is shared as in a newly
   created peer group for tracing
6. when reverting mount points by magic mount, we can then trace
   the peer group id and unmount the mount points whose peer group
   ids are created by us

The advantages are as follows:
1. it is more compatible, (e.g., with overlayfs, fix #2359)
2. it can mount more partitions for which previous implementation
   cannot create mirror mount points (fix #3338)
2023-02-25 18:19:46 -08:00
97ed1b16d0 Fix gzip decompression 2023-02-20 18:26:04 -08:00
508a001753 Remove obsolete link 2023-02-20 17:25:32 -08:00
c1909d520b Fix gradle build cache 2023-02-20 01:23:56 -08:00
9b1e173373 Update AGP 2023-02-20 01:03:35 -08:00
4ba365565f Upgrade gradle 2023-02-20 00:08:23 -08:00
ae34659b26 No kernel repack if it isn't patched at all
It turns out that decompressing and recompressing the kernel is enough to break booting on many devices that use MT6763.
Fix #5124, fix #6204, fix #6566 

Co-authored-by: LoveSy <shana@zju.edu.cn>
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com>
2023-02-17 15:00:14 -08:00
79a85f5937 Use mountinfo for revert unmount 2023-02-17 12:36:19 -08:00
b249832571 Use statfs to check rootfs
This helps support adb remount
2023-02-12 22:49:27 -08:00
577b5912af Fix SKIP_FD_SANITIZATION false positive
Fix #6523
2023-02-12 00:40:09 -08:00
9e8c68af12 Refactor sepolicy.rules resolve
We resolve available partitions for sepolicy.rules when patching
boot and bind mount the partition by magiskinit.

For older devices, the previous logic won't work because the part name
is never readable.

Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-02-12 00:36:38 -08:00
03418ddcbf run module uninstall.sh on Magisk uninstallation 2023-02-09 20:36:58 -08:00
220a1c84ce Zygisk v4 module's plt commit should not use regex 2023-02-09 20:19:53 -08:00
9a4458ffac Update appcompat 2023-02-09 20:13:40 -08:00
7a9e6d2ad2 Remove unexpected /sbin/overlay.d 2023-02-09 20:08:59 -08:00
9656cf2f86 Refine 2023-02-09 20:08:44 -08:00
584bad5314 Add init_boot.img patching for Samsung tar firmware packages
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
2023-02-09 20:08:44 -08:00
459088024f Update dependencies 2023-02-09 19:53:40 -08:00
d740bbe058 Ignore AMLogic "normal" slot suffix in scripts as well
Fixes #6572
2023-02-03 10:44:43 -08:00
6ecc04a4df Fix auto install stub 2023-01-23 01:55:28 +08:00
15a7e9af57 Fix ResourcesProvider being closed 2023-01-20 19:32:22 +08:00
0329f00129 Upgrade LSPlt
Fix #6533
2023-01-20 19:29:55 +08:00
cd8a2edefb Reduce unnecessary formatting 2023-01-20 14:41:34 +08:00
4318ab5cd2 Reuse tmpfs for magic mount
As we already have a tmpfs (magisktmp), we can reuse them for
magic mount
2023-01-20 03:49:40 +08:00
3517e6d752 Handle nullptr char* in Rust 2023-01-20 03:45:16 +08:00
67845f9c21 Clear sepolicy rules when disable/remove modules
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-01-19 04:25:44 +08:00
f562710438 Fix typos
Found via `codespell -S *.xml,*.kt,./native/src/external -L crate,bu`
2023-01-18 16:35:37 +08:00
e836909c50 umount old hijack binary 2023-01-18 13:06:17 +08:00
7769ba5f54 Remove READ_EXTERNAL_STORAGE permission added by AGP 1.8 2023-01-18 12:52:24 +08:00
7fe9db90a1 Update AGP 2023-01-18 12:52:04 +08:00
8f7d6dfb77 Cleanup unused functions 2023-01-12 23:17:41 +08:00
2839978cc1 Use null oat dir in root service only 2023-01-12 22:38:14 +08:00
e73f87b758 Update LSPlt 2023-01-12 01:18:56 +08:00
bd0409fd15 Fix busybox filename 2023-01-12 01:18:41 +08:00
babdfe80cb Fix stub resources load on Android 5 2023-01-12 01:12:56 +08:00
636223b289 Cleanup APIs 2023-01-10 02:42:45 +08:00
aa0a2f77cf Add inode plt hook APIs 2023-01-10 02:42:45 +08:00
e38f35eab2 Update libsu
Fix #6488
2023-01-09 03:16:11 +08:00
cb39514705 Fix NotificationService implementation
- Fix #6385. (Maybe the reason is, the call to stopForeground() with STOP_FOREGROUND_DETACH ensures the notification is shown so it reposts the notification?)
- Use FOREGROUND_SERVICE_IMMEDIATE on Android 12+ to make sure the downloading notification always shows immediately
2023-01-09 00:10:52 +08:00