Commit Graph
1059 Commits
Author SHA1 Message Date
vvb2060andJohn Wu 3599384b38 Allow fallback to /dev/pts 2021-10-23 23:31:44 -07:00
topjohnwu 4b307cad2c Random minor changes 2021-10-23 22:20:07 -07:00
topjohnwu 7496d51580 Make zygiskd ABI aware 2021-10-23 14:38:30 -07:00
topjohnwu 4194ac894c Support setting more options 2021-10-21 03:20:04 -07:00
topjohnwu ffb5d9ea9c Update libcxx 2021-10-21 02:08:13 -07:00
topjohnwu 770b28ca30 Build on API 21 headers 2021-10-20 03:17:42 -07:00
topjohnwu 8d0dc37ec0 Use SO_PEERSEC to get client secontext 2021-10-19 23:46:38 -07:00
topjohnwu fe41df87bb pthread_cond_signal might wake multiple threads
Close #4759
2021-10-19 21:32:37 -07:00
topjohnwu 8276a0775d Fix API doc 2021-10-17 05:42:33 -07:00
LoveSyandGitHub abfb3bb3bb Fix always log hook fails 2021-10-17 05:00:31 -07:00
LoveSyandJohn Wu e184eb4a23 Fix UB of loading modules
- The lambda here infers its return type as `std::string`,
  and since `info` is `const`, the labmda copies `info.name`
  and returns a `std::string&&`. After captured by the
  `std::string_view`, the `std::string&&` return value
  deconstructs and makes `std::string_view` refers to a
  dangling pointer.
2021-10-17 04:38:56 -07:00
topjohnwu d0fc372ecd Implement Zygisk companion process 2021-10-17 04:36:18 -07:00
topjohnwu 6f54c57647 Allow fork in thread pool 2021-10-17 04:24:25 -07:00
topjohnwu e8ae103d5f Update jni hooks 2021-10-14 02:43:56 -07:00
topjohnwu b0198dab6c Update Zygisk logging 2021-10-14 02:13:23 -07:00
topjohnwu b75ec09998 Load Zygisk modules even if no magic mount is needed
Close #4767
2021-10-14 01:35:29 -07:00
topjohnwu c8ac6c07b0 Load Zygisk modules 2021-10-13 04:52:02 -07:00
topjohnwu 27814e3015 Minor Zygisk API changes 2021-10-09 11:53:40 -07:00
topjohnwu f59309a445 Minor changes 2021-10-09 11:36:01 -07:00
vvb2060andJohn Wu b0292d7319 Add execmem to allow hook 2021-10-09 02:59:03 -07:00
topjohnwu 7f18616cc0 Prune unused nodes from trie 2021-10-09 02:15:03 -07:00
topjohnwu 2fef98a5af Wipe out prop_info data after delete 2021-10-09 00:27:11 -07:00
topjohnwu 36765caedc Fix thread pool implementation
Close #4759
2021-10-08 23:28:14 -07:00
topjohnwu f7aed10ea2 Fix friend template function 2021-10-08 19:17:31 -07:00
topjohnwu 410bbb8285 Update Zygisk APIs 2021-10-05 22:42:55 -07:00
topjohnwu f56ea52932 Add public Zygisk API
Still WIP
2021-10-05 03:53:22 -07:00
vvb2060andJohn Wu cb4361b7b7 Fix terminal on android 8
No need to handle untrusted_app_all_devpts on modern devices, but devpts policy is different for older devices.
2021-09-25 12:08:35 -07:00
vvb2060andJohn Wu ecd332c573 Close fd 2021-09-25 12:07:52 -07:00
topjohnwu f642fb3b99 Properly handle child zygote
Close #4720
2021-09-24 01:23:58 -07:00
topjohnwu e68dd866a3 Only create app_id_map if necessary 2021-09-24 00:22:19 -07:00
topjohnwu 73d36fdff0 Riru and its modules are not compatible with zygisk 2021-09-23 23:54:46 -07:00
vvb2060andJohn Wu d20517483e Prevent multiple mounts of devpts 2021-09-23 02:40:24 -07:00
topjohnwu f3d39e7515 Update BusyBox
Fix #4657, close #4602
2021-09-23 02:31:42 -07:00
残页andJohn Wu 61783ffc82 Prevent original libselinux.so to be unmounted
libselinux.so will be unmounted when magiskd starts. If magiskd restarts (like it died before boot completed), the files we want to unmount is the original files because the modified files is unmounted in previous start, which will causes many crashes due to missing libselinux.so.
2021-09-22 19:34:44 -07:00
topjohnwu 05c4ad01d5 Move first stage unload into second stage 2021-09-22 19:33:08 -07:00
topjohnwu 12647dcf30 Improve memory map tricks
- In `unmap_all`, replace readable pages atomically with mmap + mremap
- Create new function `remap_all` to replace pages with equivalent
  anonymous copies to prevent simple maps name scanning
2021-09-22 19:14:05 -07:00
topjohnwu da38f59e62 Only run destructor if necessary 2021-09-22 02:52:33 -07:00
topjohnwu cf4ef54dc5 Unload first stage on main thread 2021-09-22 02:46:07 -07:00
topjohnwu 12e9873514 Update zygisk entry implementation 2021-09-22 00:14:22 -07:00
RikkaWandJohn Wu f7c0e407ca Fix downgrade database 2021-09-20 05:50:34 -07:00
topjohnwu 82c7662cdf Cache Magisk app ID for performance 2021-09-20 05:47:15 -07:00
topjohnwu 4f0bced53e Track app ID instead of UID 2021-09-20 05:08:25 -07:00
topjohnwu f1b6c9f4aa Refresh uid_map on package.xml change 2021-09-20 04:42:06 -07:00
topjohnwu 0ab31ab0df Fix log writer 2021-09-19 13:41:45 -07:00
topjohnwu 46e8f0779f Move denylist code into zygisk 2021-09-18 14:50:11 -07:00
topjohnwu 3fb72a4d20 Support polling on multiple fds 2021-09-18 14:40:12 -07:00
topjohnwu db20f65d7c On denylist != do unmount 2021-09-18 12:44:42 -07:00
topjohnwu 63cfe7b47b Make sanitize_environ work properly 2021-09-18 05:11:10 -07:00
topjohnwu db590091b3 Propagate Zygisk state to Magisk app 2021-09-18 02:38:53 -07:00
topjohnwu 7b25e74418 Simplify get manager app info logic 2021-09-17 02:07:32 -07:00