Commit Graph

1373 Commits

Author SHA1 Message Date
9ed110c91b Add JNI hooks to critical methods 2021-01-08 05:25:44 -08:00
a30d510eb1 Use xHook to hook functions in PLT 2021-01-08 00:53:24 -08:00
ef98eaed8f Proper injection entry and unloading 2021-01-06 23:59:05 -08:00
2a257f327c Sanitize /proc/PID/environ 2021-01-06 23:41:37 -08:00
4060c2107c Add preliminary zygote code injection support
Prototyping the injection setup and a clean "self unloading" mechanism.
2021-01-06 22:21:17 -08:00
cd23d27048 Fix remote_write implementation 2021-01-06 21:56:29 -08:00
18b86e4fd2 Update Android.mk for test binary
Make Android Studio happy
2021-01-05 00:01:02 -08:00
5f2e22a259 Support remote function call with ptrace
End up not used for anything, but keep it for good
2021-01-02 21:29:45 -08:00
4e97b18977 Move libsystemproperties to external 2020-12-31 15:06:19 -08:00
f9bde347bc Convert indentation to spaces
The tab war is lost
2020-12-30 22:11:24 -08:00
947a7d6a2f Support rootwait cmdline parameter on legacy SAR
On devices where the primary storage is slow to probe it makes sense to
wait forever for the system partition to mount, this emulates the
kernel's behaviour when waiting for rootfs on SAR if the rootwait
parameter is supplied.

This issue was encountered with some SD cards on the Nintendo Switch.
2020-12-30 16:43:28 -08:00
79fa0d3a90 Hide selection improvements 2020-12-30 16:40:22 -08:00
8e61080a4a Preparation for hiding isolated processes 2020-12-30 15:55:53 -08:00
db4f78d463 Unblock signals before executing commands 2020-12-27 15:05:39 -08:00
c5b452f369 Get boot config properly
https://android.googlesource.com/platform/system/core/+/refs/tags/android-11.0.0_r16/fs_mgr/fs_mgr_boot_config.cpp#93
2020-12-19 15:55:33 -08:00
eee7f097e3 Make post-fs-data scripts block at most 35 secs 2020-12-17 16:54:53 -08:00
086059ec30 Make sure boot stages are mutually exclusive 2020-12-15 03:40:37 -08:00
7ff22c68c7 Only try to install APK when no manager is active 2020-12-09 02:15:16 -08:00
0c28b23224 Fix install_module command 2020-12-09 00:37:15 -08:00
c62dfc1bcc Make logging less error prone 2020-12-06 23:09:24 -08:00
aabe2696fe Cleanup implementations 2020-12-06 03:07:47 -08:00
ae0d605310 Make sure patch_rootdir does not cause crashes 2020-12-06 02:19:57 -08:00
2a694596b5 Better error handling and logging 2020-12-05 10:23:49 -08:00
ff0a76606e Detect 2SI after system_root mount on legacy SAR 2020-12-04 03:06:21 -08:00
dead74801d Setup log file when manually starting daemon 2020-12-04 01:07:47 -08:00
ab207a1bb3 va_list cannot be reused on x86 2020-12-03 20:53:19 -08:00
f152e8c33d Directly log to log file 2020-12-03 20:15:18 -08:00
797ba4fbf4 Make sure all logging ends with newline 2020-12-02 00:55:22 -08:00
552ec1eb35 Header v3 does not have name entry 2020-11-20 22:52:09 -08:00
0064b01ae0 Trim out \r from string
Fix #3490
2020-11-15 06:30:29 -08:00
e0afbb647b Minor changes 2020-11-13 02:31:54 -08:00
f9c7a4c933 Redirect /data/adb/magisk/busybox
Workaround some stupid Samsung kernel restrictions
2020-11-11 02:26:07 -08:00
2b759b84b0 Properly reset string 2020-11-09 21:17:21 -08:00
1e45c63ea5 Scan for zygote periodically
Fix #3417
2020-11-08 03:44:43 -08:00
b14a260827 Offset pid_set by 1
PID starts at 1, not 0
2020-11-08 02:12:35 -08:00
ade1597e03 Support hiding apps not installed in main user
Fix #2181, close #1840
2020-11-08 01:53:18 -08:00
afebe734b8 Fix several things regarding scripting 2020-11-07 14:36:13 -08:00
e21a78164e Properly handle factory resets
Close #3345
2020-11-04 04:50:04 -08:00
1e0f96d0fd Prefer platform implementation over internal 2020-11-04 04:42:02 -08:00
bf650332d8 Update nanopb 2020-11-04 01:56:49 -08:00
f32e0af830 Update resetprop help msg 2020-11-03 01:21:05 -08:00
4c94f90e5d Templatize function callbacks 2020-11-03 01:16:55 -08:00
ffb4224640 Don't use reserved symbols 2020-11-03 01:12:33 -08:00
89fff4830b Mount proper system_root mirror in magiskd 2020-11-03 00:37:08 -08:00
16e4c67992 Significantly broaden sepolicy.rule compatibility
Previously, Magisk uses persist or cache for storing modules' custom
sepolicy rules. In this commit, we significantly broaden its
compatibility and also prevent mounting errors.

The persist partition is non-standard and also critical for Snapdragon
devices, so we prefer not to use it by default.

We will go through the following logic to find the best suitable
non-volatile, writable location to store and load sepolicy.rule files:

Unencrypted data -> FBE data unencrypted dir -> cache -> metadata -> persist

This should cover almost all possible cases: very old devices have
cache partitions; newer devices will use FBE; latest devices will use
metadata FBE (which guarantees a metadata parition); and finally,
all Snapdragon devices have the persist partition (as a last resort).

Fix #3179
2020-11-02 23:20:38 -08:00
0feab753fb Fix coding errors and minor changes 2020-10-28 04:17:34 -07:00
d0b6318b90 init/mount: support for dm-verity verified root
This commit adds support for kernel initialized dm-verity on legacy SAR
devices.

Tested on a Pixel 2 XL with a kernel patch to initialize mappings
specified via the `dm=` kernel parameter even when an initramfs is used.
2020-10-27 03:47:50 -07:00
966e23b846 magiskinit code tidy-up 2020-10-26 20:46:15 -07:00
5b8a1fc2a7 Minor renames 2020-10-25 21:41:14 -07:00
02ea3ca525 Headers doesn't always occupy 1 page 2020-10-25 06:25:42 -07:00