7384d2d330
Completely rework MagiskHide
...
Previous MagiskHide detects new app launches via listening through logcat
and filtering launch info messages.
This is extremely inefficient and prone to cause multiple issues both
theoratically and practically.
Rework this by using inotify to detect open() syscalls to target APKs.
This also solves issues related to Zygote-forked caching mechanisms such as
OnePlus OxygenOS' embryo.
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com >
2019-02-12 23:39:57 -05:00
0f55fcafe8
Migrate EXT4 images instead of removing them
2019-02-12 16:13:31 -05:00
ed027ec3ee
Refactor build flags
2019-02-12 05:17:02 -05:00
b3fd79cbb9
Add more cmdline options and specify as internal API
2019-02-12 04:05:51 -05:00
ed4df87b57
Remove imgtool
2019-02-12 02:44:46 -05:00
1321f097b8
Remove usage of magisk.img
...
Mounting ext4 images causes tons of issues, such as unmountable with broken F2FS drivers.
Resizing is also very complicated and does not work properly on all devices.
Each step in either measuring free space, resizing, and shrinking the image is a
point of failure, and either step's failure could cause the module system completely broken.
The new method is to directly store modules into /data/adb/modules, and for module installation
on boot /data/adb/modules_update. Several compatibility layers has been done: the new path is
bind mounted to the old path (/sbin/.magisk/img), and the helper functions in util_functions.sh
will now transparently make existing modules install to the new location without any changes.
MagiskHide is also updated to unmount module files stored in this new location.
2019-02-12 02:14:57 -05:00
ab47b717b1
Reorganize scripts
2019-02-11 17:14:07 -05:00
992a9ea2f9
Fix EMUI 9 detection
2019-02-11 02:26:15 -05:00
228351fc13
Prevent bootloop on non system-as-root devices
...
Close #1058
2019-02-10 13:51:41 -05:00
8a5b6f2b86
Block all signals in daemon
2019-02-10 04:18:50 -05:00
71ecbb3af3
Clean/refactor includes
2019-02-10 03:57:51 -05:00
5746614ccf
Keep track of timestamps and skip old logs
2019-02-10 03:16:52 -05:00
3a422c3f15
Remove magisklogd, use threads and BlockingQueue
2019-02-10 01:05:19 -05:00
b3242322fd
Harden socket verification
...
- Do not allow connections to magiskd from binaries other than the one started the server
- Do not allow connections to magisklogd without root access
2019-02-09 15:02:46 -05:00
1f5267204b
Better cmdline parsing
2019-02-09 05:23:56 -05:00
ed25e1bbd6
Directly inject services into init.rc
2019-02-09 02:48:05 -05:00
c8491d008f
Move sbin overlay creation to magiskinit
2019-02-09 01:51:46 -05:00
6698c189fc
Support non-ext4 filesystem for vendor and system
...
Signed-off-by: Erfan Abdi <erfangplus@gmail.com >
2019-02-07 00:45:30 -05:00
72270825c1
Prevent segmentation fault when resetprop is unsupported
2019-02-03 09:48:57 -05:00
093f971896
Fix small log error
2019-02-03 03:57:49 -05:00
c30faad838
Allow all binder operations for root processes
2019-02-02 13:24:55 -05:00
2cf33d635d
Setuid after read proc
2019-02-01 15:55:29 -05:00
4df1047b07
Native project restructuring
2019-01-30 03:35:07 -05:00
60f69feaff
Full project restructuring
2019-01-30 03:10:12 -05:00
1c61feb368
Update native su connect broadcast code
...
Use -p <pkg> for supported platforms
2019-01-26 14:53:49 -05:00
d32b788988
Rewrite exec_command
2019-01-26 13:39:24 -05:00
7565ea2787
Remove strdup2
2019-01-26 13:00:19 -05:00
9275975b2c
Re-organize functions
2019-01-26 06:00:23 -05:00
71638191ee
Cleanup messy logging code
2019-01-26 02:41:25 -05:00
b7f69238a1
Fix segfault on several devices
2019-01-22 17:19:10 -05:00
f24342f117
Disable several features in Jellybean
2019-01-20 17:52:19 -05:00
50b55a77de
Don't mount images when running core-only mode
2019-01-20 17:01:59 -05:00
fdf167db11
Get API level from build.prop
2019-01-20 15:20:34 -05:00
a4f8bd4ee0
Bump to C++17
2019-01-20 00:07:58 -05:00
3e4c12cf56
Migrate to STL
2019-01-19 23:59:37 -05:00
03c39e692a
Switch to libc++
2019-01-19 13:47:33 -05:00
23e5188422
Update scripts
...
1. Update build.py to use f-strings
2. Directly append busybox binaries to update-binary
3. Remove b64xz
2019-01-15 08:32:18 -05:00
928c56bda2
Don't use (deleted) copy constructor, use constructor directly to fix build
2019-01-13 13:19:00 -05:00
bc6f37eecc
Fixes build error
...
device/phh/treble/magisk/Magisk/native/jni/systemproperties/prop_area.cpp:386:3: error: no matching function for call to 'atomic_store_explicit'
atomic_store_explicit(&node->prop, 0, memory_order_release);
^~~~~~~~~~~~~~~~~~~~~
external/libcxx/include/atomic:1220:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned int' vs. 'int')
atomic_store_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
^
external/libcxx/include/atomic:1229:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned int' vs. 'int')
atomic_store_explicit(atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
2019-01-13 13:19:00 -05:00
04088b34a2
Update gradle scripts
2019-01-04 17:55:17 +08:00
1df65940b9
Support Kirin 960 devices
...
Close #928
2018-12-31 16:09:14 +08:00
3ccac8c3b8
Terminate forked children for exec after failure
2018-12-28 16:33:26 +08:00
0be158afa1
Official KitKat support
2018-12-28 16:03:23 +08:00
523e66294b
Simpler su_info caching system
2018-12-26 11:56:49 +08:00
23f8f35098
Stop using system STL since it is no longer supported
2018-12-25 19:38:44 +08:00
8d210b5e37
Enhance EMUI 9 user experience
2018-12-25 01:08:46 +08:00
3c6c0e6700
Support EMUI 9.0
2018-12-24 21:36:37 +08:00
b245931c79
Prevent duplicates when "." or ".." occurs
2018-12-09 22:12:04 -05:00
1fae89cbb6
Add new cpio command: "exists", to magiskboot
2018-12-05 20:27:48 -05:00
109891d668
Make apk_install more portable
2018-12-05 18:36:27 -05:00