NkBe
df7bf3eb58
修復模組加載備援機制
...
新增本地快取讀取:當系統無法透過 Content Provider 獲取管理器模組清單時,會自動切換至 loadModulesFromCache 模式,從本地的 SharedPreferences 讀取先前儲存的模組資訊。
支援路徑加載:快取機制支援直接透過檔案路徑(APK Path)加載模組,即使該 App 已被卸載或路徑變更,只要檔案存在即可嘗試加載。
2026-02-11 23:26:41 +08:00
NkBe
7e5e2d6bfd
feat: 新增外部 APK 覆蓋支援
...
將原始 APK 的處理邏輯 (計算 CRC、解壓、路徑分配) 抽離至獨立類別。
系統啟動時會優先檢查外部路徑 ` /sdcard/Android/data/[包名]/cache/npatch/origin/origin.apk `
若偵測到外部檔案,將自動使用該檔案覆蓋內部快取,方便用戶在不重新打包的情況下更換 原始 APK 。
自動將快取後的 APK 設為「唯讀」狀態,並強化了資源缺失時的報錯機制。
Co-Authored-By: hw1020 <43195286+hw1020@users.noreply.github.com>
2026-02-11 23:08:08 +08:00
NkBe
7844b99b3a
Fix: Choose service according to embedded module
...
Improve startup resilience by selecting the application service according to availability: catch Throwable from manager lookup and clear service on failure, then if service is null check hasEmbeddedModules(context) to prefer IntegrApplicationService when embedded modules exist, otherwise use NeoLocalApplicationService. Also refine logging levels/messages (info on success, warn on failure) to provide clearer diagnostics.
2026-02-11 21:36:13 +08:00
NkBe
74bbeb9bda
patch-loader: 優化配置和資源處理
...
Add a shared Gson instance and harden config/module/asset loading to avoid NPEs and crashes. Guard legacy module iteration, use apply() for SharedPreferences, throw when config asset is missing, reuse GSON for parsing, and null-check resource streams before copying. Also set provider dex file writable only if created and remove some unused imports. These changes improve resilience when manager/asset data is unavailable and clean up file handling.
2026-02-10 17:46:38 +08:00
NkBe
59dc353e0e
修正本地模式模式並解決 x86_64 的 bypass_svc 構建問題
...
manager / patch-loader:
- 將 ConfigProvider 添加至管理器以調用已啟用模組列表,繞過安卓沙盒限制。
- 將 NeoLocalApplicationService 改寫為查詢 ConfigProvider,而非 SharedPreferences。
- 動態解析 APK 路徑透過 PackageManager 並改善錯誤記錄。
bypass_svc:
- 修復 x86_64 編譯錯誤。
- 為 x86_64 提供 stub 實現。
- 將 g_is_hook_active 移至全域範圍以避免未定義符號。
- 保護 ARM64 特定的 syscall/seccomp 邏輯。
2026-02-10 16:39:53 +08:00
NkBe
271eb7bd82
feat(sigbypass): SVC Bypass (ARM64) and OpenAt I/O Redirection
...
導入 ARM64 專用的 SVC/Seccomp 內核級簽名繞過 (Level 3),並全面強化檔案 I/O 重定向機制。
移除非 ARM64 架構的支持
2025-12-22 21:57:33 +08:00
NkBe
5a90ed436e
fix: 正確設定共享偏好設定鍵並提升加載穩定性
...
- 修正了 SharedPreferences 鍵配置錯誤,確保模組緩存能正確加載。
- 優化 檔案注入器: 減少 ZipFile 重複 I/O,提升啟動效率。
- 優化 profile 禁用: 採用冪等性檢查和 Truncate 替代 Delete/Create 流程,增強對系統監控的穩定性,避免用戶配置意外清除。
- 代碼精簡: 改進了變數命名和程式碼結構。
fix: 正確設定共享偏好設定鍵並提升加載穩定性
- 修正了 SharedPreferences 鍵配置錯誤,確保模組緩存能正確加載。
- 優化 檔案注入器: 減少 ZipFile 重複 I/O,提升啟動效率。
- 優化 profile 禁用: 採用冪等性檢查和 Truncate 替代 Delete/Create 流程,增強對系統監控的穩定性,避免用戶配置意外清除。
- 改進 manager 構建檔案確保所有庫檔案不被壓縮。
- 代碼精簡: 改進了變數命名和程式碼結構。
2025-12-07 22:52:51 +08:00
NkBe
5aa809dc5a
Refactor:Replace all instances of `lspatch` with `npatch`
...
嘗試规避關鍵詞檢測
2025-12-02 23:42:23 +08:00
NkBe
f03ad9a386
fix: improve asset handling and error checks
2025-11-21 19:33:34 +08:00
NkBe
b076eed005
fix: 优化 manager 连接与禁用 profile 文件
...
修正 manager 连接失败时的回退逻辑,避免 service 为 null,统一本地服务处理。新增 disableProfile 方法,自动清理和禁用 profile 文件,防止 profile 干扰运行。
2025-11-20 20:58:37 +08:00
NkBe
83817fba3c
feat: restore IntegrApplicationService and refactor RemoteService
...
LSPApplication 現在會根據情況選擇使用 IntegrApplicationService 或 NeoLocalApplicationService(是否 useManager 和安裝包内是否有集成模組安裝包)。
重構 RemoteApplicationService,簡化連接流程,移除死亡監聽(NeoLocal用不到了)。
2025-11-19 21:03:41 +08:00
NkBe
5642d2e62f
Improve compatibility with boot.oat in recent A15
...
See JingMatrix/LSPosed#414 for details
Also update few dependencies.
Co-Authored-By: JingMatrix <jingmatrix@gmail.com>
2025-11-19 21:03:41 +08:00
NkBe
0883ea5577
refactor: improve module loading and remote service
...
優化本地模組加載流程,修復模組路徑丟失時自動恢復,並加強日誌提示。重構 RemoteApplicationService,實現 Binder 死亡監聽與資源釋放,提升遠端服務連接穩定性與錯誤處理能力。
2025-10-29 23:16:38 +08:00
NkBe
c30f588b50
fix: extend service bind timeout and improve getPrefsPath
2025-10-29 23:16:38 +08:00
NkBe
307660038e
refactor: rename lspatch meta key to npatch
2025-10-29 21:38:58 +08:00
NkBe
d843faa515
fix: Forgot to add the inject DP option and Remove redundant intent-filter
...
.
2025-10-29 21:38:58 +08:00
NkBe
a2b9e529ca
feat: support inject MT Manager DocumentsProvider
...
Co-Authored-By: Hicores <me@hicore.cc>
2025-10-29 21:38:57 +08:00
NkBe
5d21b9c599
feat: Optimized kill signature verification feature
...
Added a public method, `replaceApplication`. This method uses Xposed to intercept `android.app.ApplicationPackageManager`'s `getApplicationInfo` and `getApplicationInfoAsUser`. It allows for dynamic changes to the application's `sourceDir` and `publicSourceDir` to redirect the location where the system loads APKs.
2025-10-08 15:47:17 +08:00
NkBe(HSSkyBoy)
d644c22ade
feat: support patching with new package name
...
feat: log APK patch paths in submitPatch
fix: improve temp APK file handling
feat: add newPackageName option
refactor: optimize patch install dialogs
feat: support rename packagename
Co-Authored-By: javaeryang <27242250+javaeryang@users.noreply.github.com>
2025-10-08 15:47:16 +08:00
NkBe(HSSkyBoy)
d1993bb739
feat: Introduced <unistd.h> and optimized logs and error messages
2025-10-06 23:27:30 +08:00
NkBe(HSSkyBoy)
7613e7de10
feat: add output log to media
...
底層實現了日誌檔案寫入。為管理器新增了 outputLog 選項,可以將日誌輸出到 Android/media 目錄。
2025-10-06 23:27:30 +08:00
NkBe
dbacad9876
fix: improve service fallback and module loading
2025-10-01 17:56:01 +08:00
NkBe
9804125d1f
feat: Streamline application mode descriptions
2025-09-30 23:24:03 +08:00
NkBe
ed202bbb10
refactor: use PatchConfig and optimize module loading
...
[feat: Local mode runs without background manager](https://github.com/7723mod/NPatch/pulls/2 )
2025-09-30 23:24:02 +08:00
NkBe
5bbef84a43
feat: Add null checks for JNI method arguments
...
Adds a null pointer check for the origApkPath and cacheApkPath arguments in the enableOpenatHook native method.
Previously, passing nullptr to this method would lead to a potential crash. The added checks ensure the function handles invalid input gracefully by logging an error and returning early, thus preventing a potential crash.
2025-09-30 23:24:02 +08:00
NkBe
c2fdd4941d
refactor: improve hook and dex loading logic
...
重構了 patch_loader.cpp 並修改了bypass_sig.cpp,優化了 openat hook 的實現方式,簡化了 HookOpenat 和 enableOpenatHook 的流程。PatchLoader 的 LoadDex、InitArtHooker、InitHooks、SetupEntryClass、Load 方法也進行了結構優化,提升了代碼可讀性和健壯性,減少了重複代碼,並加強了錯誤處理。
參考自 802d3fbe28 爲什麽這樣改我也有點忘了,commit用Copilot寫的
2025-09-07 22:17:31 +08:00
NkBe
4e63d61cd3
fix: can't connect to manager
...
順便優化了一下排版
2025-09-07 22:16:41 +08:00
NkBe
c0aecf9e33
change name and url
...
Co-Authored-By: Kaelyn Wisoky <206877283+lshwjgpt25@users.noreply.github.com>
2025-09-05 23:48:04 +08:00
NkBe
624a786bad
fix: liblspatch.so not found by modifying include path
...
让不同的构建有独立的输出目录,防止文件冲突
2025-08-18 13:40:32 +08:00
NkBe
493d367bfc
fix: 缺失的大括号
2025-08-17 22:40:26 +08:00
NkBe
336ad9ecf8
Fix: 兼容特殊加固
...
問題出自
7b98d98389
只是嘗試性修復
2025-08-17 22:20:04 +08:00
JingMatrix
5180d7315d
Update dependencies
...
Update compose-destinations is non-trivial.
To use version 2.0+ in the future, we need to follow its migration guide:
https://composedestinations.rafaelcosta.xyz/migrating-to-v2/
2025-08-03 09:42:16 +02:00
JingMatrix
95ed02d4bb
Update JingMatrix/LSPosed
...
Users of Android 16 beta 3 has reported LSPlant failure, for which we should thus update LSPosed.
See issue https://github.com/JingMatrix/LSPlant/issues/2 .
Files are reformatted.
2025-03-15 09:22:18 +01:00
JingMatrix
bab8bd2d4c
Update JingMatrix/LSPosed
2024-12-01 09:48:30 +01:00
JingMatrix
332d99784e
Fix log formatting of __openat hook
2024-09-16 19:22:30 +02:00
JingMatrix
557d56091d
Update JingMatrix/LSPosed
...
To avoid a crash in the fisrt launch (#7 ), we cannot use PLT
.inline_hooker to DisableBackgroundVerification.
Remove ccache to avoid difference between CI builds and local builds.
2024-09-16 19:22:26 +02:00
JingMatrix
cddf811b9c
Update dependencies
...
1. Use JDK 21
2. Update ksp for compatibility (compulsory)
3. R8 claims that org.lsposed.lspatch.util.ModuleLoader is needed
We use rules in share/lspatch-rules.pro to ensure that LSPatch works
properly after R8 engine
2024-05-18 22:57:32 +02:00
JingMatrix
3dacebc6bf
Remove symbol cache
...
See commit 42190f1fb8
2023-12-28 14:00:22 +01:00
JingMatrix
c3ee8bec23
Check ProfileFile existence first
...
Avoid java.nio.file.NoSuchFileException when readAttributes.
2023-12-28 13:29:27 +01:00
JingMatrix
87a765d65c
Remove dependency on Gson
...
Patch-loader might use Gson provided by the apk classLoader
2023-12-28 13:29:27 +01:00
Js0n
3674a967ef
Remove keep alive foreground service because bound service won't need it ( #262 )
...
Co-authored-by: LoveSy <shana@zju.edu.cn>
2023-11-23 20:32:24 +08:00
LoveSy
7d69dbcb66
Fix crash and sync
2023-06-29 10:08:50 +08:00
Howard Wu
941726d559
Core upgrade ( #213 )
...
Co-authored-by: LoveSy <shana@zju.edu.cn>
2023-06-29 02:17:00 +08:00
JingMatrix
5d927f1dd2
Fix file permissions for Android 14 ( #201 )
...
Dex file should not be writable, otherwise it causes
java.lang.SecurityException.
Here is the related [soucre
code](https://cs.android.com/android/platform/superproject/+/master:art/runtime/native/dalvik_system_DexFile.cc;l=381 )
of Android 14.
---------
Co-authored-by: LoveSy <shana@zju.edu.cn>
2023-06-08 00:11:47 +08:00
Howard Wu
0964a8eece
Update core to 1.8.6 ( #168 )
...
With
- update AGP to 7.4.0
- update Android Build Tools to 33.0.1
2023-01-28 11:54:06 +08:00
Nullptr
2ace2660b4
Fix modules missing after update loader for integrated mode
2022-11-13 22:43:39 +08:00
Nullptr
c191397dc0
Add foreground keep alive option
2022-11-09 13:09:50 +08:00
Nullptr
54cf7eed35
Use service instead of content provider to send binder
2022-11-08 02:54:31 +08:00
Nullptr
9c951bdbb6
Better signature bypass
2022-11-05 22:58:45 +08:00
Nullptr
5876d4a0a0
Update dependencies & Fix UI previewing
2022-11-05 12:00:25 +08:00