ThePedroo
4625587ea9
improve: ELF utils and SoList code
...
This commit improves the code related to ELF and SoList, porting them to C.
2025-04-08 16:26:19 -03:00
ThePedroo
52885faf8b
remove: dl.cpp file and replace with "dlopen"
...
This commit replaces DlopenMem for dlopen, removing the need for "dl.cpp" file.
2025-04-05 15:52:47 -03:00
Pedro.js
886e2f8396
improve: mounting system, compatibility; remove: logging on release ( #111 )
...
This commit adds numerous improvements to the state of hidden'ility of ReZygisk, and also for compatibility. Recommended to check #111 for more information.
2025-03-29 12:17:57 -03:00
Reveny
92e2f528a9
add: Android 9 support ( #117 )
...
This commit makes ReZygisk load Zygisk libraries directly, not utilizing memfd, as it doesn't exist in older versions of Android.
2025-03-22 19:12:24 -03:00
ThePedroo
b0a296fc29
add: support for magic mount in KSU and APatch
...
This commit allows ReZygisk to u(n)mount mounted paths in KSU and APatch environments using magic mount.
2025-01-11 06:37:24 -03:00
JingMatrix
0671f2e497
improve: reset linker module counters
...
Two counters for module loading and unloading are introduced in the commit https://cs.android.com/android/_/android/platform/bionic/+/a2e83ab34845759f0999d0ec88f4cdf558c0a9f5 . To remove linker traces of libzygisk.so and Zygisk modules, we should reset them properly.
2024-12-18 07:21:03 +01:00
JingMatrix
5e072bd919
improve: cache scanned virtual maps
...
Reading the file `/proc/self/maps` is detectable by the target process.
Hence, we should cache scanned virtual maps after `libart.so` is loaded for later plt hooks in the target process.
2024-12-18 07:21:03 +01:00
JingMatrix
2814aaf67f
remove: unnecessary memory mapping renaming
...
Note that it is impossible to hide injecting trace of virtual memory maps from the hooked target process.
ReZygisk will only focus on removing its trace for approcess that are not hooked by modules.
2024-12-18 07:19:41 +01:00
JingMatrix
b7138d6353
add: drop soinfo for libzygisk.so
...
1. fix typo vsdo -> vdso and allow this symbol to be not found, which is the case for the 32bit linkers on some devices
2. use soinfo_free to fully remove the soinfo record of libzygisk.so
3. set `soinfo.size = 0` to avoid the library being unmapped while removing its soinfo record
4. add more debug logs for troubleshooting
2024-12-15 16:28:49 +01:00
JingMatrix
5e43e4a71b
improve: hook pthread_attr_setstacksize
...
Relying on dlclose to unload libzygisk.so will block us to clean its trace in the solist.
This commit allows us to unmap libzygisk.so without using dlclose.
To call munmap, we use the function pthread_attr_setstacksize instead of pthread_attr_destroy, so that tail-call can still be applied here since it has the same signature as munmap.
2024-12-15 16:25:06 +01:00
Md Arif
060a1f3cf9
add: GrapheneOS support ( #53 )
...
This commit adds support for devices that run GrapheneOS by hooking on JNI methods they renamed.
Signed-off-by: Md Arif <111168803+sabamdarif@users.noreply.github.com >
2024-12-07 19:03:22 +00:00
JingMatrix
6c41a8188d
improve: drop soinfo records of loaded modules
...
In Bionic linker, the `soinfo` structure has a field `next`, which points to the next loaded library in a linked list consisting of all loaded libraries.
Hence, an injected process can easily find all loaded libraries.
Previously in ReZygisk, module library records are hidden by setting the `pathname` field to be empty, which is futile but easier to detect.
Current idea of dropping record can be found in the following commit:
https://github.com/RikkaApps/Riru/commit/5d635e8c66a018b5086f28e083b18b0d0656022b
2024-12-06 00:02:29 +01:00
ThePedroo
ba7d044611
fix: additional new line in some logs
...
This commit fixes the issue where some loggings would add an additional new line.
2024-11-10 23:11:49 -03:00
ThePedroo
763e94b9b6
fix: Magisk app marking Zygisk as disabled
...
This commit fixes the regression added (by me) that doesn't set "ZYGISK_ENABLED" environment variable, making it mark Zygisk as disabled.
2024-08-15 00:38:25 -03:00
Captain Throwback
4b7178f1ea
improve: genericize partition variable name ( #25 )
...
Since we use the same partition list for both KSU and AP,
make the vector name more generic.
Also rename the loop variable in ap function from ksu to ap
for consistency
2024-07-13 15:42:55 -03:00
ThePedroo
3451057d17
add: ignore modules in manager process
...
This commit adds the code to ignore running modules in the manager process.
2024-06-30 19:26:55 -03:00
Pedro.js
af96b85a91
add: maps hiding ( #13 )
...
This commit adds maps hiding. This commit is taken from Reveny's PR, for more information, see #9 .
solves #9
2024-06-26 19:38:34 -03:00
ThePedroo
2017140e0e
update: AppSpecializeArgs
...
This commit updates the AppSpecializeArgs to match newest one.
2024-06-22 23:19:37 -03:00
Matt
2047bdb1bf
add: APatch support ( #4 )
...
This commit adds support for APatch.
2024-06-22 23:13:29 -03:00
Nullptr
2d384685e7
No hardcode ksu tmp path
2024-01-05 14:30:07 +08:00
5ec1cff
9a95377d7b
fix injector cannot get tmp path
2024-01-05 10:37:48 +08:00
Nullptr
043cfd93d6
No hardcode temp dir
2024-01-04 03:44:57 +08:00
5ec1cff
cbd0f0f0c3
refine mount prop
2024-01-02 23:39:26 +08:00
5ec1cff
d5c896e966
check manager app
2024-01-02 19:33:27 +08:00
5ec1cff
5c8a67657c
use /debug_ramdisk
2024-01-02 18:03:17 +08:00
5ec1cff
07c29016a5
unmount ksu tmpfs
2024-01-01 00:12:54 +08:00
5ec1cff
cd714527e9
remove unnecessary jni hook logs
2023-12-31 14:27:19 +08:00
5ec1cff
12f57d6e8c
log if jni hook failed
2023-12-12 13:12:58 +08:00
5ec1cff
49886d9485
Fixes for Android 14 QPR2 B2 ( https://github.com/topjohnwu/Magisk/pull/7620 )
2023-12-12 13:05:10 +08:00
5ec1cff
b45d55e83d
change some logs level to V
2023-12-12 10:50:11 +08:00
5ec1cff
0e2bc75966
Add version info to logs
2023-12-11 11:40:19 +08:00
5ec1cff
9e48f18247
Randomize tmp path
2023-11-27 10:23:03 +08:00
5ec1cff
040643337d
init monitor
2023-11-12 20:34:45 +08:00
5ec1cff
ba8c313122
Merge branch 'art2' into new-pt
...
# Conflicts:
# loader/src/Android.mk
# loader/src/external/Android.mk
# loader/src/injector/hook.cpp
# module/src/customize.sh
# zygiskd/Cargo.toml
# zygiskd/src/utils.rs
# zygiskd/src/watchdog.rs
2023-11-08 15:33:15 +08:00
5ec1cff
ac53ef11a3
refactor jni hooks
2023-11-04 16:39:10 +08:00
5ec1cff
f5e0a418c9
WIP
2023-11-03 11:41:28 +08:00
5ec1cff
f78c217552
init-sigstop-based ptrace zygisk
2023-10-31 18:36:01 +08:00
5ec1cff
a2af28dc6f
add 32 bit support back & fix x86-64 support & fix jni hook restore ( #59 )
...
* Add back 32 bit support & some fix
* fix system server crash on android 10
* Refine code
---------
Co-authored-by: Nullptr <noreply@nullptr.icu >
2023-10-24 15:27:21 +08:00
Nullptr
9df4fb64cd
Fix magisk unmount
2023-10-21 16:25:00 +08:00
Nullptr
9051f59bf6
Fix hook
2023-10-20 15:24:42 +08:00
Nullptr
5f2dd50703
Replace native bridge with fuse + ptrace
2023-10-20 14:04:44 +08:00
5ec1cff
77cb323506
remove dead code ( #53 )
2023-10-19 01:47:53 +08:00
LoveSy
db47f03728
New way to unload zygisk ( #51 )
...
* use old binder_rs
* New way to unload zygisk (3a4fe53)
Co-authored-by: LoveSy <shana@zju.edu.cn >
Co-authored-by: 残页 <31466456+canyie@users.noreply.github.com >
---------
Co-authored-by: 5ec1cff <ewtqyqyewtqyqy@gmail.com >
Co-authored-by: 残页 <31466456+canyie@users.noreply.github.com >
2023-10-15 11:11:05 +08:00
5ec1cff
250b4b2f8c
umount for ksu 10763 ( #20 )
...
Signed-off-by: 5ec1cff <ewtqyqyewtqyqy@gmail.com >
2023-04-20 13:36:08 +08:00
Nullptr
b7bed4ad35
Fix pltHookCommit
2023-03-23 19:54:45 +08:00
Nullptr
446ed92f26
Change module dir and bump to 0.6.1
2023-03-01 12:42:12 +08:00
Nullptr
ff2658f2de
Rename libs
2023-02-28 20:48:20 +08:00
Nullptr
09b6673ab0
Implement revert_unmount_magisk
2023-02-28 16:03:41 +08:00
Nullptr
ec8475bca5
Better unmount refine
2023-02-25 13:59:37 +08:00
Nullptr
9ff1e27a7d
Unmount everything under ksu loop
2023-02-25 11:00:35 +08:00