Files
FridaBox/RELEASE_NOTES.md
T

3.4 KiB

Release Notes - NewBlackbox

Version: Latest Build (2026-01-31)


New Features

VPN Network Mode Toggle

Added a new setting to choose between VPN and normal network mode for sandboxed apps.

  • Location: Settings → Others → Use VPN Network
  • Default: OFF (normal network mode)
  • When enabled, traffic is routed through BlackBox's VPN service
  • Requires app restart to take effect

Files Changed:

  • app/src/main/java/top/niunaijun/blackboxa/view/main/BlackBoxLoader.kt
  • app/src/main/java/top/niunaijun/blackboxa/view/setting/SettingFragment.kt
  • app/src/main/res/xml/setting.xml
  • app/src/main/res/values/strings.xml
  • Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/ClientConfiguration.java
  • Bcore/src/main/java/top/niunaijun/blackbox/BlackBoxCore.java

Device Information Logging

Added comprehensive device info header in logcat for easier debugging:

  • Android version, SDK level, security patch
  • Device manufacturer, brand, model, hardware
  • Supported CPU/ABIs (32-bit and 64-bit)
  • Memory info (heap usage)
  • App version and package info
  • Build fingerprint and timestamps

Bug Fixes

VPN Permission Fix

Problem: VPN service failed to establish interface (builder.establish() returned null).

Root Cause: Android requires VpnService.prepare() to be called from an Activity before VPN can be established.

Solution: Added VPN permission request to MainActivity.kt on app launch.

Files Changed:

  • app/src/main/java/top/niunaijun/blackboxa/view/main/MainActivity.kt

Android 10 Black Screen Fix

Problem: Apps would show a black screen and timeout on Android 10 (API 29).

Root Cause:

  • BRAttributionSource.getRealClass() returns null on Android < 31
  • SystemProviderStub.invoke() crashed calling .getName() on null class
  • ClassInvocationStub.injectHook() crashed when getWho() returned null

Solution:

  • Added null checks in SystemProviderStub.java for API version checks
  • Added null check in ClassInvocationStub.java to skip hooks when services don't exist

Files Changed:

  • Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java
  • Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ClassInvocationStub.java

Removed Features

Xposed Framework Support

  • Removed BXposedManagerService and related AIDL interfaces
  • Removed "Install Xposed Module" UI and Settings entries
  • Cleaned up Xposed-related flags and package checks

Stability Improvements

Anti-Detection Native Hook Stability

  • Removed LOGD calls from critical native hooks to prevent infinite recursion
  • Fixed syntax errors in hook implementations
  • Hooks now silently return ENOENT for blocked paths

Known Issues

Oppo/ColorOS Thermal Stats Error

On Oppo/ColorOS devices, you may see errors like:

OppoThermalStats: PackageManager$NameNotFoundException: top.niunaijun.blackboxa:p0

This is harmless - it's an Oppo system bug where their thermal management incorrectly uses process names (with :p0 suffix) instead of package names. The app works normally.


Compatibility

Android Version Status
Android 10 (Q) ✅ Fixed
Android 11 (R) ✅ Supported
Android 12 (S) ✅ Supported
Android 13 (T) ✅ Supported
Android 14 (U) ✅ Supported
Android 15+ ✅ Supported