跳过至主要内容
@capgo/capacitor-is-root 认证与安全 开源

是否根 Capacitor 插件

检测根设备以增强应用安全性

安装

bun add @capgo/capacitor-is-root bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-is-root
  • pnpm add @capgo/capacitor-is-root
  • yarn add @capgo/capacitor-is-root

指南

如何在Capacitor中使用Is Root

在设备上测试

下载Capgo应用程序,然后扫描code中的二维码。

Is Root 插件预览二维码 code

使用 @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__

常见问题

Is Root 插件 FAQ

如何在 Capacitor 应用中安装 Is Root 插件?

Run "bun add @capgo/capacitor-is-root" (or "npm install @capgo/capacitor-is-root"), then run "bunx cap sync" so the iOS and Android projects pick up the native code. Import it from "@capgo/capacitor-is-root" in your app code.

@capgo/capacitor-is-root 与 React、Vue 和 Angular 是否兼容?

是的。Is Root 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

Which Capacitor version does @capgo/capacitor-is-root support?

Capgo 插件遵循 Capacitor 的主要版本:使用与 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

@capgo/capacitor-is-root 是否免费和开源?

是的。源代码 code 公开在 GitHub 上,https://github.com/Cap-go/capacitor-is-root/,并且该包可以从 npm 免费安装。欢迎 bug 报告和 pull 请求。

是否可以在不经过 App Store 审核的情况下更新使用 Is Root 的 code?

安装或升级插件会更改 native code,因此需要新建一个商店构建。之后,JavaScript、HTML 和 CSS 调用插件的更改可以立即通过 Capgo 实时更新发布。

在应用程序审查等待之前,立即将 Is Root 的更改推送到您的商店

一旦插件进入您的商店构建中,Capgo 即刻更新将推送您的 JavaScript、HTML 和 CSS 更改到用户中。

开始使用 Capgo