diff --git a/Bcore/src/main/AndroidManifest.xml b/Bcore/src/main/AndroidManifest.xml
index c6a769f..950fbba 100644
--- a/Bcore/src/main/AndroidManifest.xml
+++ b/Bcore/src/main/AndroidManifest.xml
@@ -485,7 +485,8 @@
-
+
relocate_rule;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
char *replace(const char *str, const char *src, const char *dst) {
const char *pos = str;
diff --git a/Bcore/src/main/cpp/Utils/AntiDetection.cpp b/Bcore/src/main/cpp/Utils/AntiDetection.cpp
index 0cdee21..6a5ef92 100644
--- a/Bcore/src/main/cpp/Utils/AntiDetection.cpp
+++ b/Bcore/src/main/cpp/Utils/AntiDetection.cpp
@@ -17,7 +17,7 @@
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
struct SpoofedProp {
const char* key;
@@ -36,7 +36,7 @@ static int (*orig_system_property_get)(const char *name, char *value) = nullptr;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
static const char* blocked_files[] = {
// Root detection files
diff --git a/Bcore/src/main/cpp/Utils/VirtualSpoof.cpp b/Bcore/src/main/cpp/Utils/VirtualSpoof.cpp
index ed4acd6..3ca8867 100644
--- a/Bcore/src/main/cpp/Utils/VirtualSpoof.cpp
+++ b/Bcore/src/main/cpp/Utils/VirtualSpoof.cpp
@@ -11,7 +11,7 @@
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
#define LOG_TAG "VirtualSpoof"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
diff --git a/Bcore/src/main/cpp/hidden_api.cpp b/Bcore/src/main/cpp/hidden_api.cpp
index f71582f..945d965 100644
--- a/Bcore/src/main/cpp/hidden_api.cpp
+++ b/Bcore/src/main/cpp/hidden_api.cpp
@@ -11,7 +11,7 @@
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
bool disable_hidden_api(JNIEnv *env) {
char version_str[PROP_VALUE_MAX];
diff --git a/Bcore/src/main/java/android/app/ActivityThread.java b/Bcore/src/main/java/android/app/ActivityThread.java
index cd39512..f8ef4b5 100644
--- a/Bcore/src/main/java/android/app/ActivityThread.java
+++ b/Bcore/src/main/java/android/app/ActivityThread.java
@@ -18,7 +18,7 @@ import java.util.Objects;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ActivityThread {
public H mH = null;
diff --git a/Bcore/src/main/java/android/app/ContentProviderHolder.java b/Bcore/src/main/java/android/app/ContentProviderHolder.java
index 3252d69..75d8171 100644
--- a/Bcore/src/main/java/android/app/ContentProviderHolder.java
+++ b/Bcore/src/main/java/android/app/ContentProviderHolder.java
@@ -10,7 +10,7 @@ import android.os.IBinder;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ContentProviderHolder {
public final ProviderInfo info = null;
diff --git a/Bcore/src/main/java/android/content/IContentProvider.java b/Bcore/src/main/java/android/content/IContentProvider.java
index 743bdf4..1687d8b 100644
--- a/Bcore/src/main/java/android/content/IContentProvider.java
+++ b/Bcore/src/main/java/android/content/IContentProvider.java
@@ -8,7 +8,7 @@ import android.os.IInterface;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface IContentProvider extends IInterface {
}
diff --git a/Bcore/src/main/java/android/content/pm/ManifestDigest.java b/Bcore/src/main/java/android/content/pm/ManifestDigest.java
index a78bb38..92c6a4b 100644
--- a/Bcore/src/main/java/android/content/pm/ManifestDigest.java
+++ b/Bcore/src/main/java/android/content/pm/ManifestDigest.java
@@ -11,7 +11,7 @@ import java.util.jar.Attributes;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ManifestDigest implements Parcelable {
diff --git a/Bcore/src/main/java/android/content/pm/PackageUserState.java b/Bcore/src/main/java/android/content/pm/PackageUserState.java
index 1710a0c..31938ef 100644
--- a/Bcore/src/main/java/android/content/pm/PackageUserState.java
+++ b/Bcore/src/main/java/android/content/pm/PackageUserState.java
@@ -8,7 +8,7 @@ import android.util.ArraySet;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class PackageUserState {
diff --git a/Bcore/src/main/java/android/content/pm/VerifierInfo.java b/Bcore/src/main/java/android/content/pm/VerifierInfo.java
index 03d0487..8df305b 100644
--- a/Bcore/src/main/java/android/content/pm/VerifierInfo.java
+++ b/Bcore/src/main/java/android/content/pm/VerifierInfo.java
@@ -11,7 +11,7 @@ import java.security.PublicKey;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class VerifierInfo implements Parcelable {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/BlackBoxCore.java b/Bcore/src/main/java/top/niunaijun/blackbox/BlackBoxCore.java
index 09aba04..7b1e977 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/BlackBoxCore.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/BlackBoxCore.java
@@ -77,7 +77,7 @@ import top.niunaijun.blackbox.utils.StoragePermissionHelper;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@SuppressLint({"StaticFieldLeak", "NewApi"})
@SuppressWarnings({"unchecked", "deprecation"})
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/app/BActivityThread.java b/Bcore/src/main/java/top/niunaijun/blackbox/app/BActivityThread.java
index 6122f78..dae7c7b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/app/BActivityThread.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/app/BActivityThread.java
@@ -92,7 +92,7 @@ import top.niunaijun.blackbox.core.system.JarManager;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BActivityThread extends IBActivityThread.Stub {
public static final String TAG = "BActivityThread";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/AppLifecycleCallback.java b/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/AppLifecycleCallback.java
index 56409ed..aa771ad 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/AppLifecycleCallback.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/AppLifecycleCallback.java
@@ -12,7 +12,7 @@ import android.os.Bundle;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AppLifecycleCallback implements Application.ActivityLifecycleCallbacks {
public static AppLifecycleCallback EMPTY = new AppLifecycleCallback() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/ClientConfiguration.java b/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/ClientConfiguration.java
index ccfe85c..c4aa3e6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/ClientConfiguration.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/app/configuration/ClientConfiguration.java
@@ -8,7 +8,7 @@ import java.io.File;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public abstract class ClientConfiguration {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppJobServiceDispatcher.java b/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppJobServiceDispatcher.java
index f7ff92b..fd4ffbc 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppJobServiceDispatcher.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppJobServiceDispatcher.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.entity.JobRecord;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AppJobServiceDispatcher {
private static final AppJobServiceDispatcher sServiceDispatcher = new AppJobServiceDispatcher();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppServiceDispatcher.java b/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppServiceDispatcher.java
index 1ba2fdc..618f09b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppServiceDispatcher.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/app/dispatcher/AppServiceDispatcher.java
@@ -25,7 +25,7 @@ import static android.app.Service.START_NOT_STICKY;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AppServiceDispatcher {
public static final String TAG = "AppServiceDispatcher";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/CrashHandler.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/CrashHandler.java
index a21b76a..94daa6b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/CrashHandler.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/CrashHandler.java
@@ -8,7 +8,7 @@ import top.niunaijun.blackbox.BlackBoxCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class CrashHandler implements Thread.UncaughtExceptionHandler {
private Thread.UncaughtExceptionHandler mDefaultHandler;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/GmsCore.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/GmsCore.java
index d56bb7e..9704a2e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/GmsCore.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/GmsCore.java
@@ -14,7 +14,7 @@ import top.niunaijun.blackbox.entity.pm.InstallResult;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class GmsCore {
private static final String TAG = "GmsCore";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/IOCore.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/IOCore.java
index 05e5d09..29f325e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/IOCore.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/IOCore.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.utils.TrieTree;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@SuppressLint("SdCardPath")
public class IOCore {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/NativeCore.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/NativeCore.java
index d2d710f..bc38c8f 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/NativeCore.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/NativeCore.java
@@ -23,7 +23,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class NativeCore {
public static final String TAG = "NativeCore";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/env/AppSystemEnv.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/env/AppSystemEnv.java
index 9457918..36b1c3a 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/env/AppSystemEnv.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/env/AppSystemEnv.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AppSystemEnv {
private static final List sSystemPackages = new ArrayList<>();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/env/BEnvironment.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/env/BEnvironment.java
index fb768f5..cab3702 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/env/BEnvironment.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/env/BEnvironment.java
@@ -13,7 +13,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BEnvironment {
private static final File sVirtualRoot = new File(BlackBoxCore.getContext().getCacheDir().getParent(), "blackbox");
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BProcessManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BProcessManagerService.java
index c6bb771..17d29a8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BProcessManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BProcessManagerService.java
@@ -39,7 +39,7 @@ import top.niunaijun.blackbox.utils.provider.ProviderCall;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BProcessManagerService implements ISystemService {
public static final String TAG = "BProcessManager";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BlackBoxSystem.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BlackBoxSystem.java
index e5f9b8a..cbcf447 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BlackBoxSystem.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/BlackBoxSystem.java
@@ -35,7 +35,7 @@ import top.niunaijun.blackbox.core.system.JarManager;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BlackBoxSystem {
private static BlackBoxSystem sBlackBoxSystem;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ISystemService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ISystemService.java
index 8a6e8ff..207a867 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ISystemService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ISystemService.java
@@ -6,7 +6,7 @@ package top.niunaijun.blackbox.core.system;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface ISystemService {
void systemReady();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ServiceManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ServiceManager.java
index ea82ca5..46b8d92 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ServiceManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/ServiceManager.java
@@ -22,7 +22,7 @@ import top.niunaijun.blackbox.core.system.user.BUserManagerService;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ServiceManager {
private static ServiceManager sServiceManager = null;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/SystemCallProvider.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/SystemCallProvider.java
index 2ac42d0..eaee62c 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/SystemCallProvider.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/SystemCallProvider.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.utils.compat.BundleCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class SystemCallProvider extends ContentProvider {
public static final String TAG = "SystemCallProvider";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActiveServices.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActiveServices.java
index 932196f..bb23c2b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActiveServices.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActiveServices.java
@@ -34,7 +34,7 @@ import top.niunaijun.blackbox.proxy.record.ProxyServiceRecord;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@SuppressLint("NewApi")
public class ActiveServices {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityRecord.java
index 51392d0..8d32150 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityRecord.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.core.system.ProcessRecord;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ActivityRecord extends Binder {
public TaskRecord task;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityStack.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityStack.java
index 15318e5..b9c19da 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityStack.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/ActivityStack.java
@@ -49,7 +49,7 @@ import static android.content.pm.PackageManager.GET_ACTIVITIES;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@SuppressWarnings({"deprecation", "unchecked"})
public class ActivityStack {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BActivityManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BActivityManagerService.java
index b6cf4f8..20eb00e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BActivityManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BActivityManagerService.java
@@ -36,7 +36,7 @@ import static android.content.pm.PackageManager.GET_META_DATA;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BActivityManagerService extends IBActivityManagerService.Stub implements ISystemService {
public static final String TAG = "BActivityManagerService";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BJobManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BJobManagerService.java
index d989c13..7e25000 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BJobManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/BJobManagerService.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.proxy.ProxyManifest;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BJobManagerService extends IBJobManagerService.Stub implements ISystemService {
private static final BJobManagerService sService = new BJobManagerService();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/TaskRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/TaskRecord.java
index 69d8f8a..fca36e5 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/TaskRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/TaskRecord.java
@@ -11,7 +11,7 @@ import java.util.List;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class TaskRecord {
public int id;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/UserSpace.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/UserSpace.java
index 1a5d6da..284d1a8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/UserSpace.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/am/UserSpace.java
@@ -11,7 +11,7 @@ import java.util.Map;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class UserSpace {
public final ActiveServices mActiveServices = new ActiveServices();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/os/BStorageManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/os/BStorageManagerService.java
index 0066d73..3190f7d 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/os/BStorageManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/os/BStorageManagerService.java
@@ -23,7 +23,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BStorageManagerService extends IBStorageManagerService.Stub implements ISystemService {
private static final BStorageManagerService sService = new BStorageManagerService();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackage.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackage.java
index 27a2284..3841fcd 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackage.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackage.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackage implements Parcelable {
public ArrayList activities = new ArrayList(0);
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageInstallerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageInstallerService.java
index b9fac0d..50d07e3 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageInstallerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageInstallerService.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackageInstallerService extends IBPackageInstallerService.Stub implements ISystemService {
private static final BPackageInstallerService sService = new BPackageInstallerService();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageManagerService.java
index c3bc63a..8756852 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageManagerService.java
@@ -55,7 +55,7 @@ import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackageManagerService extends IBPackageManagerService.Stub implements ISystemService {
public static final String TAG = "BPackageManagerService";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageSettings.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageSettings.java
index ea0726a..0e21ea4 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageSettings.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageSettings.java
@@ -22,7 +22,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackageSettings implements Parcelable {
public BPackage pkg;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageUserState.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageUserState.java
index fa78022..e5f593b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageUserState.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BPackageUserState.java
@@ -9,7 +9,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackageUserState implements Parcelable {
public boolean installed;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BXposedManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BXposedManagerService.java
index 0c40550..35895c6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BXposedManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/BXposedManagerService.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.utils.compat.XposedParserCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BXposedManagerService extends IBXposedManagerService.Stub implements ISystemService, PackageMonitor {
private static final BXposedManagerService sService = new BXposedManagerService();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/ComponentResolver.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/ComponentResolver.java
index 3241a43..84f8385 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/ComponentResolver.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/ComponentResolver.java
@@ -21,7 +21,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ComponentResolver {
public static final String TAG = "ComponentResolver";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageManagerCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageManagerCompat.java
index f4ae8b2..c610180 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageManagerCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageManagerCompat.java
@@ -39,7 +39,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@SuppressLint({"SdCardPath", "NewApi"})
public class PackageManagerCompat {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageMonitor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageMonitor.java
index 9fb51a0..54cc532 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageMonitor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/PackageMonitor.java
@@ -6,7 +6,7 @@ package top.niunaijun.blackbox.core.system.pm;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface PackageMonitor {
void onPackageUninstalled(String packageName, boolean isRemove, int userId);
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/Settings.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/Settings.java
index 0d893b6..2b49db8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/Settings.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/Settings.java
@@ -30,7 +30,7 @@ import top.niunaijun.blackbox.utils.compat.PackageParserCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
/*public*/ class Settings {
public static final String TAG = "Settings";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CopyExecutor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CopyExecutor.java
index 395a893..2fccc00 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CopyExecutor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CopyExecutor.java
@@ -16,7 +16,7 @@ import top.niunaijun.blackbox.utils.NativeUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
* 拷贝文件相关
*/
public class CopyExecutor implements Executor {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreatePackageExecutor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreatePackageExecutor.java
index 3e01408..6614d46 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreatePackageExecutor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreatePackageExecutor.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
* 创建包相关的信息
*/
public class CreatePackageExecutor implements Executor {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreateUserExecutor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreateUserExecutor.java
index a52b8fd..2bc7ca7 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreateUserExecutor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/CreateUserExecutor.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
* 创建用户相关
*/
public class CreateUserExecutor implements Executor {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/Executor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/Executor.java
index 6fd5696..5201b29 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/Executor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/Executor.java
@@ -9,7 +9,7 @@ import top.niunaijun.blackbox.entity.pm.InstallOption;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface Executor {
public static final String TAG = "InstallExecutor";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveAppExecutor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveAppExecutor.java
index 9c82191..355f97b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveAppExecutor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveAppExecutor.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class RemoveAppExecutor implements Executor {
@Override
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveUserExecutor.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveUserExecutor.java
index 0bb3b87..58cb87c 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveUserExecutor.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/pm/installer/RemoveUserExecutor.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
* 创建用户相关
*/
public class RemoveUserExecutor implements Executor {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserInfo.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserInfo.java
index 2d75a1b..87ba6ec 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserInfo.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserInfo.java
@@ -9,7 +9,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BUserInfo implements Parcelable {
public int id;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserManagerService.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserManagerService.java
index abf56b4..8c10ba5 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserManagerService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserManagerService.java
@@ -26,7 +26,7 @@ import top.niunaijun.blackbox.utils.FileUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BUserManagerService extends IBUserManagerService.Stub implements ISystemService {
private static BUserManagerService sService = new BUserManagerService();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserStatus.java b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserStatus.java
index 6305730..4550ca8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserStatus.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/core/system/user/BUserStatus.java
@@ -6,7 +6,7 @@ package top.niunaijun.blackbox.core.system.user;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public enum BUserStatus {
ENABLE, DISABLE
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/AppConfig.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/AppConfig.java
index 49653ed..2356d86 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/AppConfig.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/AppConfig.java
@@ -11,7 +11,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AppConfig implements Parcelable {
public static final String KEY = "BlackBox_client_config";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/JobRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/JobRecord.java
index 637b170..002d950 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/JobRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/JobRecord.java
@@ -13,7 +13,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class JobRecord implements Parcelable {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/ServiceRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/ServiceRecord.java
index 9a53ec9..ede2a15 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/ServiceRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/ServiceRecord.java
@@ -15,7 +15,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ServiceRecord {
private Service mService;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/UnbindRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/UnbindRecord.java
index c6e9536..ecf48e2 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/UnbindRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/UnbindRecord.java
@@ -10,7 +10,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class UnbindRecord implements Parcelable {
private int mBindCount;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallOption.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallOption.java
index 338dbb4..7f08d1e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallOption.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallOption.java
@@ -9,7 +9,7 @@ import android.os.Parcelable;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class InstallOption implements Parcelable {
public static final int FLAG_SYSTEM = 1;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallResult.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallResult.java
index 79deab3..59c2dce 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallResult.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstallResult.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class InstallResult implements Parcelable {
public static final String TAG = "InstallResult";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledModule.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledModule.java
index 0011c94..7c12410 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledModule.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledModule.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.core.system.user.BUserHandle;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class InstalledModule implements Parcelable {
public String packageName;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledPackage.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledPackage.java
index 66373aa..047f0ba 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledPackage.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/InstalledPackage.java
@@ -16,7 +16,7 @@ import top.niunaijun.blackbox.BlackBoxCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class InstalledPackage implements Parcelable {
public int userId;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/XposedConfig.java b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/XposedConfig.java
index ed70257..3b72059 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/XposedConfig.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/entity/pm/XposedConfig.java
@@ -12,7 +12,7 @@ import java.util.Map;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class XposedConfig implements Parcelable {
public boolean enable;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/FakeCore.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/FakeCore.java
index 323e59c..cd618e6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/FakeCore.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/FakeCore.java
@@ -8,7 +8,7 @@ import top.niunaijun.jnihook.ReflectCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class FakeCore {
public static void init() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ContentProviderDelegate.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ContentProviderDelegate.java
index 27b6bd5..a553cf0 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ContentProviderDelegate.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ContentProviderDelegate.java
@@ -30,7 +30,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ContentProviderDelegate {
public static final String TAG = "ContentProviderDelegate";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/InnerReceiverDelegate.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/InnerReceiverDelegate.java
index efb553f..8535d9b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/InnerReceiverDelegate.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/InnerReceiverDelegate.java
@@ -21,7 +21,7 @@ import top.niunaijun.blackbox.proxy.record.ProxyBroadcastRecord;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class InnerReceiverDelegate extends IIntentReceiver.Stub {
public static final String TAG = "InnerReceiverDelegate";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ServiceConnectionDelegate.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ServiceConnectionDelegate.java
index 3e9264f..2075598 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ServiceConnectionDelegate.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/delegate/ServiceConnectionDelegate.java
@@ -18,7 +18,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ServiceConnectionDelegate extends IServiceConnection.Stub {
private static final Map sServiceConnectDelegate = new HashMap<>();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BActivityManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BActivityManager.java
index fe8047b..c204ca5 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BActivityManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BActivityManager.java
@@ -25,7 +25,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BActivityManager extends BlackManager {
private static final String TAG = "BActivityManager";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BJobManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BJobManager.java
index 0a8870b..29af5f7 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BJobManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BJobManager.java
@@ -14,7 +14,7 @@ import top.niunaijun.blackbox.entity.JobRecord;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BJobManager extends BlackManager {
private static final BJobManager sJobManager = new BJobManager();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BPackageManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BPackageManager.java
index 1937ea9..ecf42ee 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BPackageManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BPackageManager.java
@@ -32,7 +32,7 @@ import top.niunaijun.blackbox.utils.TransactionThrottler;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BPackageManager extends BlackManager {
private static final BPackageManager sPackageManager = new BPackageManager();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BStorageManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BStorageManager.java
index 3e869a5..0b367a6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BStorageManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BStorageManager.java
@@ -13,7 +13,7 @@ import top.niunaijun.blackbox.core.system.os.IBStorageManagerService;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BStorageManager extends BlackManager {
private static final BStorageManager sStorageManager = new BStorageManager();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BUserManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BUserManager.java
index db7e64a..b382297 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BUserManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BUserManager.java
@@ -18,7 +18,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BUserManager extends BlackManager {
private static final String TAG = "BUserManager";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BXposedManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BXposedManager.java
index 16afa71..a6f7959 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BXposedManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/frameworks/BXposedManager.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.entity.pm.InstalledModule;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class BXposedManager extends BlackManager {
private static final BXposedManager sXposedManager = new BXposedManager();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/BinderInvocationStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/BinderInvocationStub.java
index de5039f..f54480d 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/BinderInvocationStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/BinderInvocationStub.java
@@ -19,7 +19,7 @@ import black.android.os.BRServiceManager;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public abstract class BinderInvocationStub extends ClassInvocationStub implements IBinder {
private IBinder mBaseBinder;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ClassInvocationStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ClassInvocationStub.java
index 6d9df97..1aaf8aa 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ClassInvocationStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ClassInvocationStub.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public abstract class ClassInvocationStub implements InvocationHandler, IInjectHook {
public static final String TAG = ClassInvocationStub.class.getSimpleName();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/HookManager.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/HookManager.java
index a2043a6..b45a413 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/HookManager.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/HookManager.java
@@ -98,7 +98,7 @@ import top.niunaijun.blackbox.fake.service.WorkManagerProxy;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class HookManager {
public static final String TAG = "HookManager";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/IInjectHook.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/IInjectHook.java
index 191a15b..46d0880 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/IInjectHook.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/IInjectHook.java
@@ -6,7 +6,7 @@ package top.niunaijun.blackbox.fake.hook;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface IInjectHook {
void injectHook();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/MethodHook.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/MethodHook.java
index b47baf4..0e4ee82 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/MethodHook.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/MethodHook.java
@@ -10,7 +10,7 @@ import top.niunaijun.blackbox.BlackBoxCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public abstract class MethodHook {
protected String getMethodName() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethod.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethod.java
index b25800a..76324a4 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethod.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethod.java
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethods.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethods.java
index 1c568fe..2df6130 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethods.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ProxyMethods.java
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ScanClass.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ScanClass.java
index 7c658ce..8816ae4 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ScanClass.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/hook/ScanClass.java
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProvider.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProvider.java
index 4160a86..c2c8ecf 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProvider.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProvider.java
@@ -36,7 +36,7 @@ import static org.xmlpull.v1.XmlPullParser.START_TAG;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class FileProvider extends ContentProvider {
private static final String[] COLUMNS = {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProviderHandler.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProviderHandler.java
index 1baf00c..a460421 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProviderHandler.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/provider/FileProviderHandler.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class FileProviderHandler {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ActivityManagerCommonProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ActivityManagerCommonProxy.java
index dc5b8c2..3cbc3d8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ActivityManagerCommonProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ActivityManagerCommonProxy.java
@@ -30,7 +30,7 @@ import static android.content.pm.PackageManager.GET_META_DATA;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ActivityManagerCommonProxy {
public static final String TAG = "CommonStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/HCallbackProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/HCallbackProxy.java
index 81fdd19..d38f7c7 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/HCallbackProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/HCallbackProxy.java
@@ -43,7 +43,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class HCallbackProxy implements IInjectHook, Handler.Callback {
public static final String TAG = "HCallbackStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccessibilityManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccessibilityManagerProxy.java
index 71734f9..cecbf8b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccessibilityManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccessibilityManagerProxy.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethods;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAccessibilityManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccountManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccountManagerProxy.java
index a3746d5..482c752 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccountManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAccountManagerProxy.java
@@ -22,7 +22,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAccountManagerProxy extends BinderInvocationStub {
public static final String TAG = "IAccountManagerProxy";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityManagerProxy.java
index 1eab005..8f19079 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityManagerProxy.java
@@ -67,7 +67,7 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@ScanClass(ActivityManagerCommonProxy.class)
public class IActivityManagerProxy extends ClassInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityTaskManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityTaskManagerProxy.java
index 8640baa..b0fcc81 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityTaskManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IActivityTaskManagerProxy.java
@@ -20,7 +20,7 @@ import top.niunaijun.blackbox.utils.compat.TaskDescriptionCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@ScanClass(ActivityManagerCommonProxy.class)
public class IActivityTaskManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAlarmManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAlarmManagerProxy.java
index 872e32f..c279ea9 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAlarmManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAlarmManagerProxy.java
@@ -16,7 +16,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAlarmManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppOpsManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppOpsManagerProxy.java
index c2642f0..9124e5a 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppOpsManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppOpsManagerProxy.java
@@ -22,7 +22,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAppOpsManagerProxy extends BinderInvocationStub {
public IAppOpsManagerProxy() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppWidgetManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppWidgetManagerProxy.java
index 9a0f5a3..f64b9f0 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppWidgetManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAppWidgetManagerProxy.java
@@ -16,7 +16,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAppWidgetManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAutofillManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAutofillManagerProxy.java
index 54d44a9..829e959 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAutofillManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IAutofillManagerProxy.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.proxy.ProxyManifest;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IAutofillManagerProxy extends BinderInvocationStub {
public static final String TAG = "AutofillManagerStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IConnectivityManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IConnectivityManagerProxy.java
index 8a4ad5a..bff2cd3 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IConnectivityManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IConnectivityManagerProxy.java
@@ -27,7 +27,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@ScanClass(VpnCommonProxy.class)
public class IConnectivityManagerProxy extends BinderInvocationStub {
@@ -271,6 +271,75 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
}
}
+ // Hook for getAllNetworks - critical for modern apps to list networks
+ @ProxyMethod("getAllNetworks")
+ public static class GetAllNetworks extends MethodHook {
+ @Override
+ protected Object hook(Object who, Method method, Object[] args) throws Throwable {
+ try {
+ // Try original
+ Object result = method.invoke(who, args);
+ if (result != null) {
+ // Check if array is empty
+ if (Array.getLength(result) > 0) {
+ return result;
+ }
+ }
+ } catch (Exception e) {
+ // Ignore
+ }
+
+ Slog.d(TAG, "Creating fallback Network[] for getAllNetworks");
+
+ // Try to align with GetActiveNetwork to ensure consistency
+ try {
+ // Finds the getActiveNetwork method on the proxy to call it properly
+ Method getActiveNetworkMethod = null;
+ try {
+ getActiveNetworkMethod = who.getClass().getMethod("getActiveNetwork");
+ } catch (NoSuchMethodException e) {
+ // Try searching by name if exact match fails
+ for (Method m : who.getClass().getMethods()) {
+ if (m.getName().equals("getActiveNetwork")) {
+ getActiveNetworkMethod = m;
+ break;
+ }
+ }
+ }
+
+ if (getActiveNetworkMethod != null) {
+ Object activeNetwork = getActiveNetworkMethod.invoke(who);
+ if (activeNetwork != null) {
+ Class> networkClass = activeNetwork.getClass();
+ Object networkArray = Array.newInstance(networkClass, 1);
+ Array.set(networkArray, 0, activeNetwork);
+ Slog.d(TAG, "Refilled getAllNetworks with Active Network: " + activeNetwork);
+ return networkArray;
+ }
+ }
+ } catch (Exception e) {
+ Slog.w(TAG, "Failed to use Active Network for fallback: " + e.getMessage());
+ }
+
+ // Create array with 1 fake network as last resort
+ try {
+ Class> networkClass = Class.forName("android.net.Network");
+ Object networkArray = Array.newInstance(networkClass, 1);
+
+ // Create fake network (Network(1))
+ // Note: Network(int) is hidden, but accessible via reflection
+ Constructor> constructor = networkClass.getConstructor(int.class);
+ Object network = constructor.newInstance(1);
+
+ Array.set(networkArray, 0, network);
+ return networkArray;
+ } catch (Exception e) {
+ Slog.w(TAG, "Failed to create fallback Network[]: " + e.getMessage());
+ return method.invoke(who, args);
+ }
+ }
+ }
+
// Enhanced hook for getNetworkCapabilities for API 21+
@ProxyMethod("getNetworkCapabilities")
public static class GetNetworkCapabilities extends MethodHook {
@@ -278,21 +347,33 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
protected Object hook(Object who, Method method, Object[] args) throws Throwable {
if (android.os.Build.VERSION.SDK_INT >= 21) {
try {
+ // Try to get real capabilities first
+ Object result = method.invoke(who, args);
+ if (result != null) {
+ // Force add capabilities to the real result to ensure app thinks it has internet
+ try {
+ Method addCapabilityMethod = result.getClass().getMethod("addCapability", int.class);
+ addCapabilityMethod.setAccessible(true);
+ addCapabilityMethod.invoke(result, 12); // NET_CAPABILITY_INTERNET
+ addCapabilityMethod.invoke(result, 16); // NET_CAPABILITY_VALIDATED
+ } catch (Exception e) {
+ // Ignore if method not found (e.g. immutable on some versions)
+ e.printStackTrace();
+ }
+ return result;
+ }
+
// Create NetworkCapabilities using API-specific methods
Object nc;
// Use the universal NetworkCapabilities creation method for all API levels
nc = IConnectivityManagerProxy.createNetworkCapabilities();
if (nc != null) {
- Slog.d(TAG, "Created enhanced NetworkCapabilities for sandboxed app");
+ Slog.d(TAG, "Created enhanced NetworkCapabilities for sandboxed app (fallback)");
return nc;
- } else {
- Slog.w(TAG, "Failed to create NetworkCapabilities, falling back to original method");
- return method.invoke(who, args);
}
} catch (Exception e) {
Slog.w(TAG, "Error creating NetworkCapabilities: " + e.getMessage());
- return method.invoke(who, args);
}
}
return method.invoke(who, args);
@@ -306,6 +387,12 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
protected Object hook(Object who, Method method, Object[] args) throws Throwable {
if (android.os.Build.VERSION.SDK_INT >= 21) {
try {
+ // Try to get real active network first
+ Object result = method.invoke(who, args);
+ if (result != null) {
+ return result;
+ }
+
// Create a mock Network object to ensure proper binding
// Use reflection to handle different constructor signatures
android.net.Network network;
@@ -325,17 +412,43 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
return method.invoke(who, args);
}
}
- Slog.d(TAG, "Created mock Network object for sandboxed app");
+ Slog.d(TAG, "Created mock Network object for sandboxed app (fallback)");
return network;
} catch (Exception e) {
Slog.w(TAG, "Error creating Network object: " + e.getMessage());
- return method.invoke(who, args);
}
}
return method.invoke(who, args);
}
}
+ // Hook for getActiveNetworkInfo - critical for legacy internet checks
+ @ProxyMethod("getActiveNetworkInfo")
+ public static class GetActiveNetworkInfo extends MethodHook {
+ @Override
+ protected Object hook(Object who, Method method, Object[] args) throws Throwable {
+ try {
+ Object result = method.invoke(who, args);
+ if (result != null) {
+ // Force CONNECTED state
+ try {
+ Method setDetailedState = result.getClass().getMethod("setDetailedState",
+ android.net.NetworkInfo.DetailedState.class, String.class, String.class);
+ setDetailedState.setAccessible(true);
+ setDetailedState.invoke(result, android.net.NetworkInfo.DetailedState.CONNECTED, null, null);
+ } catch (Exception e) {
+ // Ignore
+ }
+ return result;
+ }
+ } catch (Exception e) {
+ // Ignore
+ }
+ Slog.d(TAG, "Creating fallback NetworkInfo for getActiveNetworkInfo");
+ return createNetworkInfo(ConnectivityManager.TYPE_WIFI, 0, "WIFI", "");
+ }
+ }
+
// Hook for getLinkProperties to handle DNS configuration
@ProxyMethod("getLinkProperties")
public static class GetLinkProperties extends MethodHook {
@@ -343,20 +456,21 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
protected Object hook(Object who, Method method, Object[] args) throws Throwable {
if (android.os.Build.VERSION.SDK_INT >= 21) {
try {
+ // Try to get real link properties first
+ Object result = method.invoke(who, args);
+ if (result != null) {
+ return result;
+ }
+
// Create LinkProperties using the universal method for all API levels
Object linkProperties = IConnectivityManagerProxy.createLinkProperties();
if (linkProperties != null) {
- Slog.d(TAG, "Created LinkProperties with DNS configuration for sandboxed app");
+ Slog.d(TAG, "Created LinkProperties with DNS configuration for sandboxed app (fallback)");
return linkProperties;
- } else {
- Slog.w(TAG, "Failed to create LinkProperties, falling back to original method");
- return method.invoke(who, args);
}
-
} catch (Exception e) {
Slog.w(TAG, "Error creating LinkProperties: " + e.getMessage());
- return method.invoke(who, args);
}
}
return method.invoke(who, args);
@@ -506,6 +620,15 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
// Try to use the original method first
Object result = method.invoke(who, args);
if (result != null) {
+ // Force CONNECTED state
+ try {
+ Method setDetailedState = result.getClass().getMethod("setDetailedState",
+ android.net.NetworkInfo.DetailedState.class, String.class, String.class);
+ setDetailedState.setAccessible(true);
+ setDetailedState.invoke(result, android.net.NetworkInfo.DetailedState.CONNECTED, null, null);
+ } catch (Exception e) {
+ // Ignore
+ }
return result;
}
@@ -690,6 +813,15 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
// Try to use the original method first
Object result = method.invoke(who, args);
if (result != null) {
+ // Force CONNECTED state
+ try {
+ Method setDetailedState = result.getClass().getMethod("setDetailedState",
+ android.net.NetworkInfo.DetailedState.class, String.class, String.class);
+ setDetailedState.setAccessible(true);
+ setDetailedState.invoke(result, android.net.NetworkInfo.DetailedState.CONNECTED, null, null);
+ } catch (Exception e) {
+ // Ignore
+ }
return result;
}
@@ -724,6 +856,15 @@ public class IConnectivityManagerProxy extends BinderInvocationStub {
// Try to use the original method first
Object result = method.invoke(who, args);
if (result != null) {
+ // Force CONNECTED state
+ try {
+ Method setDetailedState = result.getClass().getMethod("setDetailedState",
+ android.net.NetworkInfo.DetailedState.class, String.class, String.class);
+ setDetailedState.setAccessible(true);
+ setDetailedState.invoke(result, android.net.NetworkInfo.DetailedState.CONNECTED, null, null);
+ } catch (Exception e) {
+ // Ignore
+ }
return result;
}
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDeviceIdentifiersPolicyProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDeviceIdentifiersPolicyProxy.java
index 9343a1a..90b757d 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDeviceIdentifiersPolicyProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDeviceIdentifiersPolicyProxy.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.utils.Md5Utils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IDeviceIdentifiersPolicyProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDevicePolicyManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDevicePolicyManagerProxy.java
index 3c411d9..3391b49 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDevicePolicyManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDevicePolicyManagerProxy.java
@@ -18,7 +18,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IDevicePolicyManagerProxy extends BinderInvocationStub {
public IDevicePolicyManagerProxy() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDisplayManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDisplayManagerProxy.java
index adc3d63..4c2b4b2 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDisplayManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IDisplayManagerProxy.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IDisplayManagerProxy extends ClassInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IGraphicsStatsProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IGraphicsStatsProxy.java
index f086de1..766f2f3 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IGraphicsStatsProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IGraphicsStatsProxy.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IGraphicsStatsProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILauncherAppsProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILauncherAppsProxy.java
index e08826e..e9cd938 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILauncherAppsProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILauncherAppsProxy.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ILauncherAppsProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILocationManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILocationManagerProxy.java
index 59241f5..970e918 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILocationManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ILocationManagerProxy.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ILocationManagerProxy extends BinderInvocationStub {
public static final String TAG = "ILocationManagerProxy";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IMediaSessionManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IMediaSessionManagerProxy.java
index d5697f9..b20edd8 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IMediaSessionManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IMediaSessionManagerProxy.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IMediaSessionManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/INotificationManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/INotificationManagerProxy.java
index 41a5580..fcf6409 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/INotificationManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/INotificationManagerProxy.java
@@ -28,7 +28,7 @@ import top.niunaijun.blackbox.utils.compat.ParceledListSliceCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class INotificationManagerProxy extends BinderInvocationStub {
public static final String TAG = "INotificationManagerProxy";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IShortcutManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IShortcutManagerProxy.java
index 61af909..6ad5d90 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IShortcutManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IShortcutManagerProxy.java
@@ -22,7 +22,7 @@ import top.niunaijun.blackbox.utils.compat.ParceledListSliceCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
* 未实现,全部拦截
*/
public class IShortcutManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IStorageManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IStorageManagerProxy.java
index 06e7dfa..ab08b37 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IStorageManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IStorageManagerProxy.java
@@ -21,7 +21,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IStorageManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyManagerProxy.java
index 8639b48..eccb926 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyManagerProxy.java
@@ -26,7 +26,7 @@ import top.niunaijun.blackbox.utils.Md5Utils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ITelephonyManagerProxy extends BinderInvocationStub {
public static final String TAG = "ITelephonyManagerProxy";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyRegistryProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyRegistryProxy.java
index b5434a2..9866cf1 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyRegistryProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/ITelephonyRegistryProxy.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.utils.MethodParameterUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ITelephonyRegistryProxy extends BinderInvocationStub {
public ITelephonyRegistryProxy() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IUserManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IUserManagerProxy.java
index 7f0bc45..93cbb44 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IUserManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IUserManagerProxy.java
@@ -20,7 +20,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IUserManagerProxy extends BinderInvocationStub {
public IUserManagerProxy() {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IVpnManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IVpnManagerProxy.java
index bd43030..4bd8abe 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IVpnManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IVpnManagerProxy.java
@@ -11,7 +11,7 @@ import top.niunaijun.blackbox.fake.hook.ScanClass;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
@ScanClass(VpnCommonProxy.class)
public class IVpnManagerProxy extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWebViewUpdateServiceProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWebViewUpdateServiceProxy.java
index 356aa94..237ff79 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWebViewUpdateServiceProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWebViewUpdateServiceProxy.java
@@ -92,8 +92,8 @@ public class IWebViewUpdateServiceProxy extends ClassInvocationStub {
public static class IsMultiProcessEnabled extends MethodHook {
@Override
protected Object hook(Object who, Method method, Object[] args) throws Throwable {
- Slog.d(TAG, "WebViewUpdateService: isMultiProcessEnabled called, returning true");
- return true;
+ Slog.d(TAG, "WebViewUpdateService: isMultiProcessEnabled called, returning false for single-process mode");
+ return false;
}
}
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWifiManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWifiManagerProxy.java
index 2c3a3c2..4e35281 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWifiManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWifiManagerProxy.java
@@ -20,7 +20,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IWifiManagerProxy extends BinderInvocationStub {
public static final String TAG = "IWifiManagerProxy";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowManagerProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowManagerProxy.java
index 2f4cefe..f2f0712 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowManagerProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowManagerProxy.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IWindowManagerProxy extends BinderInvocationStub {
public static final String TAG = "WindowManagerStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowSessionProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowSessionProxy.java
index ef207f2..5459068 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowSessionProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/IWindowSessionProxy.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class IWindowSessionProxy extends BinderInvocationStub {
public static final String TAG = "WindowSessionStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/WebViewProxy.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/WebViewProxy.java
index 48f461e..7fbdc59 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/WebViewProxy.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/WebViewProxy.java
@@ -84,7 +84,7 @@ public class WebViewProxy extends ClassInvocationStub {
if (result instanceof WebView) {
WebView webView = (WebView) result;
// Configure WebView for better compatibility
- configureWebView(webView, context);
+ configureWebView(webView);
}
return result;
@@ -95,7 +95,7 @@ public class WebViewProxy extends ClassInvocationStub {
}
}
- private void configureWebView(WebView webView, Context context) {
+ private void configureWebView(WebView webView) {
try {
WebSettings settings = webView.getSettings();
if (settings != null) {
@@ -107,16 +107,60 @@ public class WebViewProxy extends ClassInvocationStub {
settings.setDatabaseEnabled(true);
// Set cache mode
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
+
+ // Enable AppCache (Restored per user request, deprecated/removed in new SDKs)
+ try {
+ // Use reflection because methods are removed in API 33+ SDK
+ Method setAppCacheEnabled = settings.getClass().getMethod("setAppCacheEnabled", boolean.class);
+ setAppCacheEnabled.invoke(settings, true);
+
+ if (webView.getContext() != null) {
+ Method setAppCachePath = settings.getClass().getMethod("setAppCachePath", String.class);
+ setAppCachePath.invoke(settings, webView.getContext().getCacheDir().getAbsolutePath());
+ }
+ } catch (Throwable e) {
+ // Method missing on newer Android versions/SDKs, ignore
+ Slog.w(TAG, "WebView: AppCache not supported: " + e.getMessage());
+ }
+
+ // CRITICAL: Enable network access explicitly
+ settings.setBlockNetworkLoads(false);
+ settings.setBlockNetworkImage(false);
+
+ // Enable file access for local resources
+ settings.setAllowFileAccess(true);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ settings.setAllowFileAccessFromFileURLs(true);
+ settings.setAllowUniversalAccessFromFileURLs(true);
+ }
+
// Enable mixed content (for HTTPS sites with HTTP resources)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
+
// Set user agent
String userAgent = settings.getUserAgentString();
if (userAgent != null && !userAgent.contains("BlackBox")) {
settings.setUserAgentString(userAgent + " BlackBox");
}
- Slog.d(TAG, "WebView: Configured successfully");
+
+ // Force network available
+ try {
+ webView.setNetworkAvailable(true);
+ } catch (Exception e) {
+ // Ignore
+ }
+
+ // Allow content access
+ settings.setAllowContentAccess(true);
+
+ // Disable safe browsing (API 26+) - often fails in sandbox
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ settings.setSafeBrowsingEnabled(false);
+ }
+
+ Slog.d(TAG, "WebView: Configured successfully with network access enabled");
}
} catch (Exception e) {
Slog.w(TAG, "WebView: Failed to configure settings", e);
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/ContentServiceStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/ContentServiceStub.java
index 9af0b63..841a8b6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/ContentServiceStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/ContentServiceStub.java
@@ -14,7 +14,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ContentServiceStub extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/RestrictionsManagerStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/RestrictionsManagerStub.java
index bea1975..99f1b9d 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/RestrictionsManagerStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/RestrictionsManagerStub.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.fake.hook.ProxyMethod;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class RestrictionsManagerStub extends BinderInvocationStub {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/BContentProvider.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/BContentProvider.java
index e1e7469..f11c2ba 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/BContentProvider.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/BContentProvider.java
@@ -8,7 +8,7 @@ import android.os.IInterface;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public interface BContentProvider {
IInterface wrapper(final IInterface contentProviderProxy, final String appPkg);
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java
index 6bd5a94..404d5fe 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/ContentProviderStub.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.utils.AttributionSourceUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ContentProviderStub extends ClassInvocationStub implements BContentProvider {
public static final String TAG = "ContentProviderStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java
index 305e3f0..d71531e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/context/providers/SystemProviderStub.java
@@ -15,7 +15,7 @@ import top.niunaijun.blackbox.utils.compat.ContextCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class SystemProviderStub extends ClassInvocationStub implements BContentProvider {
private IInterface mBase;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/libcore/OsStub.java b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/libcore/OsStub.java
index a8b6b51..ecb6146 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/libcore/OsStub.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/fake/service/libcore/OsStub.java
@@ -19,7 +19,7 @@ import top.niunaijun.blackbox.utils.Reflector;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class OsStub extends ClassInvocationStub {
public static final String TAG = "OsStub";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyActivity.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyActivity.java
index 03f9586..3f7b554 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyActivity.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyActivity.java
@@ -21,7 +21,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyActivity extends Activity {
public static final String TAG = "ProxyActivity";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyContentProvider.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyContentProvider.java
index 65220be..5cc96a3 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyContentProvider.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyContentProvider.java
@@ -20,7 +20,7 @@ import top.niunaijun.blackbox.utils.compat.BundleCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyContentProvider extends ContentProvider {
@Override
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyJobService.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyJobService.java
index 44ef623..499521b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyJobService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyJobService.java
@@ -13,7 +13,7 @@ import top.niunaijun.blackbox.app.dispatcher.AppJobServiceDispatcher;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyJobService extends JobService {
public static final String TAG = "StubJobService";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyManifest.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyManifest.java
index f02ffd6..cad42b9 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyManifest.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyManifest.java
@@ -10,7 +10,7 @@ import top.niunaijun.blackbox.BlackBoxCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyManifest {
public static final int FREE_COUNT = 50;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyPendingActivity.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyPendingActivity.java
index 1de9f35..de388b4 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyPendingActivity.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyPendingActivity.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyPendingActivity extends Activity {
public static final String TAG = "ProxyPendingActivity";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyService.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyService.java
index b039ebc..dd56502 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyService.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/ProxyService.java
@@ -18,7 +18,7 @@ import top.niunaijun.blackbox.utils.compat.BuildCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyService extends Service {
public static final String TAG = "StubService";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyActivityRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyActivityRecord.java
index eb44013..4f324bd 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyActivityRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyActivityRecord.java
@@ -12,7 +12,7 @@ import top.niunaijun.blackbox.utils.compat.BundleCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyActivityRecord {
public int mUserId;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyBroadcastRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyBroadcastRecord.java
index d872cba..c161b81 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyBroadcastRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyBroadcastRecord.java
@@ -8,7 +8,7 @@ import android.content.Intent;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyBroadcastRecord {
public Intent mIntent;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyPendingRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyPendingRecord.java
index 95a7357..32d86a6 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyPendingRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyPendingRecord.java
@@ -8,7 +8,7 @@ import android.content.Intent;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyPendingRecord {
public int mUserId;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyServiceRecord.java b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyServiceRecord.java
index 2061f1e..313b324 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyServiceRecord.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/proxy/record/ProxyServiceRecord.java
@@ -12,7 +12,7 @@ import top.niunaijun.blackbox.utils.compat.BundleCompat;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ProxyServiceRecord {
public Intent mServiceIntent;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/AbiUtils.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/AbiUtils.java
index cc539b6..dd12fb7 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/AbiUtils.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/AbiUtils.java
@@ -17,7 +17,7 @@ import top.niunaijun.blackbox.BlackBoxCore;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class AbiUtils {
private final Set mLibs = new HashSet<>();
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/CloseUtils.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/CloseUtils.java
index 34cdca4..61b574a 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/CloseUtils.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/CloseUtils.java
@@ -9,7 +9,7 @@ import java.io.IOException;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class CloseUtils {
public static void close(Closeable... closeables) {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/NativeUtils.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/NativeUtils.java
index 256ba02..20b752b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/NativeUtils.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/NativeUtils.java
@@ -21,7 +21,7 @@ import java.util.zip.ZipFile;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class NativeUtils {
public static final String TAG = "VirtualM";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ActivityCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ActivityCompat.java
index 14e53a2..7bb0411 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ActivityCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ActivityCompat.java
@@ -26,7 +26,7 @@ import top.niunaijun.blackbox.utils.DrawableUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ActivityCompat {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ContextCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ContextCompat.java
index 5f28016..a1ae39b 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ContextCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/ContextCompat.java
@@ -20,7 +20,7 @@ import top.niunaijun.blackbox.utils.Slog;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ContextCompat {
public static final String TAG = "ContextCompat";
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/DexFileCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/DexFileCompat.java
index df90173..aa89cbc 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/DexFileCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/DexFileCompat.java
@@ -12,7 +12,7 @@ import top.niunaijun.blackbox.utils.Reflector;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class DexFileCompat {
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/StartActivityCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/StartActivityCompat.java
index 9bdf71c..5fc2c6e 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/StartActivityCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/StartActivityCompat.java
@@ -10,7 +10,7 @@ import android.os.IBinder;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class StartActivityCompat {
private static int index = 0;
diff --git a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/XposedParserCompat.java b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/XposedParserCompat.java
index b47b57b..6fa5db0 100644
--- a/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/XposedParserCompat.java
+++ b/Bcore/src/main/java/top/niunaijun/blackbox/utils/compat/XposedParserCompat.java
@@ -21,7 +21,7 @@ import top.niunaijun.blackbox.utils.CloseUtils;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class XposedParserCompat {
diff --git a/Bcore/src/main/java/top/niunaijun/jnihook/MethodUtils.java b/Bcore/src/main/java/top/niunaijun/jnihook/MethodUtils.java
index b54f99e..c22dd48 100644
--- a/Bcore/src/main/java/top/niunaijun/jnihook/MethodUtils.java
+++ b/Bcore/src/main/java/top/niunaijun/jnihook/MethodUtils.java
@@ -6,7 +6,7 @@ package top.niunaijun.jnihook;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
import androidx.annotation.Keep;
diff --git a/Bcore/src/main/java/top/niunaijun/jnihook/ReflectCore.java b/Bcore/src/main/java/top/niunaijun/jnihook/ReflectCore.java
index 8e258d7..2285e77 100644
--- a/Bcore/src/main/java/top/niunaijun/jnihook/ReflectCore.java
+++ b/Bcore/src/main/java/top/niunaijun/jnihook/ReflectCore.java
@@ -11,7 +11,7 @@ import top.niunaijun.jnihook.jni.JniHook;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public class ReflectCore {
diff --git a/Bcore/src/main/java/top/niunaijun/jnihook/jni/JniHook.java b/Bcore/src/main/java/top/niunaijun/jnihook/jni/JniHook.java
index 642b891..6de3d2d 100644
--- a/Bcore/src/main/java/top/niunaijun/jnihook/jni/JniHook.java
+++ b/Bcore/src/main/java/top/niunaijun/jnihook/jni/JniHook.java
@@ -9,7 +9,7 @@ import java.lang.reflect.Method;
* (`・ω・∥
* 丶 つ0
* しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ *
*/
public final class JniHook {
public static final int NATIVE_OFFSET = 0;
diff --git a/app/src/main/java/top/niunaijun/blackboxa/app/AppManager.kt b/app/src/main/java/top/niunaijun/blackboxa/app/AppManager.kt
index 175ac4e..2c85d7c 100644
--- a/app/src/main/java/top/niunaijun/blackboxa/app/AppManager.kt
+++ b/app/src/main/java/top/niunaijun/blackboxa/app/AppManager.kt
@@ -7,15 +7,11 @@ import top.niunaijun.blackboxa.view.main.BlackBoxLoader
/**
* updated by alex5402 on 4/9/21.
- * * ∧_∧
- * (`・ω・∥
- * 丶 つ0
- * しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ * * ∧_∧ (`・ω・∥ 丶 つ0 しーJ
*/
object AppManager {
private const val TAG = "AppManager"
-
+
@JvmStatic
val mBlackBoxLoader by lazy {
try {
diff --git a/app/src/main/java/top/niunaijun/blackboxa/app/rocker/RockerManager.kt b/app/src/main/java/top/niunaijun/blackboxa/app/rocker/RockerManager.kt
index c461c63..4453601 100644
--- a/app/src/main/java/top/niunaijun/blackboxa/app/rocker/RockerManager.kt
+++ b/app/src/main/java/top/niunaijun/blackboxa/app/rocker/RockerManager.kt
@@ -9,55 +9,56 @@ import android.widget.FrameLayout
import android.widget.RelativeLayout
import com.imuxuan.floatingview.FloatingMagnetView
import com.imuxuan.floatingview.FloatingView
+import kotlin.math.cos
+import kotlin.math.sin
import top.niunaijun.blackbox.entity.location.BLocation
import top.niunaijun.blackbox.fake.frameworks.BLocationManager
import top.niunaijun.blackboxa.app.App
import top.niunaijun.blackboxa.widget.EnFloatView
-import kotlin.math.cos
-import kotlin.math.sin
/**
* RockerManager - Advanced GPS Location Spoofing with Floating Joystick Control
- *
+ *
* @Description: Provides a floating joystick/rocker control for real-time GPS location manipulation
+ * ```
* in virtual apps. Allows users to move their fake GPS location by dragging a joystick.
- *
- * @Features:
+ *
+ * @Features
+ * ```
+ * :
* - Floating joystick that appears on screen
* - Real-time GPS coordinate updates
* - Precise distance and angle control
* - App-specific location spoofing
* - Automatic activity lifecycle management
- *
+ *
* @Usage:
* 1. RockerManager automatically initializes when virtual apps start
* 2. A floating joystick appears on the left side of the screen
* 3. Drag the joystick to change GPS location:
+ * ```
* - Distance: How far to move (in meters)
* - Angle: Direction to move (0-360 degrees)
+ * ```
* 4. Location updates happen in real-time as you move the joystick
- *
+ *
* @Permissions Required:
* - SYSTEM_ALERT_WINDOW: To show floating view over other apps
* - ACCESS_FINE_LOCATION: To access GPS location services
* - ACCESS_COARSE_LOCATION: For approximate location access
- *
+ *
* @Requirements:
* - Fake location must be enabled in BlackBox
* - User must grant overlay and location permissions
* - Virtual app must be running
- *
+ *
* @Author: kotlinMiku
* @CreateDate: 2022/3/19 19:37
* @LastModified: 2024 - Enhanced with better error handling and permissions
*/
/**
* updated by alex5402 on 4/9/21.
- * * ∧_∧
- * (`・ω・∥
- * 丶 つ0
- * しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ * * ∧_∧ (`・ω・∥ 丶 つ0 しーJ
*/
object RockerManager {
@@ -65,8 +66,8 @@ object RockerManager {
private var isInitialized = false
// Earth radius constants for coordinate calculations
- private const val Ea = 6378137.0 // Equator radius (meters)
- private const val Eb = 6356725.0 // Polar radius (meters)
+ private const val Ea = 6378137.0 // Equator radius (meters)
+ private const val Eb = 6356725.0 // Polar radius (meters)
fun init(application: Application?, userId: Int) {
try {
@@ -93,7 +94,7 @@ object RockerManager {
}
Log.d(TAG, "Initializing RockerManager for userId: $userId")
-
+
val enFloatView = initFloatView()
if (enFloatView is EnFloatView) {
enFloatView.setListener { angle: Float, distance: Float ->
@@ -106,31 +107,47 @@ object RockerManager {
}
// Register activity lifecycle callbacks for floating view management
- application.registerActivityLifecycleCallbacks(object : BaseActivityLifecycleCallback {
- override fun onActivityStarted(activity: Activity) {
- super.onActivityStarted(activity)
- try {
- FloatingView.get().attach(activity)
- Log.d(TAG, "Floating view attached to activity: ${activity.javaClass.simpleName}")
- } catch (e: Exception) {
- Log.e(TAG, "Error attaching floating view to activity: ${e.message}")
- }
- }
+ application.registerActivityLifecycleCallbacks(
+ object : BaseActivityLifecycleCallback {
+ override fun onActivityStarted(activity: Activity) {
+ super.onActivityStarted(activity)
+ try {
+ FloatingView.get().attach(activity)
+ Log.d(
+ TAG,
+ "Floating view attached to activity: ${activity.javaClass.simpleName}"
+ )
+ } catch (e: Exception) {
+ Log.e(
+ TAG,
+ "Error attaching floating view to activity: ${e.message}"
+ )
+ }
+ }
- override fun onActivityStopped(activity: Activity) {
- super.onActivityStopped(activity)
- try {
- FloatingView.get().detach(activity)
- Log.d(TAG, "Floating view detached from activity: ${activity.javaClass.simpleName}")
- } catch (e: Exception) {
- Log.e(TAG, "Error detaching floating view from activity: ${e.message}")
+ override fun onActivityStopped(activity: Activity) {
+ super.onActivityStopped(activity)
+ try {
+ FloatingView.get().detach(activity)
+ Log.d(
+ TAG,
+ "Floating view detached from activity: ${activity.javaClass.simpleName}"
+ )
+ } catch (e: Exception) {
+ Log.e(
+ TAG,
+ "Error detaching floating view from activity: ${e.message}"
+ )
+ }
+ }
}
- }
- })
+ )
isInitialized = true
- Log.d(TAG, "RockerManager initialized successfully - Floating GPS joystick is now active!")
-
+ Log.d(
+ TAG,
+ "RockerManager initialized successfully - Floating GPS joystick is now active!"
+ )
} catch (e: Exception) {
Log.e(TAG, "Error initializing RockerManager: ${e.message}")
Log.e(TAG, "Stack trace: ", e)
@@ -139,10 +156,11 @@ object RockerManager {
private fun initFloatView(): FloatingMagnetView? {
return try {
- val params = FrameLayout.LayoutParams(
- RelativeLayout.LayoutParams.WRAP_CONTENT,
- RelativeLayout.LayoutParams.WRAP_CONTENT
- )
+ val params =
+ FrameLayout.LayoutParams(
+ RelativeLayout.LayoutParams.WRAP_CONTENT,
+ RelativeLayout.LayoutParams.WRAP_CONTENT
+ )
params.gravity = Gravity.START or Gravity.CENTER
val view = EnFloatView(App.getContext())
@@ -166,7 +184,10 @@ object RockerManager {
return
}
- Log.d(TAG, "Changing location - Distance: ${distance}m, Angle: ${angle}°, Current: ${location.latitude}, ${location.longitude}")
+ Log.d(
+ TAG,
+ "Changing location - Distance: ${distance}m, Angle: ${angle}°, Current: ${location.latitude}, ${location.longitude}"
+ )
// Calculate new coordinates based on joystick input
val dx = distance * sin(angle * Math.PI / 180.0)
@@ -178,41 +199,41 @@ object RockerManager {
val newLng = (dx / ed + location.longitude * Math.PI / 180.0) * 180.0 / Math.PI
val newLat = (dy / ec + location.latitude * Math.PI / 180.0) * 180.0 / Math.PI
-
+
val newLocation = BLocation(newLat, newLng)
// Update the location
BLocationManager.get().setLocation(userId, packageName, newLocation)
-
+
Log.d(TAG, "Location updated - New: ${newLat}, ${newLng}")
-
} catch (e: Exception) {
Log.e(TAG, "Error changing location: ${e.message}")
Log.e(TAG, "Stack trace: ", e)
}
}
- /**
- * Check if RockerManager is currently initialized and active
- */
+ /** Check if RockerManager is currently initialized and active */
fun isActive(): Boolean {
return isInitialized
}
- /**
- * Check if required permissions are granted for RockerManager to work
- */
+ /** Check if required permissions are granted for RockerManager to work */
fun checkPermissions(context: Context): Boolean {
return try {
// Check if overlay permission is granted (required for floating view)
val hasOverlayPermission = android.provider.Settings.canDrawOverlays(context)
if (!hasOverlayPermission) {
- Log.w(TAG, "Overlay permission not granted - RockerManager cannot show floating view")
+ Log.w(
+ TAG,
+ "Overlay permission not granted - RockerManager cannot show floating view"
+ )
return false
}
// Check if location permissions are granted
- val hasLocationPermission = context.checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) == android.content.pm.PackageManager.PERMISSION_GRANTED
+ val hasLocationPermission =
+ context.checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) ==
+ android.content.pm.PackageManager.PERMISSION_GRANTED
if (!hasLocationPermission) {
Log.w(TAG, "Location permission not granted - RockerManager cannot access location")
return false
@@ -226,20 +247,16 @@ object RockerManager {
}
}
- /**
- * Get a list of required permissions for RockerManager
- */
+ /** Get a list of required permissions for RockerManager */
fun getRequiredPermissions(): List {
return listOf(
- android.Manifest.permission.SYSTEM_ALERT_WINDOW,
- android.Manifest.permission.ACCESS_FINE_LOCATION,
- android.Manifest.permission.ACCESS_COARSE_LOCATION
+ android.Manifest.permission.SYSTEM_ALERT_WINDOW,
+ android.Manifest.permission.ACCESS_FINE_LOCATION,
+ android.Manifest.permission.ACCESS_COARSE_LOCATION
)
}
- /**
- * Clean up resources (useful for testing or when disabling the feature)
- */
+ /** Clean up resources (useful for testing or when disabling the feature) */
fun cleanup() {
try {
isInitialized = false
@@ -248,4 +265,4 @@ object RockerManager {
Log.e(TAG, "Error during cleanup: ${e.message}")
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/top/niunaijun/blackboxa/biz/cache/AppSharedPreferenceDelegate.kt b/app/src/main/java/top/niunaijun/blackboxa/biz/cache/AppSharedPreferenceDelegate.kt
index f97b28e..0ef7878 100644
--- a/app/src/main/java/top/niunaijun/blackboxa/biz/cache/AppSharedPreferenceDelegate.kt
+++ b/app/src/main/java/top/niunaijun/blackboxa/biz/cache/AppSharedPreferenceDelegate.kt
@@ -8,20 +8,21 @@ import kotlin.reflect.KProperty
/**
* updated by alex5402 on 4/9/21.
- * * ∧_∧
- * (`・ω・∥
- * 丶 つ0
- * しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ * * ∧_∧ (`・ω・∥ 丶 つ0 しーJ
*/
-open class AppSharedPreferenceDelegate(context: Context, private val default: Data, spName: String? = null) : ReadWriteProperty {
+open class AppSharedPreferenceDelegate(
+ context: Context,
+ private val default: Data,
+ spName: String? = null
+) : ReadWriteProperty {
private val mSharedPreferences by lazy {
- val tmpCacheName = if (TextUtils.isEmpty(spName)) {
- AppSharedPreferenceDelegate::class.java.simpleName
- } else {
- spName
- }
+ val tmpCacheName =
+ if (TextUtils.isEmpty(spName)) {
+ AppSharedPreferenceDelegate::class.java.simpleName
+ } else {
+ spName
+ }
return@lazy context.getSharedPreferences(tmpCacheName, Context.MODE_PRIVATE)
}
@@ -35,14 +36,18 @@ open class AppSharedPreferenceDelegate(context: Context, private val defau
protected fun findData(key: String, default: Data): Data {
with(mSharedPreferences) {
- val result: Any = when (default) {
- is Int -> getInt(key, default)
- is Long -> getLong(key, default)
- is Float -> getFloat(key, default)
- is String -> getString(key, default)!!
- is Boolean -> getBoolean(key, default)
- else -> throw IllegalArgumentException("This type $default can not be saved into sharedPreferences")
- }
+ val result: Any =
+ when (default) {
+ is Int -> getInt(key, default)
+ is Long -> getLong(key, default)
+ is Float -> getFloat(key, default)
+ is String -> getString(key, default)!!
+ is Boolean -> getBoolean(key, default)
+ else ->
+ throw IllegalArgumentException(
+ "This type $default can not be saved into sharedPreferences"
+ )
+ }
return result as? Data ?: default
}
}
@@ -58,9 +63,12 @@ open class AppSharedPreferenceDelegate(context: Context, private val defau
is Float -> putFloat(key, value)
is String -> putString(key, value)
is Boolean -> putBoolean(key, value)
- else -> throw IllegalArgumentException("This type $default can not be saved into Preferences")
+ else ->
+ throw IllegalArgumentException(
+ "This type $default can not be saved into Preferences"
+ )
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/top/niunaijun/blackboxa/util/MemoryManager.kt b/app/src/main/java/top/niunaijun/blackboxa/util/MemoryManager.kt
index c228cfb..c4875cc 100644
--- a/app/src/main/java/top/niunaijun/blackboxa/util/MemoryManager.kt
+++ b/app/src/main/java/top/niunaijun/blackboxa/util/MemoryManager.kt
@@ -1,85 +1,72 @@
package top.niunaijun.blackboxa.util
-import android.app.ActivityManager
-import android.content.Context
import android.util.Log
import java.lang.Runtime
-/**
- * Memory management utility to prevent crashes during memory-intensive operations
- */
+/** Memory management utility to prevent crashes during memory-intensive operations */
/**
* created by alex5402 on 4/9/21.
- * * ∧_∧
- * (`・ω・∥
- * 丶 つ0
- * しーJ
- * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
+ * * ∧_∧ (`・ω・∥ 丶 つ0 しーJ
*/
object MemoryManager {
-
+
private const val TAG = "MemoryManager"
private const val MEMORY_THRESHOLD = 0.8 // 80% memory usage threshold
private const val CRITICAL_MEMORY_THRESHOLD = 0.9 // 90% memory usage threshold
-
- /**
- * Check if memory usage is within safe limits
- */
+
+ /** Check if memory usage is within safe limits */
fun isMemorySafe(): Boolean {
return try {
val runtime = Runtime.getRuntime()
val usedMemory = runtime.totalMemory() - runtime.freeMemory()
val maxMemory = runtime.maxMemory()
val memoryUsage = usedMemory.toDouble() / maxMemory.toDouble()
-
+
memoryUsage < MEMORY_THRESHOLD
} catch (e: Exception) {
Log.e(TAG, "Error checking memory: ${e.message}")
true // Assume safe if we can't check
}
}
-
- /**
- * Check if memory usage is critical
- */
+
+ /** Check if memory usage is critical */
fun isMemoryCritical(): Boolean {
return try {
val runtime = Runtime.getRuntime()
val usedMemory = runtime.totalMemory() - runtime.freeMemory()
val maxMemory = runtime.maxMemory()
val memoryUsage = usedMemory.toDouble() / maxMemory.toDouble()
-
+
memoryUsage > CRITICAL_MEMORY_THRESHOLD
} catch (e: Exception) {
Log.e(TAG, "Error checking critical memory: ${e.message}")
false // Assume not critical if we can't check
}
}
-
- /**
- * Get current memory usage percentage
- */
+
+ /** Get current memory usage percentage */
fun getMemoryUsagePercentage(): Int {
return try {
val runtime = Runtime.getRuntime()
val usedMemory = runtime.totalMemory() - runtime.freeMemory()
val maxMemory = runtime.maxMemory()
val memoryUsage = usedMemory.toDouble() / maxMemory.toDouble()
-
+
(memoryUsage * 100).toInt()
} catch (e: Exception) {
Log.e(TAG, "Error getting memory usage: ${e.message}")
0
}
}
-
- /**
- * Force garbage collection if memory usage is high
- */
+
+ /** Force garbage collection if memory usage is high */
fun forceGarbageCollectionIfNeeded(): Boolean {
return try {
if (isMemoryCritical()) {
- Log.w(TAG, "Memory usage critical (${getMemoryUsagePercentage()}%), forcing garbage collection")
+ Log.w(
+ TAG,
+ "Memory usage critical (${getMemoryUsagePercentage()}%), forcing garbage collection"
+ )
System.gc()
Thread.sleep(100) // Give GC time to work
true
@@ -91,20 +78,18 @@ object MemoryManager {
false
}
}
-
- /**
- * Optimize memory for RecyclerView operations
- */
+
+ /** Optimize memory for RecyclerView operations */
fun optimizeMemoryForRecyclerView() {
try {
val memoryUsage = getMemoryUsagePercentage()
-
+
if (memoryUsage > 70) {
Log.d(TAG, "Memory usage high (${memoryUsage}%), optimizing for RecyclerView")
-
+
// Force garbage collection
System.gc()
-
+
// Clear any caches if possible
try {
val runtime = Runtime.getRuntime()
@@ -117,10 +102,8 @@ object MemoryManager {
Log.e(TAG, "Error optimizing memory: ${e.message}")
}
}
-
- /**
- * Check if we should skip icon loading to save memory
- */
+
+ /** Check if we should skip icon loading to save memory */
fun shouldSkipIconLoading(): Boolean {
return try {
val memoryUsage = getMemoryUsagePercentage()
@@ -130,10 +113,8 @@ object MemoryManager {
false
}
}
-
- /**
- * Get memory info for debugging
- */
+
+ /** Get memory info for debugging */
fun getMemoryInfo(): String {
return try {
val runtime = Runtime.getRuntime()
@@ -141,7 +122,7 @@ object MemoryManager {
val freeMemory = runtime.freeMemory()
val usedMemory = totalMemory - freeMemory
val maxMemory = runtime.maxMemory()
-
+
"Memory: ${usedMemory / 1024 / 1024}MB used / ${maxMemory / 1024 / 1024}MB max (${getMemoryUsagePercentage()}%)"
} catch (e: Exception) {
"Memory: Unknown (${e.message})"
diff --git a/build.gradle b/build.gradle
index acffbae..873484b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,10 +7,11 @@ alias(libs.plugins.android.application) apply false
ext {
compileSdkVersion = 35
- targetSdkVersion = 34
+ targetSdkVersion = 28 // need for support more apps and gg don't change this
+// targetSdkVersion = 35
minSdk = 21
versionCode = 1
- versionName = "3.0.9-beta2"
+ versionName = "3.0.10-beta2"
xVersion = '1.1.0'
hiddenApiBypass = '4.3'
}
\ No newline at end of file