使用 @capgo/capacitor-is-root
Capacitor 根据 Android 设备是否被 ROOT 化或 iOS 设备是否被越狱来检测
安装
bun add @capgo/capacitor-is-root
bunx cap sync
bunx cap sync 将插件的本机 code 复制到您的本机项目中。每次升级插件后都需要重新运行它。
导入
import { IsRoot } from '@capgo/capacitor-is-root';
API 的概览
| 方法 | 简介 |
|---|---|
isRooted |
执行默认的root/jailbreak检测检查。 |
isRootedWithBusyBox |
扩展默认检测,包含BusyBox特定检查(仅限Android)。 |
detectRootManagementApps |
检测已知的root管理应用程序(仅限Android)。 |
detectPotentiallyDangerousApps |
检测常见于root设备上的危险应用程序(仅限Android)。 |
detectTestKeys |
检测Android设备上的debug/test构建标签。 |
checkForBusyBoxBinary |
检查设备上是否存在BusyBox二进制文件(仅限Android)。 |
checkForSuBinary |
检查设备上是否存在 su 二进制文件(仅限Android)。 |
checkSuExists |
检查设备上是否存在 su 二进制文件并且可以执行(仅限Android)。 |
checkForRWPaths |
检测Android设备上的世界可写系统路径。 |
checkForDangerousProps |
检测危险的系统属性 (仅限 Android )。 |
checkForRootNative |
执行 RootBeer 原生检查 (仅限 Android )。 |
detectRootCloakingApps |
检测可以隐藏 root 的应用程序 (仅限 Android )。 |
isSelinuxFlagInEnabled |
检查 SELinux 强制执行状态 (仅限 Android )。 |
isExistBuildTags |
检测 OS 镜像上的测试构建标签 (仅限 Android )。 |
doesSuperuserApkExist |
检测是否安装了超级用户 APK (仅限 Android )。 |
isExistSUPath |
检查已知的 su 二进制位置 (仅限 Android )。 |
checkDirPermissions |
检测应该保护的可写目录 (仅限 Android )。 |
checkExecutingCommands |
执行 which su 样式命令以检测 root (仅限 Android )。 |
checkInstalledPackages |
检测可疑的安装包 (仅限 Android )。 |
checkforOverTheAirCertificates |
检测 Android 设备 OTA 证书是否被篡改。 |
isRunningOnEmulator |
检测常见的 Android 模拟器指纹。 |
simpleCheckEmulator |
轻量级检测 Android 设备是否为模拟器 (仅限 Android)。 |
simpleCheckSDKBF86 |
检测 x86 模拟器指纹 (仅限 Android)。 |
simpleCheckQRREFPH |
检测 Android 设备是否为 QC 参考手机 (仅限 Android)。 |
simpleCheckBuild |
检测 Android 设备构建主机异常 (仅限 Android)。 |
checkGenymotion |
检测 Genymotion 模拟器指纹 (仅限 Android)。 |
checkGeneric |
检测通用模拟器指纹 (仅限 Android)。 |
checkGoogleSDK |
检测 Google SDK 模拟器指纹 (仅限 Android)。 |
togetDeviceInfo |
返回检测过程中收集的设备信息。 |
isRootedWithEmulator |
扩展默认检测模拟器策略 (仅限 Android)。 |
isRootedWithBusyBoxWithEmulator |
扩展 BusyBox 检测模拟器策略 (仅限 Android)。 |
示例
isRooted()
执行默认的root/jailbreak检测检查。
import { IsRoot } from '@capgo/capacitor-is-root';
const { result } = await IsRoot.isRooted();
if (result) {
console.log('Device is rooted/jailbroken');
} else {
console.log('Device is not rooted/jailbroken');
}
isRootedWithBusyBox()
扩展了默认检测,包括BusyBox特定检查(仅限Android)。
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBox();
console.log(result);
detectRootManagementApps()
检测是否存在已知的root管理应用程序(仅限Android)。
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootManagementApps();
console.log(result);
detectPotentiallyDangerousApps()
检测常见于root设备上的危险应用程序(仅限Android)。
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectPotentiallyDangerousApps();
console.log(result);
detectTestKeys()
检测调试/测试构建标签(仅限Android)。
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectTestKeys();
console.log(result);
checkForBusyBoxBinary()
检查设备上是否存在BusyBox二进制文件(仅限Android)。
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForBusyBoxBinary();
console.log(result);
上表列出了31个核心方法。监听器和版本辅助函数,以及每个方法的完整契约,均在__CAPGO_KEEP_0__仓库中文档化。 GitHub 仓库.
文档
从使用@capgo/capacitor-is-root继续
如果您正在使用 使用@capgo/capacitor-is-root 以规划原生插件工作,连接它与 @capgo/capacitor-is-root 以获取@capgo/capacitor-is-root中的实现细节 开始 获取@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-is-root中的实现细节 Capgo插件目录 获取Capgo插件目录中的产品工作流程 Capacitor由Capgo提供的插件 为 Capacitor 插件的实现细节提供 Capgo 添加或更新插件 为添加或更新插件的实现细节提供 __CAPGO_KEEP_0__