topjohnwu
9275975b2c
Re-organize functions
2019-01-26 06:00:23 -05:00
topjohnwu
71638191ee
Cleanup messy logging code
2019-01-26 02:41:25 -05:00
topjohnwu
b7f69238a1
Fix segfault on several devices
2019-01-22 17:19:10 -05:00
topjohnwu
f24342f117
Disable several features in Jellybean
2019-01-20 17:52:19 -05:00
topjohnwu
50b55a77de
Don't mount images when running core-only mode
2019-01-20 17:01:59 -05:00
topjohnwu
fdf167db11
Get API level from build.prop
2019-01-20 15:20:34 -05:00
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
03c39e692a
Switch to libc++
2019-01-19 13:47:33 -05:00
topjohnwu
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
Pierre-Hugues Husson
928c56bda2
Don't use (deleted) copy constructor, use constructor directly to fix build
2019-01-13 13:19:00 -05:00
Pierre-Hugues Husson
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
topjohnwu
04088b34a2
Update gradle scripts
2019-01-04 17:55:17 +08:00
topjohnwu
1df65940b9
Support Kirin 960 devices
...
Close #928
2018-12-31 16:09:14 +08:00
topjohnwu
3ccac8c3b8
Terminate forked children for exec after failure
2018-12-28 16:33:26 +08:00
topjohnwu
0be158afa1
Official KitKat support
2018-12-28 16:03:23 +08:00
topjohnwu
523e66294b
Simpler su_info caching system
2018-12-26 11:56:49 +08:00
topjohnwu
23f8f35098
Stop using system STL since it is no longer supported
2018-12-25 19:38:44 +08:00
topjohnwu
8d210b5e37
Enhance EMUI 9 user experience
2018-12-25 01:08:46 +08:00
topjohnwu
3c6c0e6700
Support EMUI 9.0
2018-12-24 21:36:37 +08:00
topjohnwu
b245931c79
Prevent duplicates when "." or ".." occurs
2018-12-09 22:12:04 -05:00
topjohnwu
1fae89cbb6
Add new cpio command: "exists", to magiskboot
2018-12-05 20:27:48 -05:00
topjohnwu
109891d668
Make apk_install more portable
2018-12-05 18:36:27 -05:00
topjohnwu
a868118f6f
Use defined symbols in SDK 16 libsqlite.so
2018-12-05 12:48:01 -05:00
topjohnwu
e5c62f5750
Allow post-fs-data module scripts to change module state
2018-12-05 12:47:29 -05:00
topjohnwu
08cd5b81d1
Try to repair boot_hdr v1 entries
2018-12-04 03:30:43 -05:00
topjohnwu
79b84da4b8
Adjust for new FrankeNDK
2018-12-04 02:08:51 -05:00
topjohnwu
68b07c5913
Use flags for smaller binary
2018-12-03 19:43:02 -05:00
topjohnwu
2a2e1236fc
Use magic macros
2018-12-01 03:53:58 -05:00
topjohnwu
9b170f2b4f
Switch from deprecated AUDITDENY to DONTAUDIT
2018-11-29 06:42:04 -05:00
topjohnwu
51e9ff59de
Temporarily suppress warnings when applying Magisk rules
2018-11-29 06:31:05 -05:00
topjohnwu
2977dbcded
Remove all dontaudit in magisk rules
2018-11-29 06:28:37 -05:00
topjohnwu
ac60b51035
Support removing redundant avtab nodes
2018-11-29 05:42:08 -05:00
topjohnwu
4c2f33a089
Remove '--install'
2018-11-29 04:35:43 -05:00
topjohnwu
3b071116ac
Update magiskpolicy
...
- Generalize avtab node extraction and insertion
- Add new supported rules: type_change, type_member
- Update help message with official policy language
2018-11-29 03:46:29 -05:00
topjohnwu
f723427b8b
Add built-in procfs protection on SDK 24+
...
More information in the Medium Post:
https://medium.com/@topjohnwu/from-anime-game-to-android-system-security-vulnerability-9b955a182f20
2018-11-28 01:27:32 -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
e67965a381
Silent some errors
2018-11-24 15:53:15 -05:00
topjohnwu
ec4723096f
Prevent file descriptor from unclosed
2018-11-23 21:15:44 -05:00
topjohnwu
762b678d24
Prevent any SELinux issues of root shell streams
2018-11-23 21:08:06 -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
c8c57c74cc
Optimize proc_monitor
2018-11-23 14:32:33 -05:00
topjohnwu
0784448c69
Remove /.backup folder on start
2018-11-20 05:24:40 -05:00
topjohnwu
de0064af47
Fix SIGWINCH never followed
...
Close #786
2018-11-20 04:40:42 -05:00
topjohnwu
baae1fc84f
Modernize selinux stub
2018-11-20 03:49:44 -05:00
topjohnwu
2ab999f4ca
Fix bug in DB query wrapper
2018-11-20 02:20:49 -05:00
topjohnwu
c9f390d6e0
Abort upon any error occurred
2018-11-20 02:20:49 -05:00
topjohnwu
3622c49ce1
Update busybox
2018-11-18 15:58:41 -05:00
topjohnwu
0462e9a7d9
Update external dependencies
2018-11-18 03:34:59 -05:00
topjohnwu
c3a6091908
Update to 1.29.3
2018-11-18 02:45:21 -05:00
topjohnwu
ab5fedda0b
Prevent Magisk database race condition
...
The database should only be accessed by a single process, which is magiskd.
This means 'magisk --sqlite [SQL]' has to be updated to pass the SQL command to the daemon.
In addition, open the database connection with SQLITE_OPEN_FULLMUTEX to support multithread in magiskd.
2018-11-16 03:20:30 -05:00
topjohnwu
ba70269398
Directly print output over socket
2018-11-16 01:49:15 -05:00
topjohnwu
77fd5fa7de
Do not follow symlink when checking legacy paths
2018-11-16 01:16:25 -05:00
topjohnwu
ab74290fe3
Move magiskhide config into database
2018-11-16 01:15:34 -05:00
topjohnwu
3aad9d8166
Add CLI to detect MagiskHide status
2018-11-16 00:37:41 -05:00
topjohnwu
572e078d87
Fully deprecate <mount_point>/.core folder
...
Symlinks are preserved for backwards compatibility
2018-11-15 22:55:28 -05:00
topjohnwu
ee4548230b
Disable native systemless hosts, add built-in systemless hosts module
2018-11-15 13:57:41 -05:00
topjohnwu
376e7977f0
Deprecate path /sbin/.core, switch to /sbin/.magisk
...
Symlink is preserved for backwards compatibility
2018-11-15 01:36:03 -05:00
topjohnwu
83ae66daea
Change stock boot image SHA1 backup method
2018-11-15 00:33:20 -05:00
topjohnwu
89e0be0099
Fix a bug causing magiskhide CLI freezing
2018-11-13 02:22:55 -05:00
topjohnwu
ef40c1212e
Prevent infinite loop if process is killed
...
Close #761
2018-11-13 02:11:02 -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
c61c3ae0e9
Fix su shell environment setup
2018-11-10 02:17:13 -05:00
topjohnwu
3603b7c82b
Move cmdline and extra_cmdline to the same line
2018-11-08 20:57:30 -05:00
topjohnwu
5743c72cca
Minor cleanup
2018-11-08 15:23:36 -05:00
topjohnwu
4cdd66ceff
Fix lowmemorykiller crash hell in Pixel 3
2018-11-08 13:41:03 -05:00
topjohnwu
d3947d2cfa
Adjust logging in magiskpolicy
2018-11-08 06:43:11 -05:00
topjohnwu
07718b994a
Fix magiskinit
...
The behavior of C and C++ is slightly different, and causes unable to set excl_list
2018-11-08 06:07:52 -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
b6965105b7
Better parsing logic
2018-11-08 04:57:16 -05:00
topjohnwu
3d269fe8be
Migrate MagiskInit to C++
2018-11-08 04:20:16 -05:00
topjohnwu
be5f00aa1a
Prevent stack overflow when managing hide list
2018-11-07 22:46:56 -05:00
topjohnwu
59ba350f34
Fix copy and move assigments of Array
2018-11-07 04:09:37 -05:00
topjohnwu
803c5377a6
Clean init.c
2018-11-07 02:21:15 -05:00
topjohnwu
7c12bf7fa1
Modernize code base
2018-11-07 02:10:38 -05:00
topjohnwu
ca35a9681f
Minor code improvements
2018-11-06 05:02:30 -05:00
topjohnwu
9fe5f37337
Minor code improvements
2018-11-05 14:37:47 -05:00
topjohnwu
0742901cd2
Modernize database code
2018-11-04 18:24:08 -05:00
topjohnwu
5e4d2dedbe
Minor log_daemon changes
2018-11-04 17:23:08 -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
ef6677f43d
Source reorganization
2018-11-03 00:26:04 -04:00
topjohnwu
a7824af5a8
Expose persist prop API
2018-11-03 00:15:21 -04:00
vvb2060
1eb7d7b7a8
Add FLAG_INCLUDE_STOPPED_PACKAGES for broadcast
2018-11-03 00:04:27 -04:00
topjohnwu
11c33d4447
Migrate resetprop to C++
2018-11-02 23:56:15 -04:00
topjohnwu
b8a3cc8b60
Separate magiskhide logic from main daemon
2018-11-01 14:08:33 -04:00
topjohnwu
27c688252d
Store hidelist in magisk database
2018-11-01 13:23:12 -04:00
topjohnwu
3e2afd4b1d
Better debugging output
2018-11-01 01:16:15 -04:00
topjohnwu
f45b0686d2
Mount ext4 images with noatime flag
2018-10-29 21:44:22 -04:00
topjohnwu
ceb51bb14f
daemon.c uses external flags
2018-10-28 16:55:51 -04:00
topjohnwu
79e5b54ec7
Remove redundant semicolon
2018-10-28 15:13:30 -04:00
topjohnwu
dc413e7b73
Retry db construction if first time failed
2018-10-28 14:49:04 -04:00
topjohnwu
2efc423cf8
Add missing flags and move debug logging logic to libutils
2018-10-28 04:25:31 -04:00