Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
avdroot — Получите root на эмуляторе Android Studio, пропатчив его ramdisk с помощью Magisk — на чистом Go. | Kitploit
Инструменты/GitHubGitHub/ejfkdev/avdroot
Безопасность AndroidПовышение привилегийВеб-прокси и перехватПентестинг мобильных приложенийОбратная инженерияТестирование на ПроникновениеМобильная безопасностьУтилиты и фреймворкиАнализ Бинарных Файлов
GitHubejfkdev/avdroot

avdroot

33815 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Получите root на эмуляторе Android Studio, пропатчив его ramdisk с помощью Magisk — на чистом Go.

Репозиторий

avdroot

Получите root на эмуляторе Android Studio, пропатчив его ramdisk с помощью Magisk — на чистом Go.

CI Release License: MIT Go version Platforms Built with ZCode

English · 简体中文


avdroot превращает AVD из холодного запуска в рабочую root-оболочку одной командой. Всё происходит на хосте: ramdisk распаковывается, перезаписывается так, чтобы init от Magisk заменил /init, и сжимается обратно. Для сборки образа не нужны ни shell-скрипт, ни busybox, ни magiskboot, ни выполнение кода внутри эмулятора.``` $ 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

## Содержание

- [Почему ещё один](#why-another-one)
- [Установка](#install)
- [Быстрый старт](#quick-start)
- [Команды](#commands)
- [Как это работает](#how-it-works)
- [Выбор релиза Magisk](#choose-a-magisk-release)
- [Ловушки, которые обрабатывает этот инструмент](#traps-this-tool-handles)
- [Перехват HTTPS из Chrome](#capturing-https-from-chrome)
- [Поддержка платформ](#platform-support)
- [Язык вывода](#output-language)
- [Разработка](#development)
- [Благодарности и лицензия](#credits-and-licence)

## Почему ещё один

[rootAVD](https://github.com/newbit1/rootAVD) был первопроходцем в этой области и до сих пор
является эталоном для данной техники, но он не поспевает за последними релизами Android и
Magisk. Запуск его против AVD с Android 17 наглядно демонстрирует проблемы,
и каждая из них здесь исправлена:

| Поведение rootAVD | avdroot |
|---|---|
| Требует `bash`, `busybox`, `unzip`, `xxd`, `strings`, `dd`, `cpio` и GNU `stat`/`sed` (которые отличаются на macOS) | Один статический бинарник Go. cpio, LZ4, gzip и xz реализованы внутри процесса |
| Копирует скрипт вместе с бинарниками в эмулятор и запускает себя там | Собирает образ полностью на хосте |
| Делает резервную копию `ramdisk.img` при каждом запуске, поэтому после первого патча «чистая» резервная копия сама оказывается пропатченной, и `restore` не может вернуть к исходному состоянию | Делает резервную копию один раз, никогда не перезаписывает и предупреждает, если существующая резервная копия оказывается пропатченной |
| Патчит под старую схему Magisk `magisk32`/`magisk64` | Реализует Magisk 26+ (`magiskinit`, `magisk`, `init-ld`, `.backup/.rmlist`) |
| Требует вставить путь к ramdisk в качестве аргумента | Обнаруживает SDK, AVD и образы, с `--sdk`/`--avd-home` для переопределения |
| Безусловно перезагружает и надеется | Принудительно выполняет холодную загрузку и проверяет, что `su` действительно возвращает `uid=0` |

## Установка

**Готовые бинарники** — возьмите архив для вашей платформы из
[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

Архивы для Windows и macOS содержат один исполняемый файл; в macOS может потребоваться снять атрибут карантина:```sh xattr -d com.apple.quarantine avdroot_darwin_arm64

Каждый релиз также публикует `SHA256SUMS.txt`:```sh
sha256sum -c SHA256SUMS.txt --ignore-missing

С Go (1.24 или новее):```sh go install github.com/ejfkdev/avdroot@latest

Go 1.24 — это минимальная версия, поскольку более ранние тулчейны не создают команду загрузки `LC_UUID`, и `dyld` в macOS 26 отказывается запускать такой бинарник. Go 1.21 и 1.22 также проставляют `minos 26.0`, поэтому они не проходят по обоим критериям.

**Из исходного кода:**```sh
git clone https://github.com/ejfkdev/avdroot
cd avdroot
make build          # host binary
make all            # every release target into dist/

Вам также понадобится Android SDK с adb и эмулятором, а также системный образ google_apis или AOSP. Образы Play Store нельзя рутировать таким способом: они отклоняют adb root, поэтому patch и root сразу их отвергают, а не завершаются ошибкой через несколько минут.

Быстрый старт```sh

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

Это всё. `root` не требует имени AVD, когда существует только один, запрашивает
подтверждение один раз и полностью пропускает вопрос, когда stdin не является терминалом:```sh
avdroot root Pixel_10_Pro_XL --yes     # named AVD, unattended

Если вы предпочитаете делать это по шагам:```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

Чтобы отменить:```sh
avdroot restore                # restores ramdisk.img.backup

Команды

КомандаОписание
avdroot root [target]Патч, перезапуск, установка, выдача su, проверка — без участия пользователя
avdroot patch [target]Патч только ramdisk; спрашивает перед записью
avdroot restore [target]Восстановление из ramdisk.img.backup
avdroot listAVD, системные образы и их статус патча
avdroot status [target]Подробности для одной цели, включая preinit-устройство
avdroot verify [target]Проверка, что Magisk запущен и su возвращает uid=0
avdroot installУстановка приложения Magisk в запущенный эмулятор
avdroot magisk infoКакой установщик будет использован и что он поддерживает
avdroot magisk fetchЗагрузка релиза (--list, --version, --prerelease)
avdroot trust-chromeЗаставить Chrome принять CA для перехвата (--cert, --clear)
avdroot doctorОбъяснить, как был найден каждый путь

Цель — это имя AVD, путь к системному образу или путь к ramdisk.img. avdroot <command> --help показывает примеры для каждой команды.

Глобальные флаги

Они применяются к каждой команде:

Скачать инструмент