mirror of
https://github.com/QM4RS/FridaBox.git
synced 2026-09-27 19:42:20 +02:00
107 lines
3.4 KiB
Markdown
107 lines
3.4 KiB
Markdown
# 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 |
|