Commit Graph

37 Commits

Author SHA1 Message Date
JingMatrix c622d0f1f9 Start service daemon in post-fs-data.sh (#429)
For trace cleaning modules to work properly, such as the DenyList feature of NeoZygisk, it is better to execute modules mount (`dex2oat` for the case of LSPosed) at post-fs-data.sh.

Moreover, the `logd` daemon of LSPosed should start as early as possible.

This reverts commit 92cbed418e (pull-request #57).

The original pull-request claimed a `PlayIntegrityFix` break, but was not reproducible on other devices.
2025-11-08 11:59:16 +01:00
Qing_Feng 108149b6b7
Remove WebUI integration (#345)
Having a WebUI simply duplicating the current function of the Action button is unnecessary.

Since most users are migrated to root implementations which realize the Action button feature, we revert commit f8409ad34b to remove the WebUI integration of LSPosed.
2025-07-21 07:37:52 +02:00
JingMatrix f081aa3899
Fix packaging bugs of LSPosed v1.10.2 (#341)
1. Magisk manager cuts off the full changelog, it is thus better to move my personal note to the end. Add emoji for easier understanding.
2. Fix locating the generated javascript file. In Parcel 2, this file now has prefix `generate`.
3. Fix the author name, use JingMatrix for accuracy.
2025-07-13 01:32:45 +02:00
JingMatrix 06abb8a7bc Release LSPosed v1.10.2 2025-07-12 11:30:46 +02:00
JingMatrix 209a5417ec
Allow dex2oat to access files received from sockets (#165)
On some devices `dex2oat` cannot access files (fd) received from sockets due to SELinux restrictions.
Hence, we add a new rule according to the avc logs, which showed that permissions `open` and `getattr` were needed.
2025-01-22 12:01:55 +01:00
JingMatrix c0478f593e
Hook dex2oat functions to remove LSPosed traces (#152)
We use the env LD_PRELOAD to hook the execution of `dex2oat`, which can be directly set to be a file descriptor.
2025-01-08 07:19:18 +01:00
JingMatrix 2bc0f0c716 Refine SELinux rules for Xposed files (#149)
1. The SELinux context label `magisk_file` is widely used by Zygisk implementation modules. It is improper for LSPosed to abuse this label for its own files. We replace it by `xposed_file`.
2. A new rule added according to the SELinux logs, which is needed to write to the mangaer's SharedPreference.
3. `xposed_data` is a new SELinux context label for XSharedPreference files, it is not meant to provide MAC restricted access but to conform with Android's rule: https://developer.android.com/about/versions/pie/android-9.0-changes-28#per-app-selinux.
4. We add attribute `mlstrustedobject` to ignore the `Multi-Level and Multi-Category Security` enforced on Android.
2025-01-06 16:31:17 +01:00
JingMatrix 3c020a9cd7 Partially revert the previous commit
Current commit will restore the modifications 1,4 in the previous
commit 156c6ae855. Thanks for people in
the community, @privacyguy123, @aviraxp and @HuskyDG, just to name a
few, to notice my sever mistakes.

Those mistakes are mainly caused by my inconsistent usage of testing
environments. I wrongly compared the detecting results with different
`Zygisk` implementations and was too assertive and careless to make those
changes. Here is the explanation for reverting the previous commit:
1. `system.prop` is not extracted for Android 1O+ devices in
   `customize.sh`;
2. mounting /data/resource-cache is still needed in some systems
   (ColorOS, to be confirmed), and it isn't a detection point.

To verify that modifications 2,3 are effective, I tested them with `Zygisk
Next` 1.2.4 (445-031a64c-release) and `Holmes` V1.5.1 Narcissus on
`Magisk` a34c04f9 280002.
2024-12-02 12:38:58 +01:00
JingMatrix 156c6ae855 Remove some traces left by LSPosed
1. Avoid changing `system.prop`: there is already no need to add
   system-wise `dex2oat` flags, since LSPosed provides a wrapper for it,
   see https://nullptr.icu/index.php/archives/53/ for detailed
   explanation;
2. Postpone initialization of LSPlant: initialization of `initInfo`
   during the `onLoad` Zygisk api will change the order of parsed files
   in memory, especially bring the item `libart.so` forward;
3. Close opened virtual map file: this should no longer be a problem
   after the second point is applied since it is no longer opened during
   `onLoad`, but let us close it as a good practice;
4. Remove /data/resource-cache mount: introduced in
   https://github.com/LSPosed/LSPosed/pull/1627, most likely designed to
   solve problems in early versions of root solutions and being reverted
   does not change the function of deamon since we will have to wait
   sufficient time in `waitSystemService` of `LSPosedService` manager.
   Of course, more tests are neeeded on different devices to see if
   parasitic notification manager will work as expected.
2024-12-02 10:15:44 +01:00
Keeperorowner be2342194c
Add action.sh to open LSPosed manager (#74)
* Update customize.sh

* Create action.sh

* Keep WebUI as fallback

---------

Co-authored-by: JingMatrix <jingmatrix@gmail.com>
2024-10-31 15:02:28 +01:00
JingMatrix 5f20d7ab75 Android 15 is released 2024-10-16 11:06:16 +02:00
Captain Throwback 92cbed418e Start service daemon in late_start mode (#57)
1. Starting daemon during post-fs-data can cause Play Integrity detection
   for devices without the PlayIntegrityFix module.
2. Starting LSPosed service daemon in post-fs-data mode is redundant on
   many devices
2024-10-08 03:05:03 +02:00
JingMatrix 4d8e01176f Remove Riru support
The repository RikkaApps/Riru is archived since Jan 8, 2024, which
recommends Zygisk as its alternative.
2024-09-23 11:10:25 +02:00
JingMatrix ea2e1c8518 Update to Zygisk API v4
Skip checking magisk version on KernelSU or APatch
Close #44 as completed
2024-09-23 11:10:03 +02:00
JingMatrix f8409ad34b Open parasitic manager through WebUI
Open the parasitic manager using WebUI of KernelSU / APtach.
In the future the web page could become an alternative manager,
without parasitic manager at all.

See https://github.com/mywalkb/LSPosed_mod/issues/65 for details.

Co-authored-by: mywalk <66966897+mywalkb@users.noreply.github.com>
2024-08-31 02:43:25 +02:00
JingMatrix bdba029fe9 Update repo info 2024-07-27 10:40:27 +02:00
JingMatrix 4666b13013 Annonce support for Android 15 Beta 4 2024-07-24 01:41:02 +02:00
vvb2060 df74d83eb0 set mount ns propagation to slave 2024-01-07 13:23:32 +08:00
Howard Wu 254a8adb27
Officially announce Android 14 support (#2801)
Co-authored-by: LoveSy <shana@zju.edu.cn>
2023-10-10 17:06:21 +00:00
Howard Wu 35dfd650fe
Move manager APK to module path (#2787) 2023-10-07 22:37:58 +08:00
南宫雪珊 3d11c2f0f7
Make dex2oat wrapper more compatible (#2372) 2023-02-19 21:24:54 +08:00
Howard Wu 760f0bb0eb
All flavors require Magisk 24.0+ (#2368)
Magisk 23 is missing some SELinux policies

This fixes a permissions issue with the Dex2Oat wrapper

```
02-04 23:45:00.212  4396  4396 E LSPosedDex2Oat: failed to connect to /dev/c951326ba095346b/dex2oat.sock failed with 13: Permission denied
02-04 23:45:00.209  4396  4396 W dex2oat64: type=1400 audit(0.0:8403): avc: denied { write } for name="dex2oat.sock" dev="tmpfs" ino=26722 scontext=u:r:installd:s0 tcontext=u:object_r:magisk_file:s0 tclass=sock_file permissive=0
02-04 23:45:00.213  1510  3805 V installd: DexInv: --- END '/data/app/~~M2S57MD185N1tyyKQy9PKw==/com.google.android.gm-7Q68xrTQSACXisBuDI6oBg==/base.apk' --- status=0x 100, process failed
02-04 23:45:00.213  1510  3805 E installd: Dex2oat invocation for /data/app/~~M2S57MD185N1tyyKQy9PKw==/com.google.android.gm-7Q68xrTQSACXisBuDI6oBg==/base.apk failed: unspecified dex2oat error (256)
```

Additional rules first appeared in Magisk version 24000
2c44e1bb93
2023-02-06 00:19:55 +08:00
Howard Wu 6b70b624e3
Set the dex2oat wrapper owner and group to `root:shell` (#2248) 2022-11-27 00:12:05 +08:00
南宫雪珊 2785ec3e32
Revert "Reject installation when JsHook is installed (#2178)" (#2179)
This reverts commit 7bcdeb1875.
2022-10-16 11:28:10 +08:00
Howard Wu 7bcdeb1875
Reject installation when JsHook is installed (#2178) 2022-10-15 14:38:54 +00:00
Nullptr 205138f638
Fix binary patch (#2096) 2022-08-30 19:14:11 +08:00
残页 a9e9fd4d5f
[skip ci] Android 13 Stable is supported (#2084) 2022-08-19 00:09:20 +00:00
残页 260a5e1170
Remove extraction of libdaemon.so (#2050) 2022-07-25 07:37:10 +08:00
LoveSy c1087a2e80
Fix zygisk x86 only installation (#1907) 2022-05-01 19:42:29 +00:00
LoveSy 7d5778a01c
Update elf util & lsplant to support A13B1 arm (#1894) 2022-04-27 03:29:32 +00:00
LoveSy 177c2cd0c4
Fix hook may not work on debuggable runtime (#1892)
Co-authored-by: Wang Han <wanghan1995315@gmail.com>
2022-04-27 06:21:47 +08:00
Nullptr dc6cd4b0fd
Fix incorrect mount point on Android 10 (#1870)
* Detect conditions when dex2oat wrapper doesn't work

* No enum

* Copy

* Update

* Update

* Fix dex2oat wrapper on Android 10

* Stupid typo

* Update dex2oat.cpp

Co-authored-by: LoveSy <shana@zju.edu.cn>
2022-04-21 01:40:48 +00:00
Nullptr 3ca1478a3a
Optimize dex2oat wrapper (#1805) 2022-04-03 11:30:15 +08:00
Nullptr 2f9e0e07b0
Resolve dex2oat parameters for Android 10+ (#1803) 2022-04-02 13:13:22 +08:00
残页 d8cad5f432
[skip ci] Android 13 DP2 is supported (#1784)
* [skip ci] Android 13 DP2 is supported

* Update module.prop
2022-03-22 05:18:03 +00:00
LoveSy 416167a226
Refactor ApplicationService (#1775) 2022-03-20 08:44:17 +08:00
Nullptr e0de4ca6d7
Separate core into bridge and loader (#1766) 2022-03-17 19:12:01 +08:00