mirror of
https://github.com/QM4RS/FridaBox.git
synced 2026-10-19 06:12:18 +02:00
174 lines
6.1 KiB
Markdown
174 lines
6.1 KiB
Markdown
# Release Notes - NewBlackbox
|
|
|
|
## Version: Latest Build (2026-01-30)
|
|
|
|
### Major Fixes
|
|
|
|
#### 1. Fixed Instagram and App Crashes on Android 14+
|
|
|
|
**Problem:** Apps like Instagram were crashing with `SecurityException` due to package/UID verification failures in `SensitiveContentProtectionManagerService`.
|
|
|
|
**Solution:**
|
|
- Created `ISensitiveContentProtectionManagerProxy` to hook the Android 14+ sensitive content protection service
|
|
- Intercepts `setSensitiveContentProtection()` calls and replaces guest package names with host package name
|
|
- Properly implements `getWho()` using reflection to obtain the original service interface
|
|
- Includes safety checks to only hook when service exists (Android 14+)
|
|
|
|
**Files Modified:**
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ISensitiveContentProtectionManagerProxy.java` (NEW)
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/HookManager.java`
|
|
|
|
**Impact:** Instagram and other apps now work correctly on Android 14+ devices
|
|
|
|
---
|
|
|
|
#### 2. Fixed ContentProvider Call Method Crashes
|
|
|
|
**Problem:** Apps were crashing when ContentProviders' `call()` method had `AttributionSource` objects nested deep within `Bundle` arguments.
|
|
|
|
**Solution:**
|
|
- Created `AttributionSourceUtils` utility class with recursive Bundle traversal
|
|
- Handles deeply nested `AttributionSource` objects in Bundles and Parcelables
|
|
- Correctly fixes UID to use `getHostUid()` instead of `getBUid()`
|
|
|
|
**Files Modified:**
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/utils/AttributionSourceUtils.java` (NEW)
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java`
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java`
|
|
|
|
**Impact:** Apps using ContentProvider for deep links, inter-app communication, and settings no longer crash
|
|
|
|
---
|
|
|
|
#### 3. Fixed SettingsProvider "Invalid Method" Errors
|
|
|
|
**Problem:** System SettingsProvider was receiving the package name instead of the actual method name (e.g., "GET_global"), causing "Invalid method" errors and crashes.
|
|
|
|
**Solution:**
|
|
- Updated `SystemProviderStub` and `ContentProviderStub` to NOT replace String arguments for `call()` methods
|
|
- String arguments in `call()` are method names like "GET_global", "PUT_system", etc., not package names
|
|
- Only replaces package names for query/insert/update/delete operations where appropriate
|
|
|
|
**Files Modified:**
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java`
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java`
|
|
|
|
**Impact:** Settings-related operations and system preferences now work correctly
|
|
|
|
---
|
|
|
|
#### 4. Improved ContentProvider Error Handling
|
|
|
|
**Problem:** ContentProvider `call()` methods were returning `null` on errors, causing `NullPointerException` crashes in apps expecting valid Bundle responses.
|
|
|
|
**Solution:**
|
|
- Updated `getSafeDefaultValue()` in `ContentProviderStub` to return empty `Bundle()` instead of `null` for `call()` method
|
|
- Prevents NPE crashes in apps that don't null-check ContentProvider responses
|
|
|
|
**Files Modified:**
|
|
- `Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java`
|
|
|
|
**Impact:** Apps handle ContentProvider errors gracefully without crashes
|
|
|
|
---
|
|
|
|
### Technical Improvements
|
|
|
|
#### AttributionSource Handling
|
|
- Implemented comprehensive recursive traversal of Bundle and Parcelable structures
|
|
- Handles nested AttributionSource objects at any depth
|
|
- Properly clones Bundles and Parcelables to avoid modifying shared state
|
|
- Includes safety checks for null values and class loading errors
|
|
|
|
#### Hook Architecture
|
|
- Improved `BinderInvocationStub` usage patterns
|
|
- Added proper `getWho()` implementations using reflection
|
|
- Enhanced `isBadEnv()` checks to detect and recover from hook failures
|
|
- Added service existence checks before attempting to hook Android version-specific services
|
|
|
|
---
|
|
|
|
### Known Limitations
|
|
|
|
#### Browser Compatibility
|
|
**GeckoView/Chromium-based browsers (e.g., Nira Browser):**
|
|
- These browsers use native rendering engines (libxul.so for Gecko, Chromium for Chrome-based)
|
|
- Native crashes occur during engine initialization due to:
|
|
- Multi-process architecture conflicts
|
|
- Seccomp syscall filtering incompatibilities
|
|
- Low-level shared memory/IPC issues
|
|
|
|
**Recommendation:** Use WebView-based browsers instead:
|
|
- Via Browser
|
|
- Privacy Browser
|
|
- JQuarks Browser
|
|
- Simple Browser
|
|
|
|
These use Android's built-in WebView and work correctly in virtualized environments.
|
|
|
|
---
|
|
|
|
### Testing
|
|
|
|
**Tested Apps:**
|
|
- Instagram - Now works on Android 14+
|
|
- Apps using SettingsProvider
|
|
- Apps using ContentProvider for IPC
|
|
- GeckoView/Chromium-based browsers (native engine limitation)
|
|
|
|
**Test Environment:**
|
|
- Android 14 (API 34)
|
|
- Device: Various devices with Android 12+
|
|
|
|
---
|
|
|
|
### Future Improvements
|
|
|
|
1. **Native Engine Support:** Investigate native layer modifications to support browser engines
|
|
2. **Additional Android 14 APIs:** Monitor for new system services requiring hooks
|
|
3. **Performance:** Optimize recursive Bundle traversal for large data structures
|
|
4. **Logging:** Add debug mode to trace ContentProvider and service hook operations
|
|
|
|
---
|
|
|
|
### Contributors
|
|
|
|
- Fixed by: AI Assistant (Antigravity)
|
|
- Tested by: alex5402
|
|
- Date: 2026-01-30
|
|
|
|
---
|
|
|
|
### Upgrade Instructions
|
|
|
|
1. Clean build:
|
|
```bash
|
|
./gradlew clean assembleDebug
|
|
```
|
|
|
|
2. Install the updated APK on your device
|
|
|
|
3. Test with previously crashing apps (e.g., Instagram on Android 14+)
|
|
|
|
---
|
|
|
|
### Bug Reports
|
|
|
|
If you encounter issues:
|
|
1. Capture full logcat: `adb logcat > crash.log`
|
|
2. Note the Android version and device model
|
|
3. Identify which app is crashing
|
|
4. Check for `SecurityException`, `NullPointerException`, or other errors
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
This release primarily focuses on **Android 14 compatibility** and **ContentProvider crash fixes**. Apps that previously crashed due to package/UID verification, AttributionSource handling, or SettingsProvider issues should now work correctly.
|
|
|
|
**Breaking Changes:** None
|
|
|
|
**Minimum Android Version:** Unchanged (Android 5.0+)
|
|
|
|
**Recommended Android Version:** Android 12+ for best compatibility
|