Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-is-root`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/is-root/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installieren
Abschnitt „Installation“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:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze 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:
bun add @capgo/capacitor-is-rootbunx cap syncImportieren
Abschnitt mit dem Titel „Import“import { IsRoot } from '@capgo/capacitor-is-root';Quickstart
Abschnitt „Quick start“import { IsRoot } from '@capgo/capacitor-is-root';
const { result } = await IsRoot.isRooted();if (result) { blockSensitiveFlow();}Beispiel: Android-Emulator-Signal
Abschnitt: „Beispiel: Android-Emulator-Signal“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(),]);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- 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.
API Übersicht
Abschnitt „API Übersicht“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');}isRootedWithBusyBox
Abschnitt mit dem Titel „isRootedWithBusyBox“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);detectRootManagementApps
Abschnitt „detectRootManagementApps“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);detectPotentiallyDangerousApps
Abschnitt „detectPotentiallyDangerousApps“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);detectTestKeys
Abschnitt „detectTestKeys“Erkennt Debug-/Test-Build-Tags (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectTestKeys();console.log(result);checkForBusyBoxBinary
Abschnitt „checkForBusyBoxBinary“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);checkForSuBinary
Abschnitt „checkForSuBinary“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);checkSuExists
Abschnitt „checkSuExists“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);checkForRWPaths
Abschnitt „checkForRWPaths“Erkennt systemweite beschreibbare Pfade (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRWPaths();console.log(result);checkForDangerousProps
Abschnitt „checkForDangerousProps“Erkennt gefährliche Systemeigenschaften (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForDangerousProps();console.log(result);checkForRootNative
Abschnitt mit dem Titel „checkForRootNative“Führt native RootBeer-Checks aus (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRootNative();console.log(result);detectRootCloakingApps
Abschnitt mit dem Titel „detectRootCloakingApps“Erkennt Apps, die Root verbergen können (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootCloakingApps();console.log(result);isSelinuxFlagInEnabled
Abschnitt mit dem Titel „isSelinuxFlagInEnabled“Prüft den SELinux-Enforcement-Status (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isSelinuxFlagInEnabled();console.log(result);isExistBuildTags
Abschnitt mit dem Titel „isExistBuildTags“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);doesSuperuserApkExist
Abschnitt mit dem Titel „doesSuperuserApkExist“Prüft, ob Superuser-APKs installiert sind (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.doesSuperuserApkExist();console.log(result);isExistSUPath
Abschnitt mit dem Titel „isExistSUPath“Prüft bekannte su Binary-Pfade (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isExistSUPath();console.log(result);checkDirPermissions
Abschnitt mit dem Titel „checkDirPermissions“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);checkExecutingCommands
Abschnitt „checkExecutingCommands“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);checkInstalledPackages
Abschnitt „checkInstalledPackages“Erkennt verdächtige installierte Pakete (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkInstalledPackages();console.log(result);checkforOverTheAirCertificates
Abschnitt „checkforOverTheAirCertificates“Erkennt manipulierte OTA-Zertifikate (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkforOverTheAirCertificates();console.log(result);isRunningOnEmulator
Abschnitt „isRunningOnEmulator“Erkennt gängige Emulator-Fingerprints (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRunningOnEmulator();console.log(result);simpleCheckEmulator
Abschnitt „simpleCheckEmulator“Führt einen leichtgewichtigen Emulator-Check durch (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckEmulator();console.log(result);simpleCheckSDKBF86
Abschnitt „simpleCheckSDKBF86“Erkennt x86-Emulator-Fingerprints (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckSDKBF86();console.log(result);simpleCheckQRREFPH
Abschnitt „simpleCheckQRREFPH“Erkennt QC-Referenz-Phone-Builds (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckQRREFPH();console.log(result);simpleCheckBuild
Abschnitt „simpleCheckBuild“Erkennt Anomalien beim Build-Host (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckBuild();console.log(result);checkGenymotion
Abschnitt „checkGenymotion“Erkennt Genymotion-Emulator-Fingerprints (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGenymotion();console.log(result);checkGeneric
Abschnitt „checkGeneric“Erkennt generische Emulator-Fingerprints (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGeneric();console.log(result);checkGoogleSDK
Abschnitt „checkGoogleSDK“Erkennt Google SDK Emulator-Fingerprints (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGoogleSDK();console.log(result);togetDeviceInfo
Abschnitt „togetDeviceInfo“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);isRootedWithEmulator
Abschnitt mit dem Titel „isRootedWithEmulator“Erweitert die Standard-Detection um Emulator-Heuristiken (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithEmulator();console.log(result);isRootedWithBusyBoxWithEmulator
Abschnitt mit dem Titel „isRootedWithBusyBoxWithEmulator“Erweitert die BusyBox-Detection um Emulator-Heuristiken (nur Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBoxWithEmulator();console.log(result);Typreferenz
Abschnitt mit dem Titel „Typreferenz“DetectionResult
Abschnitt mit dem Titel „DetectionResult“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;}DeviceInfo
Abschnitt „DeviceInfo“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;}Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“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.