Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
avdroot — Effettua il root di un emulatore Android Studio applicando una patch al suo ramdisk con Magisk — in puro Go. | Kitploit
Strumenti/GitHubGitHub/ejfkdev/avdroot
Sicurezza AndroidEscalation di PrivilegiProxy Web e IntercettazionePentesting di App MobiliReverse EngineeringPenetration TestingSicurezza MobileUtilità e FrameworkAnalisi di Binari
GitHubejfkdev/avdroot

avdroot

Effettua il root di un emulatore Android Studio applicando una patch al suo ramdisk con Magisk — in puro Go.

33815 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

avdroot

Esegui il root di un emulatore Android Studio applicando una patch al suo ramdisk con Magisk — in puro Go.

CI Release License: MIT Go version Platforms Built with ZCode

English · 简体中文


avdroot porta un AVD da un avvio a freddo a una shell di root funzionante con un solo comando. Tutto avviene sull'host: il ramdisk viene decompresso, riscritto in modo che l'init di Magisk sostituisca /init, e ricompresso. La creazione dell'immagine non richiede alcuno script shell, nessun busybox, nessun magiskboot e nessuna esecuzione di codice all'interno dell'emulatore.``` $ avdroot root ==> Target Pixel_10_Pro_XL (the only AVD) ==> Preparing Magisk's environment Magisk's files are not unpacked yet; writing them for 31.0 now ok 14 files written for Magisk 31.0, before the restart that will use them ==> Patching preinit device: vdd1 (read from the running emulator) ==> Restarting the emulator booting cold, because a snapshot would restore the pre-patch ramdisk ==> Installing the Magisk app ok installed com.topjohnwu.magisk (Magisk 31.0) ==> Granting su to the adb shell ok uid 2000 allowed ==> Verifying root ok Magisk 31.0:MAGISK:R is running ok su grants root

root: uid=0(root) gid=0(root) groups=0(root) context=u:r:magisk:s0

## Indice

- [Perché un altro](#why-another-one)
- [Installazione](#install)
- [Avvio rapido](#quick-start)
- [Comandi](#commands)
- [Come funziona](#how-it-works)
- [Scegliere una release di Magisk](#choose-a-magisk-release)
- [Trappole gestite da questo strumento](#traps-this-tool-handles)
- [Catturare HTTPS da Chrome](#capturing-https-from-chrome)
- [Supporto piattaforme](#platform-support)
- [Lingua di output](#output-language)
- [Sviluppo](#development)
- [Crediti e licenza](#credits-and-licence)

## Perché un altro

[rootAVD](https://github.com/newbit1/rootAVD) è stato il pioniere di questa tecnica e rimane ancora il
riferimento, ma non si è tenuto al passo con le recenti release di Android e
Magisk. Eseguirlo su un AVD con Android 17 mostra chiaramente i problemi,
e ognuno di essi è risolto qui:

| comportamento di rootAVD | avdroot |
|---|---|
| Richiede `bash`, `busybox`, `unzip`, `xxd`, `strings`, `dd`, `cpio` e GNU `stat`/`sed` (che differiscono su macOS) | Un singolo binario Go statico. cpio, LZ4, gzip e xz sono tutti implementati in-process |
| Copia lo script più i binari nell'emulatore e si esegue al suo interno | Costruisce l'immagine interamente sull'host |
| Esegue il backup di `ramdisk.img` a ogni esecuzione, quindi dopo la prima patch il backup "pristine" è esso stesso patchato e `restore` non può tornare allo stato originale | Esegue il backup una sola volta, non lo sovrascrive mai e avvisa se un backup esistente risulta patchato |
| Applica la patch per il vecchio layout `magisk32`/`magisk64` di Magisk | Implementa Magisk 26+ (`magiskinit`, `magisk`, `init-ld`, `.backup/.rmlist`) |
| Richiede che il percorso del ramdisk venga incollato come argomento | Rileva l'SDK, gli AVD e le immagini, con `--sdk`/`--avd-home` per sovrascrivere |
| Riavvia incondizionatamente e spera | Forza un cold boot e verifica che `su` restituisca effettivamente `uid=0` |

## Installazione

**Binari precompilati** — prendi l'archivio per la tua piattaforma dalle
[Releases](https://github.com/ejfkdev/avdroot/releases):```sh
tar -xzf avdroot_linux_amd64.tar.gz
chmod +x avdroot_linux_amd64
sudo mv avdroot_linux_amd64 /usr/local/bin/avdroot

Gli archivi Windows e macOS contengono un singolo eseguibile; su macOS potrebbe essere necessario rimuovere l'attributo di quarantena:```sh xattr -d com.apple.quarantine avdroot_darwin_arm64

Ogni release pubblica anche `SHA256SUMS.txt`:```sh
sha256sum -c SHA256SUMS.txt --ignore-missing

Con Go (1.24 o successivo):```sh go install github.com/ejfkdev/avdroot@latest

Go 1.24 è il minimo perché le toolchain precedenti non emettono alcun comando di caricamento `LC_UUID`,
e il `dyld` di macOS 26 rifiuta di avviare un simile binario. Anche Go 1.21 e 1.22 marcano
`minos 26.0`, quindi falliscono su entrambi i fronti.

**Dal sorgente:**```sh
git clone https://github.com/ejfkdev/avdroot
cd avdroot
make build          # host binary
make all            # every release target into dist/

Hai inoltre bisogno di un Android SDK con adb e l'emulatore, e un'immagine di sistema google_apis o AOSP. Le immagini del Play Store non possono essere rootate in questo modo: rifiutano adb root, quindi patch e root le rifiutano immediatamente invece di fallire diversi minuti dopo.

Avvio rapido```sh

avdroot list # what exists, and what state it is in avdroot root # patch, restart, install the app, grant su, verify

That è tutto. `root` non necessita di un nome AVD quando ne esiste solo uno, chiede
conferma una volta sola e salta del tutto la domanda quando stdin non è un terminale:```sh
avdroot root Pixel_10_Pro_XL --yes     # named AVD, unattended

Se preferisci farlo per passaggi:```sh avdroot patch # patch only; the emulator need not be running avdroot patch --dry-run # show what would change, write nothing

restart the emulator yourself, then

avdroot install && avdroot verify

Per annullare:```sh
avdroot restore                # restores ramdisk.img.backup

Comandi

ComandoDescrizione
avdroot root [target]Applica la patch, riavvia, installa, concede su, verifica — senza interazione
avdroot patch [target]Applica la patch solo al ramdisk; chiede prima di scrivere
avdroot restore [target]Ripristina da ramdisk.img.backup
avdroot listAVD, immagini di sistema e il loro stato di patch
avdroot status [target]Dettagli per un target, incluso il dispositivo preinit
avdroot verify [target]Verifica che Magisk sia in esecuzione e che su restituisca uid=0
avdroot installInstalla l'app Magisk nell'emulatore in esecuzione
avdroot magisk infoQuale installer verrebbe usato e cosa supporta
avdroot magisk fetchScarica una release (--list, --version, --prerelease)
avdroot trust-chromeFa accettare a Chrome una CA di intercettazione (--cert, --clear)
avdroot doctorSpiega come è stato individuato ogni percorso

Un target è un nome di AVD, un percorso di un'immagine di sistema o un percorso a un ramdisk.img. avdroot <command> --help mostra esempi per ciascuno.

Flag globali

Si applicano a ogni comando:

Scarica lo strumento