Langsung ke konten

Panduan Memulai

GitHub

Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:

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

Lalu gunakan prompt berikut:

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

Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:

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

Deteksi emulator bukan bagian dari default isRooted(). Panggil secara eksplisit jika kebijakan membutuhkannya.

const { result } = await IsRoot.isRunningOnEmulator();
const checks = await Promise.all([
IsRoot.detectRootManagementApps(),
IsRoot.checkForSuBinary(),
]);
  • Simulator iOS: selalu melaporkan tidak jailbroken, tes di perangkat asli.
  • False positive: kombinasikan pengecekan root dengan server-side risk scoring, jangan hanya mengandalkan hard crash.
  • Kebijakan Play: memblokir semua user yang sudah di-root bisa bentrok dengan kategori store Anda, dokumentasikan UX-nya.

Menjalankan pengecekan deteksi root/jailbreak standar.

Ini adalah metode yang direkomendasikan untuk deteksi root/jailbreak dasar. Metode ini menjalankan kombinasi heuristik deteksi paling andal untuk platform tersebut. Berjalan di Android maupun 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');
}

Memperluas deteksi standar dengan pengecekan spesifik BusyBox (khusus Android).

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

Mendeteksi apakah aplikasi manajemen root yang dikenal tersedia (hanya Android).

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

Mendeteksi aplikasi berbahaya yang umum ditemukan pada perangkat rooted (hanya Android).

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

Mendeteksi tag build debug/test (hanya Android).

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

Memeriksa apakah binary BusyBox ada di perangkat (hanya Android).

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

Memeriksa apakah su binary tersedia (hanya Android).

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

Mendeteksi apakah su binary dapat dieksekusi (hanya Android).

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

Mendeteksi path sistem yang world writable (hanya Android).

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

Mendeteksi properti sistem yang berbahaya (khusus Android).

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

Menjalankan pengecekan native RootBeer (khusus Android).

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

Mendeteksi aplikasi yang bisa menyembunyikan root (khusus Android).

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

Memeriksa status penegakan SELinux (khusus Android).

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

Mendeteksi tag build test pada image OS (hanya Android).

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

Mendeteksi apakah APK superuser terinstal (hanya Android).

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

Memeriksa lokasi su binary yang dikenal (hanya Android).

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

Mendeteksi direktori writable yang harus dilindungi (hanya Android).

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

Mengeksekusi which su modifikasi command untuk mendeteksi root (khusus Android).

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

Mendeteksi package terinstal yang mencurigakan (khusus Android).

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

Mendeteksi sertifikat OTA yang telah dimodifikasi (khusus Android).

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

Mendeteksi fingerprint emulator yang umum (khusus Android).

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

Melakukan pengecekan emulator ringan (khusus Android).

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

Mendeteksi fingerprint emulator x86 (khusus Android).

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

Mendeteksi build QC reference phone (khusus Android).

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

Mendeteksi anomali build host (khusus Android).

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

Mendeteksi fingerprint emulator Genymotion (hanya Android).

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

Mendeteksi fingerprint emulator generik (hanya Android).

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

Mendeteksi fingerprint emulator Google SDK (hanya Android).

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

Mengembalikan informasi perangkat yang dikumpulkan saat deteksi.

Menyediakan konteks dan metadata tambahan mengenai perangkat yang dikutip selama proses deteksi root. Berguna untuk keperluan debugging dan logging.

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

Memperluas deteksi default dengan heuristik emulator (hanya Android).

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

Memperluas deteksi BusyBox dengan heuristik emulator (hanya Android).

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

Hasil yang dikembalikan oleh metode deteksi 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;
}

Informasi perangkat yang dikumpulkan saat deteksi.

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

Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.

Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-is-root untuk kapabilitas native di Using @capgo/capacitor-is-root, Ringkasan API untuk detail implementasi di API Overview, Pendahuluan untuk detail implementasi di Introduction, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Devices.