Zum Inhalt springen

Erste Schritte

GitHub

Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:

Terminalfenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Nutze dann diesen Prompt:

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

Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:

Terminalfenster
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();
}

Die Emulator-Erkennung ist nicht standardmäßig isRooted()aktiviert. Rufe sie explizit auf, wenn die Policy es erfordert.

const { result } = await IsRoot.isRunningOnEmulator();

Beispiel: tiefergehendes Android-Audit

Abschnitt: „Beispiel: tiefergehende Android-Prüfung“
const checks = await Promise.all([
IsRoot.detectRootManagementApps(),
IsRoot.checkForSuBinary(),
]);
  • iOS-Simulatormeldet immer „nicht jailbroken“; teste auf einem echten Gerät.
  • False Positives: Kombiniere Root-Checks mit serverseitigem Risk Scoring, statt dich nur auf harte Abstürze zu verlassen.
  • Play Policy: Das Blockieren aller gerooteten Nutzer kann im Konflikt mit deiner Store-Kategorie stehen; dokumentiere die UX.

Führt die Standard-Checks zur Root-/Jailbreak-Erkennung durch.

Dies ist die empfohlene Methode für eine grundlegende Root-/Jailbreak-Erkennung. Sie nutzt eine Kombination der zuverlässigsten Erkennungs-Heuristiken der jeweiligen Plattform. Funktioniert sowohl auf Android als auch auf 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');
}

Erweitert die Standard-Erkennung um BusyBox-spezifische Checks (nur Android).

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

Prüft, ob bekannte Root-Management-Apps installiert sind (nur Android).

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

Erkennt potenziell gefährliche Apps, die häufig auf gerooteten Geräten vorkommen (nur Android).

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

Erkennt Debug-/Test-Build-Tags (nur Android).

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

Prüft, ob eine BusyBox-Binary auf dem Gerät vorhanden ist (nur Android).

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

Prüft, ob eine su Binary vorhanden ist (nur Android).

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

Erkennt, ob die su Binary ausführbar ist (nur Android).

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

Erkennt systemweite beschreibbare Pfade (nur Android).

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

Erkennt gefährliche Systemeigenschaften (nur Android).

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

Führt native RootBeer-Checks aus (nur Android).

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

Erkennt Apps, die Root verbergen können (nur Android).

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

Prüft den SELinux-Enforcement-Status (nur Android).

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

Erkennt Test-Build-Tags auf dem OS-Image (nur Android).

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

Prüft, ob Superuser-APKs installiert sind (nur Android).

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

Prüft bekannte su Binary-Pfade (nur Android).

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

Erkennt beschreibbare Verzeichnisse, die geschützt werden sollten (nur Android).

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

Führt which su Befehle aus, um Root zu erkennen (nur Android).

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

Erkennt verdächtige installierte Pakete (nur Android).

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

Erkennt manipulierte OTA-Zertifikate (nur Android).

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

Erkennt gängige Emulator-Fingerprints (nur Android).

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

Führt einen leichtgewichtigen Emulator-Check durch (nur Android).

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

Erkennt x86-Emulator-Fingerprints (nur Android).

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

Erkennt QC-Referenz-Phone-Builds (nur Android).

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

Erkennt Anomalien beim Build-Host (nur Android).

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

Erkennt Genymotion-Emulator-Fingerprints (nur Android).

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

Erkennt generische Emulator-Fingerprints (nur Android).

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

Erkennt Google SDK Emulator-Fingerprints (nur Android).

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

Gibt die während der Erkennung gesammelten Geräteinformationen zurück.

Liefert zusätzlichen Kontext und Metadaten über das Gerät, die während des Root-Detection-Prozesses gesammelt wurden. Hilfreich für Debugging und Logging.

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

Erweitert die Standard-Detection um Emulator-Heuristiken (nur Android).

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

Erweitert die BusyBox-Detection um Emulator-Heuristiken (nur Android).

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

Das von den Root-/Jailbreak-Detection-Methoden zurückgegebene Ergebnis.

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

Während der Erkennung gesammelte Geräteinformationen.

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

Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.

Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit Verwendung von @capgo/capacitor-is-root für die native Funktion in Verwendung von @capgo/capacitor-is-root, API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für das Implementierungsdetail in API Keys und Geräte für das Implementierungsdetail in Devices.