Saltar al contenido

Primeros pasos

GitHub

Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:

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

Luego usa el siguiente prompt:

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

Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:

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

La detección de emuladores no viene por defecto isRooted(). Llámala explícitamente cuando la política lo requiera.

const { result } = await IsRoot.isRunningOnEmulator();
const checks = await Promise.all([
IsRoot.detectRootManagementApps(),
IsRoot.checkForSuBinary(),
]);
  • Simulador de iOS: siempre reporta que no tiene jailbreak, prueba en un dispositivo real.
  • Falsos positivosCombina las comprobaciones de root con un scoring de riesgo en el servidor, no solo con cierres forzados.
  • Política de Play: bloquear a todos los usuarios con root puede entrar en conflicto con tu categoría en la tienda; documenta la UX.

Realiza las comprobaciones de detección de root/jailbreak por defecto.

Este es el método recomendado para una detección básica de root/jailbreak. Ejecuta una combinación de las heurísticas de detección más fiables para la plataforma. Funciona tanto en Android como en 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');
}

Extiende la detección por defecto con comprobaciones específicas de BusyBox (solo Android).

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

Detecta si hay aplicaciones de gestión de root conocidas (solo Android).

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

Detecta aplicaciones potencialmente peligrosas comunes en dispositivos con root (solo Android).

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

Detecta etiquetas de build de debug/test (solo Android).

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

Comprueba si existe un binario de BusyBox en el dispositivo (solo Android).

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

Comprueba si el su binario está presente (solo Android).

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

Detecta si el su binario se puede ejecutar (solo Android).

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

Detecta rutas del sistema con permisos de escritura (solo Android).

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

Detecta propiedades peligrosas del sistema (solo Android).

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

Ejecuta comprobaciones nativas de RootBeer (solo Android).

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

Detecta aplicaciones que pueden ocultar el root (solo Android).

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

Comprueba si SELinux está en modo enforcing (solo Android).

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

Detecta etiquetas de build de prueba en la imagen del SO (solo Android).

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

Detecta si hay APKs de superusuario instaladas (solo Android).

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

Busca ubicaciones de su binarios conocidos (solo Android).

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

Detecta directorios escribibles que deberían protegerse (solo Android).

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

Ejecuta which su comandos de estilo para detectar root (solo Android).

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

Detecta paquetes instalados sospechosos (solo Android).

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

Detecta certificados OTA manipulados (solo Android).

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

Detecta huellas comunes de emuladores (solo Android).

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

Realiza una comprobación ligera de emuladores (solo Android).

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

Detecta huellas de emuladores x86 (solo Android).

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

Detecta builds de teléfonos de referencia QC (solo Android).

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

Detecta anomalías en el host de build (solo Android).

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

Detecta huellas de emuladores Genymotion (solo Android).

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

Detecta huellas de emuladores genéricos (solo Android).

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

Detecta huellas de emuladores SDK de Google (solo Android).

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

Devuelve la información del dispositivo recolectada durante la detección.

Proporciona contexto y metadatos adicionales del dispositivo gathered durante el proceso de detección de root. Útil para debugging y logs.

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

Extiende la detección por defecto con heurística de emuladores (solo Android).

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

Extiende la detección de BusyBox con heurística de emuladores (solo Android).

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

Resultado devuelto por los métodos de detección 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;
}

Información del dispositivo recopilada durante la detección.

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

Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.

Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Uso de @capgo/capacitor-is-root para la capacidad nativa al usar @capgo/capacitor-is-root, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.