Skip to content

v0.7.4

Latest

Choose a tag to compare

@hsskyboy hsskyboy released this 10 Feb 10:40
be286c5

中文

統一介面風格並優化佈局
導入 ARM64 專用的 SVC/Seccomp 內核級簽名繞過 (Level 3),並全面強化檔案 I/O 重定向機制。
移除非 64位 架構的支持
优化 Manifest 权限与 authority 映射

修復 arsc 的正確壓縮和對齊
在 ZFileOptions 中為 .arsc 檔案添加 4 字節對齊規則,並在新增條目時將 resources.arsc 處理為原生程式庫。確保 resources.arsc 的正確對齊。

修復本地模式沙盒限制
引入 ConfigProvider 機制: 用 ConfigProvider,繞過 Android 應用沙盒的數據隔離限制,確保被修補應用能即時獲取配置。

  • 重構加載邏輯: 將 NeoLocalApplicationService 的讀取方式從 SharedPreferences 改為動態查詢 ConfigProvider
  • 動態 APK 路徑解析: 透過 PackageManager 實作模組 APK 路徑的動態解析,取代原有的靜態路徑,並強化錯誤日誌以利偵錯。

更新內核與依賴項

  • 同步 LSPosed 內核至 v1.11.0: 解決 Android 10 以及 OnePlus 裝置上的特定兼容問題。
  • 重構 Dex2Oat 邏輯: 消除 Missing Symbols 錯誤,並顯著提升裝置運行穩定性與處理速度。

解決 x86_64 架構構建與 SVC 問題

  • 修正編譯錯誤: 解決 bypass_svc 在 x86_64 環境下的編譯失敗問題,確保開發環境與模擬器的構建順暢。
  • 架構隔離與 Stub 實現: 為非 ARM64 架構提供 Stub 空實現,防止連結階段出現未定義符號錯誤。
  • 符號範圍優化: 將狀態變數 g_is_hook_active 移至全域作用域,解決跨架構編譯時的符號可見性問題。
  • 強化架構守衛: 針對 ARM64 特有的 Syscall 邏輯加入精確的架構守衛標籤。

優化效能與啟動速

  • Gson 改為靜態單例,減少記憶體開銷。
  • 配置保存改用異步 apply(),避免 I/O 阻塞主線程。
  • 完善資源管理: 修復了 Provider Dex 注入流程中的文件檢查邏輯,並加強異常日誌輸出。
  • 強化 NPE 防護: 針對模組列表、資源流讀取增加多處空指標檢查,杜絕啟動崩潰風險。

English

Unified ui style and layout optimization
Introduce ARM64-specific SVC/Seccomp kernel-level signature bypass (Level 3), and comprehensively enhance file I/O redirection mechanism.
Remove support for non-64-bit architecture
Optimize Manifest permissions and authority mapping

Fixing arsc's correct compression and alignment

Add a 4-byte alignment rule for .arsc files in ZFileOptions, and treat resources.arsc as a native library when adding entries. Ensure the correct alignment of resources.arsc.

Update core and dependencies

  • Sync LSPosed kernel to v1.11.0: Resolve specific compatibility issues on Android 10 and OnePlus devices.
  • Refactor Dex2Oat logic: Eliminate Missing Symbols errors, and significantly improve device stability and processing speed.

Fix Local Mode Sandbox Restrictions
Introduce ConfigProvider mechanism: Use ConfigProvider to bypass Android app sandbox data isolation restrictions, ensuring the patched app can instantly access configurations.

  • Refactor loading logic: Change the loading method of NeoLocalApplicationService from SharedPreferences to dynamically query ConfigProvider.
  • Dynamic APK path resolution: Implement dynamic resolution of module APK paths via PackageManager, replacing the original static paths, and enhance error logging for debugging.

Solving x86_64 Architecture Build and SVC Issues

  • Fix compilation errors: Resolve the compilation failure issue of bypass_svc in x86_64 environment, ensuring smooth build of development environment and simulator.
  • Architecture isolation and Stub implementation: Provide Stub empty implementations for non ARM64 architectures, preventing undefined symbol errors during linking stage.
  • Symbol scope optimization: Move the state variable g_is_hook_active to global scope, addressing symbol visibility issues during cross-architecture compilation.
  • Strengthen architecture guard: Add precise architecture guard labels for ARM64-specific instruction set logic (Syscall).

Optimize performance and startup speed

  • Gson changed to static singleton to reduce memory overhead.
  • Configuration saving switched to asynchronous apply(), avoiding I/O blocking the main thread.
  • Improved resource management: Fixed the document check logic in the Provider Dex injection process and enhanced exception log output.
  • Strengthened NPE protection: Added multiple null pointer checks for module lists and resource stream reading to eliminate startup crash risks.