topjohnwu
a4f8bd4ee0
Bump to C++17
2019-01-20 00:07:58 -05:00
topjohnwu
3e4c12cf56
Migrate to STL
2019-01-19 23:59:37 -05:00
topjohnwu
3ccac8c3b8
Terminate forked children for exec after failure
2018-12-28 16:33:26 +08:00
topjohnwu
23f8f35098
Stop using system STL since it is no longer supported
2018-12-25 19:38:44 +08:00
topjohnwu
109891d668
Make apk_install more portable
2018-12-05 18:36:27 -05:00
topjohnwu
f69a004c1c
Use raw execve
...
Some devices have broken libc...
2018-11-28 00:07:57 -05:00
topjohnwu
e8cba3524e
Kill target processes properly
2018-11-27 03:56:14 -05:00
topjohnwu
29457a1d28
Small adjustments
2018-11-26 03:26:45 -05:00
topjohnwu
731455f164
Update exec functions signatures
2018-11-26 03:06:48 -05:00
topjohnwu
b01a8cace6
Always try native accept4
2018-11-26 02:57:34 -05:00
topjohnwu
ec4723096f
Prevent file descriptor from unclosed
2018-11-23 21:15:44 -05:00
topjohnwu
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
topjohnwu
baae1fc84f
Modernize selinux stub
2018-11-20 03:49:44 -05:00
topjohnwu
3a2a2a4ffa
Micro optimizations
2018-11-13 02:07:02 -05:00
topjohnwu
9592a69986
Prevent unmounting non-custom mount points
2018-11-13 01:53:48 -05:00
topjohnwu
ef9d463bd7
Fix PLOGE
2018-11-08 06:07:02 -05:00
topjohnwu
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
topjohnwu
3d269fe8be
Migrate MagiskInit to C++
2018-11-08 04:20:16 -05:00
topjohnwu
59ba350f34
Fix copy and move assigments of Array
2018-11-07 04:09:37 -05:00
topjohnwu
7c12bf7fa1
Modernize code base
2018-11-07 02:10:38 -05:00
topjohnwu
9fe5f37337
Minor code improvements
2018-11-05 14:37:47 -05:00
topjohnwu
cda57dd4b4
Fully migrate Magisk to C++
2018-11-04 04:15:51 -05:00
topjohnwu
4351de503f
Migrate exec function to C++ arrays
2018-11-03 04:03:11 -04:00
topjohnwu
6339ba6bfb
Upgrade libutils to C++
2018-11-03 03:06:01 -04:00
topjohnwu
11c33d4447
Migrate resetprop to C++
2018-11-02 23:56:15 -04:00
topjohnwu
27c688252d
Store hidelist in magisk database
2018-11-01 13:23:12 -04:00
topjohnwu
2efc423cf8
Add missing flags and move debug logging logic to libutils
2018-10-28 04:25:31 -04:00
topjohnwu
6dc9ccad75
Use const char*
2018-10-26 17:02:56 -04:00
topjohnwu
9954154ca2
Move functions out of libutils
2018-10-24 22:23:14 -04:00
topjohnwu
fc8a3c5fb4
Migrate MagiskBoot to C++
2018-10-24 22:23:14 -04:00
topjohnwu
a9121fa28f
Reorganize libutils and cleanups
2018-10-12 21:46:09 -04:00
topjohnwu
d5a56d9e85
Fix bootloop for some devices with two /data
...
Close #654
2018-10-12 00:54:55 -04:00
topjohnwu
e8e39e0f3c
Use poll instead of select
...
Close #637
2018-10-04 15:06:13 -04:00
topjohnwu
cce636224c
Reorganization
2018-09-27 18:26:41 -04:00
topjohnwu
60b3b8ddce
Better incremental builds
2018-09-27 03:56:56 -04:00
topjohnwu
41446ec9ba
Separate libutils and libsystemproperties
2018-09-27 03:30:16 -04:00
topjohnwu
df8b047bca
Generalize logging interface
2018-09-27 03:11:10 -04:00
topjohnwu
1d53335ae5
Dynamic load libselinux
2018-09-27 00:09:59 -04:00
yuchenlin
0ab6ffefb4
utils/misc.c: prevent file staying opened when function leaving
...
The utils function may be called in any situation, such as in daemon. We
should guarantee that all the resource got from this function released
normally.
Signed-off-by: yuchenlin <npes87184@gmail.com>
2018-09-20 16:55:48 -04:00
topjohnwu
6f41d9855b
Randomize service names
...
Fix Aniplex Game detections.
Close #502 , close #513
2018-09-08 23:17:00 -04:00
topjohnwu
7a0025673c
Use libsystemproperties in resetprop
...
Upstream to latest Android Pie
2018-09-06 02:57:02 -04:00
topjohnwu
5bac442b18
Reorganize sources
2018-08-10 03:49:25 +08:00
topjohnwu
6add682705
Remove high compression mode
2018-08-10 03:49:25 +08:00
topjohnwu
7b5d79d313
Kill all processes using the same UID of the target
...
To workaround OOS embryo optimization
2018-08-08 05:47:58 +08:00
topjohnwu
91818cfa1a
Support compiling split cils via magiskpolicy CLI
2018-07-21 05:12:22 +08:00
topjohnwu
3c1aca114f
Wrap accept4 since some device does not have it
2018-07-17 06:52:23 +08:00
topjohnwu
18d0fd9d2a
MagiskInit optimizations
2018-07-17 06:18:36 +08:00
topjohnwu
f339a087a2
Let Magisk compile against SDK 16
2018-07-13 22:14:32 +08:00
topjohnwu
1affb91f17
Support compiling against lower SDK
...
Reduce even more size for static binaries
2018-07-13 05:41:29 +08:00
topjohnwu
1283167595
Maintain our own set of loop devices
2018-07-07 01:32:58 +08:00