Commit Graph

33 Commits

Author SHA1 Message Date
d952cc2327 Properly solve the connection problem 2019-11-07 17:41:59 -05:00
8277896ca1 Make sure uninstall.sh is executed on remove 2019-11-01 03:07:12 -04:00
e0927cd763 Add support to patch QCDT
Old Qualcomn devices have their own special QC table of DTB to
store device trees. Since patching fstab is now mandatory on Android 10,
and for older devices all early mount devices have to be included into
the fstab in DTBs, patching QCDT is crucial for rooting Android 10
on legacy devices.

Close #1876 (Thanks for getting me aware of this issue!)
2019-10-07 00:38:02 -04:00
f109038d12 Hardcode shell uid to 2000 2019-09-13 03:14:58 -04:00
52fd508fea Do not use std::random_device
Directly read from urandom instead of using std::random_device.
libc++ will use iostream under-the-hood, which brings significant
binary size increase that is not welcomed, especially in magiskinit.
2019-07-14 21:56:21 -07:00
41045b62dc Introduce more randomness
- Use C++ random generator instead of old and broken rand()
- Randomize string length to piss off stupid detectors
2019-07-14 17:42:49 -07:00
28cd6a75e7 Add missing functions in bionic 2019-06-23 14:54:48 -07:00
23d3e56967 Add new util function 2019-05-25 21:42:51 -07:00
24f5bc98d8 Add boot_complete trigger back
Samsung does not like running cmd before system services are started.
Instead of failing, it will enter an infinite wait on binder.
Move APK installation to boot complete to make sure pm can be run
without blocking process.
2019-04-05 07:00:30 -04:00
d2cb638fcd Use our own function to parse int 2019-03-07 20:31:35 -05:00
f152bea8d8 Trim dev name 2019-02-26 03:04:17 -05:00
c9fa8118d1 Some code adjustments 2019-02-24 23:09:34 -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
a19c7215d2 Better nice name 2019-02-15 04:31:39 -05:00
9430dbb96c Make sure logcat process does not become a zombie 2019-02-14 17:36:18 -05:00
0f55fcafe8 Migrate EXT4 images instead of removing them 2019-02-12 16:13:31 -05:00
71ecbb3af3 Clean/refactor includes 2019-02-10 03:57:51 -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
3e4c12cf56 Migrate to STL 2019-01-19 23:59:37 -05:00
3ccac8c3b8 Terminate forked children for exec after failure 2018-12-28 16:33:26 +08:00
109891d668 Make apk_install more portable 2018-12-05 18:36:27 -05:00
f69a004c1c Use raw execve
Some devices have broken libc...
2018-11-28 00:07:57 -05:00
e8cba3524e Kill target processes properly 2018-11-27 03:56:14 -05:00
29457a1d28 Small adjustments 2018-11-26 03:26:45 -05:00
731455f164 Update exec functions signatures 2018-11-26 03:06:48 -05:00
38fcc57bbf Use component name as targets
Services can name their process name arbitrarily, for instance the service in
com.google.android.gms that is responsible for SafetyNet is named
com.google.android.gms.unstable. There are many apps out in the wild use
dedicated services with special names to detect root, and previously the user
is expected to add all of them to the hide list.

In this commit, we change from targeting process names to component names.
On Android, component names are composed of <pkg>/<cls>. When targeting
component names, we can always know what application spawned the new process.
This means that if the user adds a package name to the hidelist, MagiskHide can
now target ALL possible processes of that specific application.

To abide with this change, the default SafetyNet target is now changed from
com.google.android.gms.unstable (process name) to
com.google.android.gms/.droidguard.DroidGuardService (component name)
2018-11-23 15:47:49 -05:00
3a2a2a4ffa Micro optimizations 2018-11-13 02:07:02 -05:00
8745c7884e Rename Array to Vector
Finally get rid of the C style vector, rename the template class to its proper name
2018-11-08 05:03:59 -05:00
7c12bf7fa1 Modernize code base 2018-11-07 02:10:38 -05:00
4351de503f Migrate exec function to C++ arrays 2018-11-03 04:03:11 -04:00
6339ba6bfb Upgrade libutils to C++ 2018-11-03 03:06:01 -04:00