Commit Graph

1031 Commits

Author SHA1 Message Date
topjohnwu f642fb3b99 Properly handle child zygote
Close #4720
2021-09-24 01:23:58 -07:00
topjohnwu e68dd866a3 Only create app_id_map if necessary 2021-09-24 00:22:19 -07:00
topjohnwu 73d36fdff0 Riru and its modules are not compatible with zygisk 2021-09-23 23:54:46 -07:00
vvb2060 d20517483e Prevent multiple mounts of devpts 2021-09-23 02:40:24 -07:00
topjohnwu f3d39e7515 Update BusyBox
Fix #4657, close #4602
2021-09-23 02:31:42 -07:00
残页 61783ffc82 Prevent original libselinux.so to be unmounted
libselinux.so will be unmounted when magiskd starts. If magiskd restarts (like it died before boot completed), the files we want to unmount is the original files because the modified files is unmounted in previous start, which will causes many crashes due to missing libselinux.so.
2021-09-22 19:34:44 -07:00
topjohnwu 05c4ad01d5 Move first stage unload into second stage 2021-09-22 19:33:08 -07:00
topjohnwu 12647dcf30 Improve memory map tricks
- In `unmap_all`, replace readable pages atomically with mmap + mremap
- Create new function `remap_all` to replace pages with equivalent
  anonymous copies to prevent simple maps name scanning
2021-09-22 19:14:05 -07:00
topjohnwu da38f59e62 Only run destructor if necessary 2021-09-22 02:52:33 -07:00
topjohnwu cf4ef54dc5 Unload first stage on main thread 2021-09-22 02:46:07 -07:00
topjohnwu 12e9873514 Update zygisk entry implementation 2021-09-22 00:14:22 -07:00
RikkaW f7c0e407ca Fix downgrade database 2021-09-20 05:50:34 -07:00
topjohnwu 82c7662cdf Cache Magisk app ID for performance 2021-09-20 05:47:15 -07:00
topjohnwu 4f0bced53e Track app ID instead of UID 2021-09-20 05:08:25 -07:00
topjohnwu f1b6c9f4aa Refresh uid_map on package.xml change 2021-09-20 04:42:06 -07:00
topjohnwu 0ab31ab0df Fix log writer 2021-09-19 13:41:45 -07:00
topjohnwu 46e8f0779f Move denylist code into zygisk 2021-09-18 14:50:11 -07:00
topjohnwu 3fb72a4d20 Support polling on multiple fds 2021-09-18 14:40:12 -07:00
topjohnwu db20f65d7c On denylist != do unmount 2021-09-18 12:44:42 -07:00
topjohnwu 63cfe7b47b Make sanitize_environ work properly 2021-09-18 05:11:10 -07:00
topjohnwu db590091b3 Propagate Zygisk state to Magisk app 2021-09-18 02:38:53 -07:00
topjohnwu 7b25e74418 Simplify get manager app info logic 2021-09-17 02:07:32 -07:00
topjohnwu 706a492218 Update denylist config implementation 2021-09-16 05:27:34 -07:00
topjohnwu c0be5383de Support enable/disable Zygisk 2021-09-15 02:49:54 -07:00
topjohnwu 3b8ce85092 Enable Zygisk 2021-09-15 01:59:43 -07:00
topjohnwu 65b0ea792e MagiskHide is no more 2021-09-12 12:40:34 -07:00
topjohnwu 24a8b41182 Fix indentation 2021-09-09 01:37:49 -07:00
vvb2060 810cf4dee8 Move config to buildSrc 2021-09-09 01:37:20 -07:00
topjohnwu de2306bd12 Proper incremental builds
Auto generate flag.h for precise rebuilding
2021-09-07 19:35:28 -07:00
topjohnwu f8f8c28fec Switch zopfli to official repo 2021-09-03 10:39:23 -07:00
vvb2060 f497867ba5 Update submodules 2021-09-03 10:24:33 -07:00
残页 c0a2e3674c Reset file context from adb_data_file
In some cases (like weird ROMs that allow init to relabel context from system_file), module files will have an incorrent context, which will causes module not working properly.
See https://github.com/RikkaApps/Riru/wiki/Explanation-about-incorrect-SELinux-rules-from-third-party-ROMs-cause-Riru-not-working
2021-09-02 21:55:08 -07:00
vvb2060 76f0602684 Make busybox cflag stable 2021-09-02 21:48:38 -07:00
vvb2060 f5c02be5bf Add new targetSdk domain
https://android-review.googlesource.com/c/platform/system/sepolicy/+/1752122
2021-09-02 01:48:25 -07:00
Wang Han e990ffd4a0 Remove leftover DISABLE_ZYGISK flag 2021-09-01 20:14:53 -07:00
vvb2060 f98c68a280 Clean up unneeded rules 2021-08-29 13:03:50 -07:00
LoveSy 8079d456ab Use std::map instead 2021-08-29 03:27:15 -07:00
vvb2060 acf166cf9d Support oplus.fstab 2021-08-29 03:27:15 -07:00
vvb2060 439d497a13 boot image header v4 2021-08-29 03:14:23 -07:00
LoveSy 4bcfee397b Remove unnecessary umount 2021-08-29 02:45:49 -07:00
vvb2060 34bcb1dd26 Fix line editing on Android 8.0+ 2021-08-29 02:45:49 -07:00
LoveSy 117d1ed080 Fix always enter safe mode
`getprop("persist.sys.safemode", true) == "1"` -> `getprop("persist.sys.safemode", true) == ""`
2021-08-29 02:45:49 -07:00
vvb2060 f324252681 Use isolated devpts if kernel support
kernel version >= 4.7 or CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
2021-08-29 02:45:49 -07:00
LoveSy 0dad06cdfe Fix meizu compatibility 2021-08-28 21:03:12 -07:00
LoveSy f89f08833e Generic parsing methods 2021-08-28 20:50:17 -07:00
vvb2060 79e8962854 Support bootconfig
https://android-review.googlesource.com/c/platform/system/core/+/1615298
2021-08-28 20:50:17 -07:00
topjohnwu 34e5a7cd24 Zopfli is not always smaller 2021-08-28 17:16:20 -07:00
topjohnwu 7343c195b7 Cleanup compress.cpp 2021-08-28 17:01:08 -07:00
topjohnwu 0af041b54e Cleanup magiskboot code 2021-08-28 14:07:34 -07:00
Chaosmaster 92a8a3e91f Add zopfli gzip encoder for better compression 2021-08-28 11:00:30 -07:00