Commit Graph

2810 Commits

Author SHA1 Message Date
660e0dc09a Fix MagiskHide unmount daemon
Close #1101
2019-02-19 01:50:41 -05:00
3ebc886f8a Make sure PPID exists 2019-02-18 03:45:01 -05:00
5b54ef840a Skip same mount namespace 2019-02-18 03:45:01 -05:00
c08b0d4974 update pl 2019-02-18 03:33:25 -05:00
7d652afd87 Small Changes. Very Small.
I hope it does not have to be adjusted again. Since the text does not appear completely. (Only appears when the rotation of the screen is horizontal)
2019-02-18 03:33:08 -05:00
0f61c627b1 Support deodexed ROM on Pie (Samsung)
- cc @abrahamgcc
2019-02-18 03:32:56 -05:00
7126648404 l10n: ja: Update Japanese translations
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2019-02-18 03:32:27 -05:00
4a5e2dc9c7 l10n: ja: Fix strings for UI
* strings "インストール", "タップしてSafetyNetチェックを開始" are too long to show in button

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2019-02-18 03:32:27 -05:00
10613686ed Fix bootloop when removing system SuperSU in <5.0 2019-02-18 03:31:16 -05:00
17ab55115a Add newlines before rc scripts
Based on #1090, thanks to @shakalaca. Close #1090, close #1086
2019-02-18 03:30:30 -05:00
2708c74ebe Add O_CLOEXEC to opens 2019-02-18 03:25:21 -05:00
50ff11405f Swap out inotify fd before adding watch targets 2019-02-18 03:18:11 -05:00
31a27838f5 Fix help message for magisk 2019-02-18 03:09:01 -05:00
2f1b0fe57f Remove unused scripts 2019-02-18 03:08:40 -05:00
692f893e1f Monitor /data/system/packages.xml
Reinstalling system apps as data creates tons of issues.
Calling pm path <pkg> is extremely expensive and doesn't work in post-fs-data.
Parse through packages.xml to get APK path and UID at the same time.
As a bonus, we don't need to traverse /data/app for packages anymore.
2019-02-18 03:05:13 -05:00
14aa6041ec Use a better function to read through files 2019-02-17 22:30:23 -05:00
fb55fe184c Hide useless error message 2019-02-16 03:41:37 -05:00
6412bfc7b5 Only care about the first event 2019-02-16 02:49:36 -05:00
3c56f38229 Change most logs to debug logs 2019-02-16 02:30:48 -05:00
f4f2274c60 Auto reinstall system apps on hide list
Since we are parsing through /data/app/ to find target APKs for
monitoring, system apps will not be covered in this case.
Automatically reinstall system apps as if they received an update
and refresh the monitor target after it's done.

As a bonus, use RAII idioms for locking pthread_mutex_t.
2019-02-16 02:24:35 -05:00
19ee189468 Separate scripting code 2019-02-15 20:45:05 -05:00
a19c7215d2 Better nice name 2019-02-15 04:31:39 -05:00
8b84039f1f Run service scripts actually in parallel 2019-02-15 01:30:47 -05:00
9430dbb96c Make sure logcat process does not become a zombie 2019-02-14 17:36:18 -05:00
4872df6a46 Support old APK paths and don't crash when not match 2019-02-14 16:38:28 -05:00
014105f0a0 Bring back log dumping 2019-02-14 04:27:30 -05:00
b106d1c501 Fix stupid mistake 2019-02-14 04:24:30 -05:00
99db0672b4 Minor MagiskHide adjustments
- Fail fast on unsupported systems
- Show proper fail message on unsupported systems
- inotify_fd shall be swapped out before closing to prevent
  the proc_monitor thread to read from incomplete inotify fd
2019-02-14 04:08:05 -05:00
d584360de2 More optimized APK traversal 2019-02-14 00:52:59 -05:00
4eed6794c7 More MagiskHide optimizations
- Use a general procfs traversal function with callbacks
- Much better functions for killing processes
2019-02-13 20:16:26 -05:00
c66cabd80f Several MagiskHide improvements
- Directly get UID instead of traversing /data/data everytime
- Use /data/user_de/0 instead of /data/data on Android 7.0+
- Update hide_uid set incrementally when adding/initializing targets
- Guard hide_uid set with the same lock as hide_list vector
- Do not add GMS package into database; only add to in-memory list
2019-02-13 06:16:26 -05:00
24da3485bd Hardcode GMS unstable to MagiskHide
With the new detection method, it is impossible to check for components.

Remove additional checks for components and simply hardcode string to
proc_monitor.cpp and query cmdline to see if it's GMS unstable.

This addresses wasted resources on applying custom namespace
on all GMS processes.

Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
2019-02-12 23:39:57 -05:00
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
e5940168fe Fix string resources 2019-02-12 17:03:20 -05:00
6855baf0f8 Update romanian translation 2019-02-12 17:01:11 -05:00
dfd16e8fef Update strings.xml 2019-02-12 17:01:01 -05:00
98a36819bc Limit Boot Image selection dialog to File Managers 2019-02-12 17:00:48 -05:00
de8bc9ca9d Update strings.xml
PT-rBR update
2019-02-12 17:00:32 -05:00
c137f2de4f Remove SDK 16 support completely
Android 4.1 init miss several significant features Magisk reply on,
so the final decision is to forget about it in the future.

Pull minSdkVersion of Magisk Manager back to 17 and remove some
unnecessary adjustments done for SDK 16
2019-02-12 16:58:05 -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
cfa28f0c4a Empty Exceptions 2019-02-11 17:14:29 -05:00
ab47b717b1 Reorganize scripts 2019-02-11 17:14:07 -05:00
65ebb0d2f8 Misc Formatting
* PEP8 and linting
* empty exceptions
2019-02-11 03:18:15 -05:00
Rom
49640ce03a Update French translation 2019-02-11 03:06:44 -05:00
e05cdc83f3 fix extract_bb 2019-02-11 02:35:04 -05:00
992a9ea2f9 Fix EMUI 9 detection 2019-02-11 02:26:15 -05:00