メインコンテンツへスキップ

スタートガイド

GitHub

AIアシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:

ターミナル
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用します:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-is-root` plugin in my project.

手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:

ターミナル
bun add @capgo/capacitor-is-root
bunx cap sync
import { IsRoot } from '@capgo/capacitor-is-root';
import { IsRoot } from '@capgo/capacitor-is-root';
const { result } = await IsRoot.isRooted();
if (result) {
blockSensitiveFlow();
}

例: Androidエミュレータのシグナル

「例:Androidエミュレータのシグナル」セクション

エミュレータ検知はデフォルトでは isRooted()含まれていません。ポリシーで必要な場合は明示的に呼び出してください。

const { result } = await IsRoot.isRunningOnEmulator();
const checks = await Promise.all([
IsRoot.detectRootManagementApps(),
IsRoot.checkForSuBinary(),
]);
  • iOSシミュレータ:常に「脱獄なし」と報告されるため、実機でテストしてください。
  • 誤検知: ルート検知単体でアプリを強制終了させるのではなく、サーバーサイドのリスクスコアリングと組み合わせて使用してください。
  • Play ポリシー: ルート化されたユーザーをすべてブロックすると、ストアのカテゴリと競合する可能性があるため、UXをドキュメント化してください。

デフォルトのルート/脱獄検知チェックを実行します。

基本的なルート/脱獄検知に推奨される方法です。 プラットフォームごとに最も信頼性の高い検知ヒューリスティックを組み合わせて実行します。 AndroidとiOSの両方に対応しています。

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');
}

デフォルトの検知機能に BusyBox 特有のチェックを追加します(Android のみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBox();
console.log(result);

既知のルート管理アプリが存在するかどうかを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootManagementApps();
console.log(result);

ルート化されたデバイスによく見られる、潜在的に危険なアプリを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectPotentiallyDangerousApps();
console.log(result);

デバッグ用またはテスト用のビルドタグを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectTestKeys();
console.log(result);

デバイス上にBusyBoxバイナリが存在するかどうかを確認します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForBusyBoxBinary();
console.log(result);

バイナリが su 存在するか確認します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForSuBinary();
console.log(result);

バイナリが su 実行可能か検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkSuExists();
console.log(result);

書き込み可能なシステムパスを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRWPaths();
console.log(result);

危険なシステムプロパティを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForDangerousProps();
console.log(result);

RootBeerのネイティブチェックを実行します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRootNative();
console.log(result);

rootを隠蔽できるアプリを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootCloakingApps();
console.log(result);

SELinuxのenforcement状態を確認します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isSelinuxFlagInEnabled();
console.log(result);

OSイメージ上のテストビルドタグを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isExistBuildTags();
console.log(result);

superuser APKがインストールされているか検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.doesSuperuserApkExist();
console.log(result);

既知の su バイナリの場所を確認します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isExistSUPath();
console.log(result);

保護すべき書き込み可能なディレクトリを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkDirPermissions();
console.log(result);

実行します which su style コマンドで root 化を検知します(Android のみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkExecutingCommands();
console.log(result);

不審なインストール済みパッケージを検知します(Android のみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkInstalledPackages();
console.log(result);

改ざんされた OTA 証明書を検知します(Android のみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkforOverTheAirCertificates();
console.log(result);

一般的なエミュレータのフィンガープリントを検知します(Android のみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRunningOnEmulator();
console.log(result);

軽量なエミュレータチェックを実行します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckEmulator();
console.log(result);

x86エミュレータのフィンガープリントを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckSDKBF86();
console.log(result);

QCリファレンスフォンのビルドを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckQRREFPH();
console.log(result);

ビルドホストの異常を検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckBuild();
console.log(result);

Genymotionエミュレータのフィンガープリントを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGenymotion();
console.log(result);

汎用的なエミュレータのフィンガープリントを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGeneric();
console.log(result);

Google SDK エミュレータのフィンガープリントを検出します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGoogleSDK();
console.log(result);

検出時に収集されたデバイス情報を返します。

ルート検知プロセス中に収集された、デバイスに関する追加のコンテキストやメタデータを提供します。デバッグやログ出力に役立ちます。

import { IsRoot } from '@capgo/capacitor-is-root';
const deviceInfo = await IsRoot.togetDeviceInfo();
console.log('Device info:', deviceInfo);

エミュレータのヒューリスティックでデフォルトの検知を拡張します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithEmulator();
console.log(result);

BusyBox検知をエミュレータのヒューリスティックで拡張します(Androidのみ)。

import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBoxWithEmulator();
console.log(result);

ルート/脱獄検知メソッドが返す結果。

export interface DetectionResult {
/**
* `true` when the associated heuristic detects root/jailbreak artifacts.
* `false` when no root/jailbreak indicators are found.
*
* @since 1.0.0
*/
result: boolean;
}

検出時に収集されるデバイス情報。

export interface DeviceInfo {
/**
* Arbitrary key/value device metadata populated by the native implementation.
* Contents vary by platform and detection methods used.
*
* @since 1.0.0
*/
[key: string]: any;
}

このページはプラグインの src/definitions.tsから生成されています。upstream で公開 API が変更されたら、再度 sync を実行してください。

Getting Startedの続きを進める

「Getting Started からの続き」セクション

使用している場合 スタートガイド ダッシュボードと API の運用を計画するには、これを次と連携させます @capgo/capacitor-is-root の使用 「@capgo/capacitor-is-root の使用」のネイティブ機能については、 API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー および「API Keys」の実装の詳細については、 デバイス 実装の詳細については Devices を参照してください。