NkBe
e640da4f57
feat: 引入輕量級 MicroG 支援與 GMS 請求重導向機制
...
為 NPatch 引入了原生的 MicroG 整合支援,允許修補後的 Google 應用程式(例如 YouTube)在依賴 Google Play 服務的環境下,透過社群版 MicroG(如 ReVanced GmsCore)正常運作。
詳細改動範圍包含:
* ** UI Manager **
- 於 `NewPatchScreen` 的修補選項清單中,新增「啟用 MicroG 支援」核取方塊與相容性說明。
- 更新 `NewPatchViewModel`,透過 `Patcher.kt` 將使用者的 `useMicroG` 選擇狀態以 `--useMicroG` 指令列參數的形式,傳遞給底層修補引擎。
* ** Patcher **
- 於 `NPatch.java` 中新增對 `--useMicroG` 參數的解析邏輯。
- 擴充 `modifyManifestFile` 邏輯:當啟用 MicroG 支援時,自動讀取目標應用的原始簽名並轉碼為 Hex 格式。
- 於 `AndroidManifest.xml` 中動態注入 `fake-signature` 的 `<meta-data>` 節點與 `android.permission.FAKE_PACKAGE_SIGNATURE` 權限,以滿足 MicroG 進行簽名欺騙(Signature Spoofing)時的驗證需求。
* ** Patch Loader **
- 實作 `GmsRedirector.java` 類別,負責在應用程式執行期間動態攔截並重導向 IPC 通訊:
1. 掛鉤 `Intent.setPackage`、`Intent.setComponent` 與建構子,將所有指向 `com.google.android.gms` 與 GSF 的意圖,強制導向至設備上已安裝的社群版 MicroG 套件(優先支援 `app.revanced.android.gms` 與 `org.microg.gms`)。
2. 掛鉤 `ContentResolver`,替換帶有 GMS Authority 的 URI。針對真實 GMS 拋出的 `SecurityException`(憑證拒絕存取)實作了智慧攔截與重試機制。
3. 掛鉤 `PackageManager.getPackageInfo` 實現動態簽名偽裝,使修補後的應用程式將 MicroG 視為官方正版 GMS。
- 於 `LSPApplication.java` 的 `onLoad` 階段,依據 `PatchConfig` 設定檔動態喚醒並初始化 `GmsRedirector`。
* ** Share **
- 更新 `PatchConfig.java` 以儲存與傳遞 `useMicroG` 布林值狀態。
- 於 `Constants.java` 中定義 `REAL_GMS_PACKAGE_NAME` 常數,供各模組統一呼叫。
Co-Authored-By: MrZhongzq <108169409+MrZhongzq@users.noreply.github.com>
2026-03-08 21:53:41 +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
f4eacbf2d3
Update core and dependencies
...
Update to LSPosed v1.11.0
解決了 Android 10 和 OnePlus 裝置上的特定問題,重構 Dex2Oat 以消除缺失符號錯誤並提升可靠性....
https://github.com/JingMatrix/LSPosed/releases/tag/v1.11.0
2026-02-10 14:32:24 +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
611d77f263
rename provider2mtprovider
2025-12-03 22:32:53 +08:00
NkBe
5aa809dc5a
Refactor:Replace all instances of `lspatch` with `npatch`
...
嘗試规避關鍵詞檢測
2025-12-02 23:42:23 +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(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)
07b100ea2f
refactor: rename lspatched to npatched
2025-10-08 15:47:15 +08:00
NkBe(HSSkyBoy)
7613e7de10
feat: add output log to media
...
底層實現了日誌檔案寫入。為管理器新增了 outputLog 選項,可以將日誌輸出到 Android/media 目錄。
2025-10-06 23:27:30 +08:00
NkBe
326afc95ab
feat: add FileProvider and refactor install logic
...
新增 FileProvider 到 AndroidManifest,使其能检测到修补后的 apk;简化 NewPatchScreen 的安装按钮逻辑;修正 AppManagePage 的闭包结构。
2025-09-07 14:38:14 +08:00
NkBe
515f527cb2
微调
2025-08-18 15:44:20 +08:00
NkBe
9563fcc4d9
feat: check manager
2025-08-17 22:59:34 +08:00
NkBe
493d367bfc
fix: 缺失的大括号
2025-08-17 22:40:26 +08:00
Nullptr
2ace2660b4
Fix modules missing after update loader for integrated mode
2022-11-13 22:43:39 +08:00
Nullptr
7391df7fd3
Update MIN_ROLLING_VERSION_CODE
2022-10-24 01:12:27 +08:00
Nullptr
f8888b81e8
Support bootstrapping loader dynamically for local mode ( #118 )
2022-10-21 15:24:16 +08:00
Nullptr
2e2c818de6
Drop v1 signature & UI improvement
2022-09-06 21:20:06 +08:00
Nullptr
279e95b57b
Support upgrade loader version
2022-07-05 21:54:13 +08:00
Nullptr
0ef34fa633
Add .apk suffix
2022-07-05 19:10:29 +08:00
Nullptr
a9b27b1427
Update core to 1.8.3
2022-05-11 01:00:00 +08:00
Nullptr
3bc39e1e94
Fix some patch problems
2022-05-11 00:13:54 +08:00
Nullptr
6924c6a3b5
CI ( #57 )
...
* CI
* Add patch info to metadata
* Allow select local apks to patch
* Fix wrong indent
2022-05-10 11:39:04 +08:00
Nullptr
7905b343dc
ServiceClient
2022-03-23 22:36:19 +08:00