Aller au contenu

Premiers pas

GitHub

Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Utilisez ensuite le prompt suivant :

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

Si vous préférez la configuration manuelle, installez le plugin avec les commandes suivantes, puis suivez les instructions spécifiques à chaque plateforme ci-dessous :

Fenêtre de terminal
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();
}

Emulator detection is not part of default isRooted(). Appelez-l’explicitement lorsque votre politique l'exige.

const { result } = await IsRoot.isRunningOnEmulator();
const checks = await Promise.all([
IsRoot.detectRootManagementApps(),
IsRoot.checkForSuBinary(),
]);
  • Simulateur iOS: indique toujours qu'il n'est pas jailbroken, testez sur un appareil.
  • Faux positifsassociez les vérifications de root avec un scoring de risque côté serveur, plutôt que de simples plantages.
  • Politique de jeu: bloquer tous les utilisateurs rootés peut entrer en conflit avec votre catégorie sur le store, documentez l'UX.

Effectue les vérifications par défaut de détection de root/jailbreak.

C'est la méthode recommandée pour une détection de base du root/jailbreak. Elle utilise une combinaison des heuristiques de détection les plus fiables pour la plateforme. Fonctionne sur Android et 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');
}

Étend la détection par défaut avec des vérifications spécifiques à BusyBox (Android uniquement).

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

Détecte la présence d'applications de gestion de root connues (Android uniquement).

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

Détecte les applications potentiellement dangereuses couramment trouvées sur les appareils rootés (Android uniquement).

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

Détecte les tags de build de debug/test (Android uniquement).

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

Vérifie si un binaire BusyBox est présent sur l'appareil (Android uniquement).

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

Vérifie si le su binaire est présent (Android uniquement).

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

Détecte si le su binaire peut être exécuté (Android uniquement).

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

Détecte les chemins système accessibles en écriture (Android uniquement).

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

Détecte les propriétés système dangereuses (Android uniquement).

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

Exécute les vérifications natives RootBeer (Android uniquement).

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

Détecte les applications capables de masquer le root (Android uniquement).

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

Vérifie l'état d'enforcement de SELinux (Android uniquement).

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

Détecte les tags de build de test sur l'image de l'OS (Android uniquement).

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

Détecte si des APK superuser sont installés (Android uniquement).

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

Vérifie les éléments connus su emplacements binaires connus (Android uniquement).

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

Détecte les répertoires accessibles en écriture qui devraient être protégés (Android uniquement).

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

Exécute des which su commandes de ce style pour détecter le root (Android uniquement).

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

Détecte les packages installés suspects (Android uniquement).

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

Détecte les certificats OTA altérés (Android uniquement).

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

Détecte les empreintes d'émulateurs courants (Android uniquement).

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

Effectue une vérification légère de l'émulateur (Android uniquement).

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

Détecte les empreintes d'émulateurs x86 (Android uniquement).

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

Détecte les builds de téléphones de référence QC (Android uniquement).

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

Détecte les anomalies de l'hôte de build (Android uniquement).

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

Détecte les empreintes de l'émulateur Genymotion (Android uniquement).

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

Détecte les empreintes d'émulateurs génériques (Android uniquement).

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

Détecte les empreintes de l'émulateur Google SDK (Android uniquement).

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

Renvoie les informations de l'appareil collectées lors de la détection.

Fournit un contexte et des métadonnées supplémentaires sur l'appareil collectés lors du processus de détection du root. Utile pour le débogage et les logs.

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

Étend la détection par défaut avec des heuristiques d'émulateur (Android uniquement).

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

Étend la détection BusyBox avec des heuristiques d'émulateur (Android uniquement).

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

Résultat renvoyé par les méthodes de détection de root/jailbreak.

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

Informations sur l'appareil collectées lors de la détection.

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

Cette page est générée à partir du src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.

Si vous utilisez Premiers pas pour planifier les opérations du dashboard et de API, connectez-l’à Utilisation de @capgo/capacitor-is-root pour la capacité native dans l'utilisation de @capgo/capacitor-is-root, Aperçu de API pour les détails d'implémentation dans l'aperçu de API, Introduction pour les détails d'implémentation dans l'Introduction, Clés API pour les détails d'implémentation dans les clés API, et Appareils pour le détail d’implémentation dans Devices.