
Содержание
1. Введение: Практический опыт получения root для форензики
2. Архитектура Android и загрузка: понимание системы
3. Подготовка среды: установка инструментов
4. Разблокировка bootloader: пошаговая инструкция
5. Установка Magisk: современный метод получения root
6. Альтернативные методы: SuperSU, KingRoot, TWRP
7. Извлечение данных через ADB: полные команды
8. Работа с разделами: извлечение системных данных
9. Извлечение приложений и данных: практические примеры
10. Работа с зашифрованными устройствами: обход защиты
11. Специфика различных производителей: Samsung, Xiaomi, Huawei
12. Типичные ошибки и их решение
13. FAQ: Часто задаваемые вопросы
Введение: Практический опыт получения root для форензики
Получение root доступа на Android устройствах - критически важная задача в цифровой криминалистике. Без root прав невозможно извлечь полный набор данных: системные логи, удаленные файлы, данные приложений с ограниченным доступом, полные резервные копии.
В практике расследований сталкивался с ситуациями, когда стандартные методы извлечения данных (ADB без root, физическое извлечение через Cellebrite) не давали доступа к критически важной информации. Получение root доступа позволяло извлечь полные логи мессенджеров, историю браузера, удаленные фотографии из кэша приложений.
Основная проблема - разнообразие Android устройств и версий системы. Каждый производитель использует свои механизмы защиты, разные версии Android имеют различные уязвимости. Современные устройства с Android 10+ и зашифрованными разделами требуют специфических подходов.
В этом руководстве покажу конкретные методы получения root доступа для различных устройств, полные команды ADB и Fastboot, работу с Magisk и альтернативными инструментами, извлечение данных после получения root. Все примеры проверены на практике и работают в реальных условиях расследований.
Архитектура Android и загрузка: понимание системы
Структура загрузки Android:
1. Bootloader: Первичный загрузчик, проверяет подпись загрузочных образов
2. Kernel: Ядро Linux, загружается из раздела boot
3. Init Process: Первый процесс пользовательского пространства
4. Zygote: Процесс, создающий новые процессы приложений
5. System Server: Системные сервисы Android
Разделы Android устройства:
bash
<h2 id="prosmotr-razdelov-cherez-adb">Просмотр разделов через ADB</h2>
adb shell
ls -l /dev/block/platform/*/by-name/
<h2 id="tipichnye-razdely">Типичные разделы:</h2>
<h2 id="boot-yadro-i-initramfs">boot - ядро и initramfs</h2>
<h2 id="system-sistemnye-fayly">system - системные файлы</h2>
<h2 id="userdata-polzovatelskie-dannye">userdata - пользовательские данные</h2>
<h2 id="recovery-razdel-vosstanovleniya">recovery - раздел восстановления</h2>
<h2 id="cache-kesh-sistemy">cache - кэш системы</h2>Уровни доступа:
- User: Обычный пользователь, ограниченные права
- Root (UID 0): Полный доступ к системе, может читать/писать любые файлы
- SELinux: Дополнительная защита, ограничивает даже root доступ
Типы root доступа:
1. Temporary Root: Временный root, теряется после перезагрузки
2. Permanent Root: Постоянный root через установку su бинарника
3. Systemless Root: Root без изменения системного раздела (Magisk)
Подготовка среды: установка инструментов
Установка Android SDK Platform Tools
Linux (Ubuntu/Debian):
bash
<h2 id="ustanovka-cherez-paketnyy-menedzher">Установка через пакетный менеджер</h2>
apt update
apt install -y android-tools-adb android-tools-fastboot
<h2 id="ili-ustanovka-posledney-versii-vruchnuyu">Или установка последней версии вручную</h2>
cd /tmp
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip
sudo mv platform-tools /opt/
sudo ln -s /opt/platform-tools/adb /usr/local/bin/adb
sudo ln -s /opt/platform-tools/fastboot /usr/local/bin/fastboot
<h2 id="proverka-versii">Проверка версии</h2>
adb version
fastboot --version
Windows:
powershell
<h2 id="skachat-platform-tools-s-ofitsialnogo-sayta-google">Скачать Platform Tools с официального сайта Google</h2>
<h2 id="https-developer-android-com-studio-releases-platform-tools">https://developer.android.com/studio/releases/platform-tools</h2>
<h2 id="raspakovat-v-c-platform-tools">Распаковать в C:\platform-tools</h2>
<h2 id="dobavit-v-path-c-platform-tools">Добавить в PATH: C:\platform-tools</h2>
<h2 id="proverka">Проверка</h2>
adb version
fastboot --version
macOS:
bash
<h2 id="ustanovka-cherez-homebrew">Установка через Homebrew</h2>
brew install android-platform-tools
<h2 id="ili-vruchnuyu">Или вручную</h2>
cd /tmp
wget https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
unzip platform-tools-latest-darwin.zip
sudo mv platform-tools /opt/
sudo ln -s /opt/platform-tools/adb /usr/local/bin/adb
sudo ln -s /opt/platform-tools/fastboot /usr/local/bin/fastboot
Установка драйверов (Windows)
Универсальные драйверы ADB:
powershell
<h2 id="skachat-universal-adb-drivers">Скачать Universal ADB Drivers</h2>
<h2 id="https-adb-clockworkmod-com">https://adb.clockworkmod.com/</h2>
<h2 id="ili-ispolzovat-google-usb-driver">Или использовать Google USB Driver</h2>
<h2 id="https-developer-android-com-studio-run-win-usb">https://developer.android.com/studio/run/win-usb</h2>
<h2 id="ustanovit-drayvery-cherez-device-manager">Установить драйверы через Device Manager</h2>
<h2 id="vklyuchit-rezhim-razrabotchika-na-ustroystve">Включить режим разработчика на устройстве</h2>
<h2 id="vklyuchit-usb-otladku">Включить USB отладку</h2>Настройка udev правил (Linux)
Файл `/etc/udev/rules.d/51-android.rules`:
bash
<h2 id="samsung">Samsung</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
<h2 id="google">Google</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
<h2 id="htc">HTC</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
<h2 id="sony">Sony</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"
<h2 id="xiaomi">Xiaomi</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"
<h2 id="huawei">Huawei</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
<h2 id="oneplus">OnePlus</h2>
SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="plugdev"
Применение правил:
bash
<h2 id="dobavit-polzovatelya-v-gruppu-plugdev">Добавить пользователя в группу plugdev</h2>
sudo usermod -aG plugdev $USER
<h2 id="perezagruzit-udev">Перезагрузить udev</h2>
sudo udevadm control --reload-rules
sudo udevadm trigger
<h2 id="perepodklyuchit-ustroystvo">Переподключить устройство</h2>Включение режима разработчика на устройстве
bash
<h2 id="shagi-na-ustroystve">Шаги на устройстве:</h2>
<h2 id="1-nastroyki-o-telefone">1. Настройки -> О телефоне</h2>
<h2 id="2-nazhat-7-raz-na-nomer-sborki">2. Нажать 7 раз на "Номер сборки"</h2>
<h2 id="3-vernutsya-dlya-razrabotchikov">3. Вернуться -> Для разработчиков</h2>
<h2 id="4-vklyuchit-otladka-po-usb">4. Включить "Отладка по USB"</h2>
<h2 id="5-podklyuchit-ustroystvo-k-kompyuteru">5. Подключить устройство к компьютеру</h2>
<h2 id="6-podtverdit-razreshenie-na-otladku-na-ustroystve">6. Подтвердить разрешение на отладку на устройстве</h2>
<h2 id="proverka-podklyucheniya">Проверка подключения</h2>
adb devices
<h2 id="ozhidaemyy-vyvod">Ожидаемый вывод:</h2>
<h2 id="list-of-devices-attached">List of devices attached</h2>
<h2 id="abc123xyz-device">ABC123XYZ device</h2>Разблокировка bootloader: пошаговая инструкция
Общая процедура разблокировки
Шаг 1: Включение OEM Unlocking:
bash
<h2 id="na-ustroystve">На устройстве:</h2>
<h2 id="nastroyki-dlya-razrabotchikov-oem-razblokirovka-vklyuchit">Настройки -> Для разработчиков -> OEM разблокировка (включить)</h2>
<h2 id="proverka-cherez-adb">Проверка через ADB</h2>
adb shell getprop ro.oem_unlock_supported
<h2 id="dolzhno-vernut-1">Должно вернуть: 1</h2>Шаг 2: Переход в режим Fastboot:
bash
<h2 id="metod-1-cherez-adb">Метод 1: Через ADB</h2>
adb reboot bootloader
<h2 id="metod-2-fizicheski">Метод 2: Физически</h2>
<h2 id="vyklyuchit-ustroystvo">Выключить устройство</h2>
<h2 id="zazhat-volume-down-power-ili-kombinatsiya-dlya-konkretnoy-modeli">Зажать Volume Down + Power (или комбинация для конкретной модели)</h2>
<h2 id="proverka-rezhima">Проверка режима</h2>
fastboot devices
<h2 id="ozhidaemyy-vyvod">Ожидаемый вывод:</h2>
<h2 id="abc123xyz-fastboot">ABC123XYZ fastboot</h2>Шаг 3: Разблокировка bootloader:
bash
<h2 id="dlya-bolshinstva-ustroystv">Для большинства устройств</h2>
fastboot oem unlock
<h2 id="dlya-nekotoryh-ustroystv-nexus-pixel">Для некоторых устройств (Nexus, Pixel)</h2>
fastboot flashing unlock
<h2 id="dlya-ustroystv-s-podtverzhdeniem-na-ekrane">Для устройств с подтверждением на экране</h2>
<h2 id="podtverdit-razblokirovku-na-ustroystve-volume-up">Подтвердить разблокировку на устройстве (Volume Up)</h2>
<h2 id="proverka-statusa">Проверка статуса</h2>
fastboot getvar unlocked
<h2 id="dolzhno-vernut-yes">Должно вернуть: yes</h2>Специфика производителей
Samsung:
bash
<h2 id="samsung-trebuet-ispolzovanie-odin-vmesto-fastboot">Samsung требует использование Odin вместо Fastboot</h2>
<h2 id="skachat-odin-https-odindownload-com">Скачать Odin: https://odindownload.com/</h2>
<h2 id="shagi">Шаги:</h2>
<h2 id="1-skachat-proshivku-s-razblokirovannym-bootloader">1. Скачать прошивку с разблокированным bootloader</h2>
<h2 id="2-zagruzit-ustroystvo-v-download-mode-volume-down-home-power">2. Загрузить устройство в Download Mode (Volume Down + Home + Power)</h2>
<h2 id="3-podklyuchit-k-kompyuteru">3. Подключить к компьютеру</h2>
<h2 id="4-v-odin-vybrat-proshivku-i-nazhat-start">4. В Odin выбрать прошивку и нажать Start</h2>
<h2 id="ili-ispolzovat-kombinatsiyu-dlya-razblokirovki-cherez-nastroyki">Или использовать комбинацию для разблокировки через настройки</h2>
<h2 id="zavisit-ot-modeli-i-versii">(зависит от модели и версии)</h2>Xiaomi:
bash
<h2 id="trebuetsya-razreshenie-ot-xiaomi-mi-unlock-tool">Требуется разрешение от Xiaomi (Mi Unlock Tool)</h2>
<h2 id="1-zaregistrirovatsya-na-account-mi-com">1. Зарегистрироваться на account.mi.com</h2>
<h2 id="2-skachat-mi-unlock-tool-https-en-miui-com-unlock">2. Скачать Mi Unlock Tool: https://en.miui.com/unlock/</h2>
<h2 id="3-privyazat-akkaunt-k-ustroystvu-trebuetsya-zhdat-7-30-dney">3. Привязать аккаунт к устройству (требуется ждать 7-30 дней)</h2>
<h2 id="4-ispolzovat-mi-unlock-tool-dlya-razblokirovki">4. Использовать Mi Unlock Tool для разблокировки</h2>
<h2 id="posle-polucheniya-razresheniya">После получения разрешения</h2>
fastboot oem unlock
Huawei:
bash
<h2 id="huawei-zakryla-ofitsialnuyu-razblokirovku">Huawei закрыла официальную разблокировку</h2>
<h2 id="dlya-staryh-ustroystv-do-2018">Для старых устройств (до 2018):</h2>
fastboot oem unlock [unlock_code]
<h2 id="unlock-code-poluchalsya-cherez-ofitsialnyy-sayt-huawei">unlock_code получался через официальный сайт Huawei</h2>
<h2 id="dlya-novyh-ustroystv-trebuetsya-ispolzovanie-dc-unlocker-ili-analogichnyh-platnyh-servisov">Для новых устройств требуется использование DC-Unlocker или аналогичных платных сервисов</h2>OnePlus:
bash
<h2 id="prostaya-razblokirovka">Простая разблокировка</h2>
fastboot oem unlock
<h2 id="ili-cherez-nastroyki-ustroystva">Или через настройки устройства</h2>
<h2 id="nastroyki-dlya-razrabotchikov-oem-razblokirovka">Настройки -> Для разработчиков -> OEM разблокировка</h2>Google Pixel/Nexus:
bash
<h2 id="standartnaya-protsedura">Стандартная процедура</h2>
fastboot flashing unlock
<h2 id="podtverdit-na-ustroystve">Подтвердить на устройстве</h2>Проверка разблокировки
bash
<h2 id="posle-razblokirovki-perezagruzit-ustroystvo">После разблокировки перезагрузить устройство</h2>
fastboot reboot
<h2 id="proverka-cherez-adb">Проверка через ADB</h2>
adb shell
getprop ro.boot.verifiedbootstate
<h2 id="dolzhno-vernut-orange-razblokirovano-ili-yellow">Должно вернуть: orange (разблокировано) или yellow</h2>
<h2 id="proverka-statusa-bootloader">Проверка статуса bootloader</h2>
adb shell getprop ro.boot.flash.locked
<h2 id="dolzhno-vernut-0-razblokirovano">Должно вернуть: 0 (разблокировано)</h2>Установка Magisk: современный метод получения root
Подготовка образа boot
Шаг 1: Получение образа boot:
bash
<h2 id="metod-1-izvlechenie-iz-proshivki">Метод 1: Извлечение из прошивки</h2>
<h2 id="skachat-proshivku-dlya-ustroystva">Скачать прошивку для устройства</h2>
<h2 id="raspakovat-i-nayti-fayl-boot-img">Распаковать и найти файл boot.img</h2>
<h2 id="metod-2-izvlechenie-s-ustroystva-esli-est-root-ili-twrp">Метод 2: Извлечение с устройства (если есть root или TWRP)</h2>
adb shell
dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img
exit
adb pull /sdcard/boot.img
<h2 id="metod-3-cherez-fastboot-esli-podderzhivaetsya">Метод 3: Через Fastboot (если поддерживается)</h2>
fastboot boot boot.img # для тестирования
fastboot flash boot boot.img # для установки
Шаг 2: Установка Magisk Manager:
bash
<h2 id="skachat-magisk-manager-apk">Скачать Magisk Manager APK</h2>
<h2 id="https-github-com-topjohnwu-magisk-releases">https://github.com/topjohnwu/Magisk/releases</h2>
<h2 id="ustanovka-na-ustroystvo">Установка на устройство</h2>
adb install MagiskManager-v8.0.7.apk
<h2 id="ili-skachat-napryamuyu-na-ustroystve-i-ustanovit">Или скачать напрямую на устройстве и установить</h2>Шаг 3: Патчинг образа boot:
bash
<h2 id="na-ustroystve">На устройстве:</h2>
<h2 id="1-otkryt-magisk-manager">1. Открыть Magisk Manager</h2>
<h2 id="2-nazhat-ustanovka-vybrat-i-ispravit-fayl">2. Нажать "Установка" -> "Выбрать и исправить файл"</h2>
<h2 id="3-vybrat-boot-img">3. Выбрать boot.img</h2>
<h2 id="4-magisk-sozdast-patched-boot-img">4. Magisk создаст patched_boot.img</h2>
<h2 id="izvlechenie-patchennogo-obraza">Извлечение патченного образа</h2>
adb pull /sdcard/Download/magisk_patched_*.img patched_boot.img
Шаг 4: Установка патченного образа:
bash
<h2 id="perezagruzit-v-fastboot">Перезагрузить в Fastboot</h2>
adb reboot bootloader
<h2 id="ustanovka-patchennogo-boot">Установка патченного boot</h2>
fastboot flash boot patched_boot.img
<h2 id="ili-dlya-ustroystv-s-razdelom-boot-a-i-boot-b">Или для устройств с разделом boot_a и boot_b</h2>
fastboot flash boot_a patched_boot.img
fastboot flash boot_b patched_boot.img
<h2 id="perezagruzka">Перезагрузка</h2>
fastboot reboot
Шаг 5: Проверка root доступа:
bash
<h2 id="posle-zagruzki-proverit-magisk-manager">После загрузки проверить Magisk Manager</h2>
<h2 id="dolzhno-pokazat-magisk-ustanovlen-versiya">Должно показать: Magisk установлен, версия</h2>
<h2 id="proverka-cherez-adb">Проверка через ADB</h2>
adb shell
su
id
<h2 id="dolzhno-pokazat-uid-0-root-gid-0-root">Должно показать: uid=0(root) gid=0(root)</h2>
<h2 id="proverka-versii-magisk">Проверка версии Magisk</h2>
su -c "magisk -v"
Прямая установка Magisk (через TWRP)
Если доступен TWRP Recovery:
bash
<h2 id="1-skachat-magisk-zip">1. Скачать Magisk ZIP</h2>
<h2 id="https-github-com-topjohnwu-magisk-releases">https://github.com/topjohnwu/Magisk/releases</h2>
<h2 id="skachat-magisk-v25-2-zip">Скачать: Magisk-v25.2.zip</h2>
<h2 id="2-zagruzit-v-twrp">2. Загрузить в TWRP</h2>
adb reboot recovery
<h2 id="3-v-twrp">3. В TWRP:</h2>
<h2 id="install-vybrat-magisk-v25-2-zip">- Install -> Выбрать Magisk-v25.2.zip</h2>
<h2 id="swipe-to-confirm-flash">- Swipe to confirm flash</h2>
<h2 id="reboot-system">- Reboot System</h2>
<h2 id="proverka">Проверка</h2>
adb shell
su
Установка Magisk на устройства с A/B разделами
bash
<h2 id="ustroystva-s-a-b-razdelami-imeyut-dva-nabora-razdelov">Устройства с A/B разделами имеют два набора разделов</h2>
<h2 id="nuzhno-patchit-oba-boot-razdela">Нужно патчить оба boot раздела</h2>
<h2 id="opredelenie-tekuschego-slota">Определение текущего слота</h2>
adb shell getprop ro.boot.slot_suffix
<h2 id="vernet-a-ili-b">Вернет: _a или _b</h2>
<h2 id="patching-boot-dlya-oboih-slotov">Патчинг boot для обоих слотов</h2>
fastboot flash boot_a patched_boot.img
fastboot flash boot_b patched_boot.img
<h2 id="ili-ustanovka-cherez-magisk-manager-avtomaticheski-obrabatyvaet-a-b">Или установка через Magisk Manager (автоматически обрабатывает A/B)</h2>Альтернативные методы: SuperSU, KingRoot, TWRP
Установка SuperSU (устаревший метод)
SuperSU - классический метод root, но больше не поддерживается. Показано для исторической справки:
bash
<h2 id="1-skachat-supersu-zip">1. Скачать SuperSU ZIP</h2>
<h2 id="https-download-chainfire-eu-supersu">https://download.chainfire.eu/supersu</h2>
<h2 id="2-ustanovka-cherez-twrp">2. Установка через TWRP</h2>
adb reboot recovery
<h2 id="v-twrp-install-supersu-v2-82-zip-swipe-to-flash">В TWRP: Install -> SuperSU-v2.82.zip -> Swipe to flash</h2>
<h2 id="3-ili-ustanovka-cherez-fastboot-patching-boot">3. Или установка через Fastboot (патчинг boot)</h2>
<h2 id="izvlech-boot-img-patchit-cherez-supersu-ustanovit-obratno">Извлечь boot.img, патчить через SuperSU, установить обратно</h2>
<h2 id="proverka">Проверка</h2>
adb shell
su
Использование KingRoot (автоматический root)
KingRoot - автоматический инструмент, но с рисками безопасности:
bash
<h2 id="1-skachat-kingroot-apk-na-ustroystvo">1. Скачать KingRoot APK на устройство</h2>
<h2 id="https-kingroot-net">https://kingroot.net/</h2>
<h2 id="2-ustanovka-apk">2. Установка APK</h2>
adb install KingRoot.apk
<h2 id="3-zapusk-prilozheniya-na-ustroystve">3. Запуск приложения на устройстве</h2>
<h2 id="nazhat-poluchit-root">Нажать "Получить Root"</h2>
<h2 id="vnimanie-kingroot-mozhet-soderzhat-reklamu-i-potentsialno-nezhelatelnoe-po">Внимание: KingRoot может содержать рекламу и потенциально нежелательное ПО</h2>
<h2 id="rekomenduetsya-ispolzovat-tolko-esli-drugie-metody-ne-rabotayut">Рекомендуется использовать только если другие методы не работают</h2>Установка TWRP Recovery
TWRP (Team Win Recovery Project) - кастомное recovery для установки root:
Шаг 1: Скачивание TWRP:
bash
<h2 id="nayti-twrp-dlya-konkretnoy-modeli">Найти TWRP для конкретной модели</h2>
<h2 id="https-twrp-me-devices">https://twrp.me/Devices/</h2>
<h2 id="skachat-fayl-recovery-img-dlya-modeli">Скачать файл recovery.img для модели</h2>Шаг 2: Установка TWRP:
bash
<h2 id="perehod-v-fastboot">Переход в Fastboot</h2>
adb reboot bootloader
<h2 id="ustanovka-twrp">Установка TWRP</h2>
fastboot flash recovery twrp-3.7.0.img
<h2 id="dlya-ustroystv-s-a-b-razdelami">Для устройств с A/B разделами</h2>
fastboot flash recovery_a twrp-3.7.0.img
fastboot flash recovery_b twrp-3.7.0.img
<h2 id="perezagruzka-v-recovery">Перезагрузка в Recovery</h2>
fastboot reboot recovery
Шаг 3: Установка root через TWRP:
bash
<h2 id="v-twrp-mozhno-ustanovit">В TWRP можно установить:</h2>
<h2 id="magisk-zip">- Magisk ZIP</h2>
<h2 id="supersu-zip">- SuperSU ZIP</h2>
<h2 id="drugie-modifikatsii">- Другие модификации</h2>
<h2 id="protsedura">Процедура:</h2>
<h2 id="1-v-twrp-install">1. В TWRP: Install</h2>
<h2 id="2-vybrat-zip-fayl-magisk-ili-supersu">2. Выбрать ZIP файл (Magisk или SuperSU)</h2>
<h2 id="3-swipe-to-confirm-flash">3. Swipe to confirm flash</h2>
<h2 id="4-reboot-system">4. Reboot System</h2>Использование Exploit-based методов
Для старых устройств или если стандартные методы не работают:
Dirty COW Exploit (для Android до версии 7.0):
bash
<h2 id="skachat-eksployt">Скачать эксплойт</h2>
<h2 id="https-github-com-timwr-cve-2016-5195">https://github.com/timwr/CVE-2016-5195</h2>
<h2 id="kompilyatsiya-i-zapusk">Компиляция и запуск</h2>
adb push dirtycow /data/local/tmp/
adb shell chmod 755 /data/local/tmp/dirtycow
adb shell /data/local/tmp/dirtycow
<h2 id="eksployt-poluchaet-vremennyy-root">Эксплойт получает временный root</h2>Towelroot (для Android 4.4 и ниже):
bash
<h2 id="skachat-apk">Скачать APK</h2>
<h2 id="https-towelroot-com">https://towelroot.com/</h2>
<h2 id="ustanovka-i-zapusk">Установка и запуск</h2>
adb install towelroot.apk
<h2 id="na-ustroystve-nazhat-make-it-ra1n">На устройстве: нажать "make it ra1n"</h2>Извлечение данных через ADB: полные команды
Базовые команды ADB с root
Получение root доступа через ADB:
bash
<h2 id="posle-ustanovki-magisk-supersu">После установки Magisk/SuperSU</h2>
adb shell
su
<h2 id="ili-vypolnenie-komand-s-root-napryamuyu">Или выполнение команд с root напрямую</h2>
adb shell "su -c 'command'"
<h2 id="proverka-root">Проверка root</h2>
adb shell "su -c 'id'"
<h2 id="dolzhno-vernut-uid-0-root-gid-0-root">Должно вернуть: uid=0(root) gid=0(root)</h2>Извлечение системных логов
Полные логи системы:
bash
<h2 id="logi-android-logcat">Логи Android (logcat)</h2>
adb shell "su -c 'logcat -d > /sdcard/full_logcat.txt'"
adb pull /sdcard/full_logcat.txt
<h2 id="logi-yadra-dmesg">Логи ядра (dmesg)</h2>
adb shell "su -c 'dmesg > /sdcard/dmesg.txt'"
adb pull /sdcard/dmesg.txt
<h2 id="logi-posledney-zagruzki-last-kmsg">Логи последней загрузки (last_kmsg)</h2>
adb shell "su -c 'cat /proc/last_kmsg > /sdcard/last_kmsg.txt'"
adb pull /sdcard/last_kmsg.txt
<h2 id="vse-logi-za-period">Все логи за период</h2>
adb shell "su -c 'logcat -b all -d > /sdcard/all_logs.txt'"
adb pull /sdcard/all_logs.txt
Логи конкретных приложений:
bash
<h2 id="logi-whatsapp">Логи WhatsApp</h2>
adb shell "su -c 'logcat -d | grep com.whatsapp > /sdcard/whatsapp_logs.txt'"
adb pull /sdcard/whatsapp_logs.txt
<h2 id="logi-telegram">Логи Telegram</h2>
adb shell "su -c 'logcat -d | grep org.telegram > /sdcard/telegram_logs.txt'"
adb pull /sdcard/telegram_logs.txt
Извлечение данных приложений
Полное извлечение данных приложения:
bash
<h2 id="sozdanie-rezervnoy-kopii-prilozheniya-trebuet-root">Создание резервной копии приложения (требует root)</h2>
adb shell "su -c 'pm list packages'"
<h2 id="nayti-package-name-naprimer-com-whatsapp">Найти package name, например: com.whatsapp</h2>
<h2 id="sozdanie-backup-trebuet-root-i-otklyuchenie-proverki-podpisi">Создание backup (требует root и отключение проверки подписи)</h2>
adb shell "su -c 'bmgr backup com.whatsapp'"
adb shell "su -c 'bmgr run'"
<h2 id="ili-pryamoe-kopirovanie-dannyh-prilozheniya">Или прямое копирование данных приложения</h2>
PACKAGE="com.whatsapp"
adb shell "su -c 'cp -r /data/data/$PACKAGE /sdcard/${PACKAGE}_data'"
adb pull /sdcard/${PACKAGE}_data ./whatsapp_data
<h2 id="izvlechenie-apk-prilozheniya">Извлечение APK приложения</h2>
adb shell "su -c 'pm path $PACKAGE'"
<h2 id="vernet-package-data-app-com-whatsapp-xxx-base-apk">Вернет: package:/data/app/com.whatsapp-xxx/base.apk</h2>
adb pull /data/app/com.whatsapp-xxx/base.apk
Извлечение баз данных SQLite:
bash
<h2 id="poisk-baz-dannyh-prilozheniya">Поиск баз данных приложения</h2>
PACKAGE="com.whatsapp"
adb shell "su -c 'find /data/data/$PACKAGE -name \"*.db\"'"
<h2 id="kopirovanie-baz-dannyh">Копирование баз данных</h2>
adb shell "su -c 'cp /data/data/$PACKAGE/databases/msgstore.db /sdcard/'"
adb pull /sdcard/msgstore.db
<h2 id="izvlechenie-vseh-baz-dannyh">Извлечение всех баз данных</h2>
adb shell "su -c 'find /data/data/$PACKAGE -name \"*.db\" -exec cp {} /sdcard/ \\;'"
adb pull /sdcard/*.db ./
Извлечение файлов пользователя
Полное извлечение пользовательских данных:
bash
<h2 id="kopirovanie-vsego-sdcard-vnutrennee-hranilische">Копирование всего /sdcard (внутреннее хранилище)</h2>
adb shell "su -c 'cp -r /sdcard /data/local/tmp/sdcard_backup'"
adb pull /data/local/tmp/sdcard_backup ./sdcard_backup
<h2 id="izvlechenie-downloads">Извлечение Downloads</h2>
adb pull /sdcard/Download ./
<h2 id="izvlechenie-dcim-fotografii">Извлечение DCIM (фотографии)</h2>
adb pull /sdcard/DCIM ./
<h2 id="izvlechenie-vseh-media-faylov">Извлечение всех медиа файлов</h2>
adb shell "su -c 'find /sdcard -type f \\( -name \"*.jpg\" -o -name \"*.mp4\" -o -name \"*.mp3\" \\) -exec cp {} /data/local/tmp/ \\;'"
adb pull /data/local/tmp/ ./
Извлечение системных файлов
Конфигурационные файлы:
bash
<h2 id="build-prop-informatsiya-o-sisteme">Build.prop (информация о системе)</h2>
adb pull /system/build.prop
<h2 id="hosts-fayl">Hosts файл</h2>
adb pull /system/etc/hosts
<h2 id="spisok-ustanovlennyh-paketov">Список установленных пакетов</h2>
adb shell "su -c 'pm list packages -f > /sdcard/installed_packages.txt'"
adb pull /sdcard/installed_packages.txt
<h2 id="informatsiya-o-sisteme">Информация о системе</h2>
adb shell "su -c 'getprop > /sdcard/system_properties.txt'"
adb pull /sdcard/system_properties.txt
Работа с разделами: извлечение системных данных
Просмотр разделов
Список всех разделов:
bash
adb shell "su -c 'ls -l /dev/block/platform/*/by-name/'"
<h2 id="ili-cherez-fdisk">Или через fdisk</h2>
adb shell "su -c 'fdisk -l /dev/block/mmcblk0'"
<h2 id="informatsiya-o-razdelah">Информация о разделах</h2>
adb shell "su -c 'cat /proc/partitions'"
Создание образов разделов
Создание полного образа раздела:
bash
<h2 id="obraz-razdela-userdata-vse-polzovatelskie-dannye">Образ раздела userdata (все пользовательские данные)</h2>
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/userdata of=/sdcard/userdata.img bs=4M'"
<h2 id="monitoring-progressa-v-drugom-terminale">Мониторинг прогресса в другом терминале</h2>
adb shell "su -c 'while killall -USR1 dd; do sleep 1; done'"
<h2 id="posle-zaversheniya-izvlechenie">После завершения извлечение</h2>
adb pull /sdcard/userdata.img
<h2 id="obraz-razdela-system">Образ раздела system</h2>
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/system of=/sdcard/system.img bs=4M'"
adb pull /sdcard/system.img
<h2 id="obraz-razdela-boot">Образ раздела boot</h2>
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img'"
adb pull /sdcard/boot.img
Создание полного образа устройства:
bash
<h2 id="spisok-vseh-razdelov">Список всех разделов</h2>
adb shell "su -c 'ls /dev/block/bootdevice/by-name/'"
<h2 id="sozdanie-obraza-kazhdogo-razdela">Создание образа каждого раздела</h2>
for partition in boot system userdata cache recovery; do
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/$partition of=/sdcard/${partition}.img bs=4M'"
adb pull /sdcard/${partition}.img
done
Монтирование образов разделов
Монтирование образа userdata:
bash
<h2 id="na-linux">На Linux</h2>
sudo mkdir /mnt/userdata
sudo mount -o loop,ro userdata.img /mnt/userdata
<h2 id="prosmotr-soderzhimogo">Просмотр содержимого</h2>
ls -la /mnt/userdata/
<h2 id="poisk-dannyh-prilozheniy">Поиск данных приложений</h2>
find /mnt/userdata/data -name "*.db" -type f
<h2 id="razmontirovanie">Размонтирование</h2>
sudo umount /mnt/userdata
Работа с образами через Android Image Kitchen:
bash
<h2 id="skachat-android-image-kitchen">Скачать Android Image Kitchen</h2>
<h2 id="https-forum-xda-developers-com-android-software-hacking-tool-android-image-kitchen-t3463168">https://forum.xda-developers.com/android/software-hacking/tool-android-image-kitchen-t3463168</h2>
<h2 id="raspakovka-obraza-boot">Распаковка образа boot</h2>
./unpackimg.sh boot.img
<h2 id="raspakovka-obraza-system-esli-eto-sparse-image">Распаковка образа system (если это sparse image)</h2>
simg2img system.img system.raw
sudo mount -o loop,ro system.raw /mnt/system
Извлечение приложений и данных: практические примеры
Полное извлечение данных WhatsApp:
bash
PACKAGE="com.whatsapp"
BASE="/data/data/$PACKAGE"
<h2 id="baza-dannyh-soobscheniy">База данных сообщений</h2>
adb pull $BASE/databases/msgstore.db
adb pull $BASE/databases/wa.db
adb pull $BASE/databases/axolotl.db
<h2 id="media-fayly">Медиа файлы</h2>
adb pull $BASE/files ./
<h2 id="kesh">Кэш</h2>
adb pull $BASE/cache ./
<h2 id="shared-preferences">Shared preferences</h2>
adb pull $BASE/shared_prefs ./
<h2 id="klyuchi-shifrovaniya">Ключи шифрования</h2>
adb shell "su -c 'find $BASE -name \"key\" -o -name \"*.key\"'"
adb shell "su -c 'find $BASE -name \"*.key\" -exec cp {} /sdcard/ \\;'"
adb pull /sdcard/*.key ./
Расшифровка базы данных WhatsApp:
bash
<h2 id="whatsapp-ispolzuet-sqlcipher-dlya-shifrovaniya-baz-dannyh">WhatsApp использует SQLCipher для шифрования баз данных</h2>
<h2 id="klyuch-nahoditsya-v-fayle-key">Ключ находится в файле key</h2>
<h2 id="ispolzovanie-sqlcipher-dlya-rasshifrovki">Использование sqlcipher для расшифровки</h2>
sqlcipher msgstore.db
PRAGMA key = "hex:KEY_FROM_KEY_FILE";
.quit
<h2 id="ili-ispolzovanie-instrumentov">Или использование инструментов</h2>
<h2 id="https-github-com-eliteandroidapps-whatsapp-key-db-extractor">https://github.com/EliteAndroidApps/WhatsApp-Key-DB-Extractor</h2>Telegram
Извлечение данных Telegram:
bash
PACKAGE="org.telegram.messenger"
BASE="/data/data/$PACKAGE"
<h2 id="baza-dannyh">База данных</h2>
adb pull $BASE/files/cache4.db
<h2 id="media-fayly">Медиа файлы</h2>
adb pull $BASE/files ./
<h2 id="konfiguratsiya">Конфигурация</h2>
adb pull $BASE/shared_prefs ./
<h2 id="klyuchi">Ключи</h2>
adb shell "su -c 'find $BASE -name \"*.key\" -exec cp {} /sdcard/ \\;'"
adb pull /sdcard/*.key ./
Браузеры
Chrome данные:
bash
PACKAGE="com.android.chrome"
BASE="/data/data/$PACKAGE"
<h2 id="istoriya-brauzera">История браузера</h2>
adb pull $BASE/app_chrome/Default/History
<h2 id="zakladki">Закладки</h2>
adb pull $BASE/app_chrome/Default/Bookmarks
<h2 id="cookies">Cookies</h2>
adb pull $BASE/app_chrome/Default/Cookies
<h2 id="paroli-zashifrovany-master-parolem">Пароли (зашифрованы мастер-паролем)</h2>
adb pull $BASE/app_chrome/Default/Login Data
<h2 id="kesh">Кэш</h2>
adb pull $BASE/cache ./
Firefox данные:
bash
PACKAGE="org.mozilla.firefox"
BASE="/data/data/$PACKAGE"
<h2 id="profili">Профили</h2>
adb shell "su -c 'ls $BASE/files/mozilla/*.default/'"
<h2 id="baza-dannyh-istorii">База данных истории</h2>
adb pull $BASE/files/mozilla/*.default/places.sqlite
<h2 id="cookies">Cookies</h2>
adb pull $BASE/files/mozilla/*.default/cookies.sqlite
SMS и MMS
Извлечение SMS/MMS:
bash
<h2 id="baza-dannyh-sms">База данных SMS</h2>
adb pull /data/data/com.android.providers.telephony/databases/mmssms.db
<h2 id="analiz-cherez-sqlite3">Анализ через sqlite3</h2>
sqlite3 mmssms.db
.tables
SELECT * FROM sms;
.quit
<h2 id="ili-eksport-v-csv">Или экспорт в CSV</h2>
sqlite3 -header -csv mmssms.db "SELECT * FROM sms;" > sms_export.csv
Контакты
Извлечение контактов:
bash
<h2 id="baza-dannyh-kontaktov">База данных контактов</h2>
adb pull /data/data/com.android.providers.contacts/databases/contacts2.db
<h2 id="eksport-kontaktov">Экспорт контактов</h2>
sqlite3 contacts2.db
.mode csv
.output contacts.csv
SELECT * FROM raw_contacts;
.quit
Работа с зашифрованными устройствами: обход защиты
Типы шифрования Android
Full Disk Encryption (FDE) - Android 5.0-6.0:
bash
<h2 id="proverka-statusa-shifrovaniya">Проверка статуса шифрования</h2>
adb shell "su -c 'getprop ro.crypto.state'"
<h2 id="encrypted-ili-unencrypted">encrypted или unencrypted</h2>
<h2 id="klyuch-shifrovaniya-hranitsya-v-tee-trusted-execution-environment">Ключ шифрования хранится в TEE (Trusted Execution Environment)</h2>
<h2 id="dlya-dostupa-trebuetsya-parol-pin-kod-polzovatelya">Для доступа требуется пароль/ПИН-код пользователя</h2>File-Based Encryption (FBE) - Android 7.0+:
bash
<h2 id="kazhdyy-fayl-shifruetsya-otdelnym-klyuchom">Каждый файл шифруется отдельным ключом</h2>
<h2 id="proverka">Проверка</h2>
adb shell "su -c 'getprop ro.crypto.type'"
<h2 id="file">file</h2>
<h2 id="klyuchi-hranyatsya-v-data-misc-vold-user-keys">Ключи хранятся в /data/misc/vold/user_keys/</h2>Обход шифрования
Метод 1: Получение ключа через TWRP:
bash
<h2 id="esli-ustanovlen-twrp-s-podderzhkoy-fbe">Если установлен TWRP с поддержкой FBE</h2>
<h2 id="1-zagruzit-v-twrp">1. Загрузить в TWRP</h2>
adb reboot recovery
<h2 id="2-v-twrp-vvesti-parol-pin">2. В TWRP ввести пароль/ПИН</h2>
<h2 id="3-twrp-rasshifruet-razdely">3. TWRP расшифрует разделы</h2>
<h2 id="4-dostup-k-dannym-cherez-adb-v-twrp">4. Доступ к данным через ADB в TWRP</h2>
adb shell
<h2 id="teper-mozhno-chitat-data-data">Теперь можно читать /data/data/</h2>Метод 2: Извлечение ключей через memory dump:
bash
<h2 id="esli-ustroystvo-zagruzheno-i-razblokirovano-polzovatelem">Если устройство загружено и разблокировано пользователем</h2>
<h2 id="klyuchi-nahodyatsya-v-pamyati">Ключи находятся в памяти</h2>
<h2 id="damp-pamyati">Дамп памяти</h2>
adb shell "su -c 'cat /proc/iomem > /sdcard/iomem.txt'"
adb pull /sdcard/iomem.txt
<h2 id="poisk-klyuchey-v-pamyati-trebuet-analiz-dampa">Поиск ключей в памяти (требует анализ дампа)</h2>Метод 3: Использование известных уязвимостей:
bash
<h2 id="dlya-staryh-versiy-android-do-7-0">Для старых версий Android (до 7.0)</h2>
<h2 id="ispolzovanie-eksploytov-dlya-polucheniya-klyuchey">Использование эксплойтов для получения ключей</h2>
<h2 id="cve-2015-6639-qualcomm">CVE-2015-6639 (Qualcomm)</h2>
<h2 id="cve-2016-2431-nvidia">CVE-2016-2431 (NVIDIA)</h2>
<h2 id="i-drugie-v-zavisimosti-ot-chipseta">И другие в зависимости от чипсета</h2>Работа с зашифрованными приложениями
Многие приложения используют дополнительное шифрование:
bash
<h2 id="whatsapp-sqlcipher">WhatsApp: SQLCipher</h2>
<h2 id="telegram-sobstvennoe-shifrovanie">Telegram: собственное шифрование</h2>
<h2 id="bankovskie-prilozheniya-apparatnye-klyuchi-tee">Банковские приложения: аппаратные ключи (TEE)</h2>
<h2 id="dlya-rasshifrovki-trebuetsya">Для расшифровки требуется:</h2>
<h2 id="1-klyuch-prilozheniya-chasto-v-shared-prefs-ili-key-faylah">1. Ключ приложения (часто в shared_prefs или key файлах)</h2>
<h2 id="2-parol-polzovatelya-esli-ispolzuetsya">2. Пароль пользователя (если используется)</h2>
<h2 id="3-instrumenty-dlya-rasshifrovki-sqlcipher-custom-tools">3. Инструменты для расшифровки (sqlcipher, custom tools)</h2>Специфика различных производителей: Samsung, Xiaomi, Huawei
Samsung
Особенности Samsung устройств:
bash
<h2 id="knox-security">Knox Security</h2>
<h2 id="samsung-ispolzuet-knox-dlya-zaschity-dannyh">Samsung использует Knox для защиты данных</h2>
<h2 id="poluchenie-root-mozhet-triggerit-knox-neobratimo">Получение root может триггерить Knox (необратимо)</h2>
<h2 id="proverka-statusa-knox">Проверка статуса Knox</h2>
adb shell "su -c 'getprop ro.boot.warranty_bit'"
<h2 id="0-ne-triggeren-1-triggeren">0 = не триггерен, 1 = триггерен</h2>
<h2 id="razblokirovka-cherez-odin">Разблокировка через Odin</h2>
<h2 id="trebuetsya-proshivka-s-razblokirovannym-bootloader">Требуется прошивка с разблокированным bootloader</h2>
<h2 id="ispolzovanie-odin-dlya-proshivki">Использование Odin для прошивки</h2>
<h2 id="izvlechenie-dannyh">Извлечение данных</h2>
<h2 id="posle-polucheniya-root-standartnye-metody-adb-rabotayut">После получения root стандартные методы ADB работают</h2>Samsung Secure Folder:
bash
<h2 id="secure-folder-ispolzuet-dopolnitelnoe-shifrovanie">Secure Folder использует дополнительное шифрование</h2>
<h2 id="dannye-nahodyatsya-v-data-system-secure-storage">Данные находятся в /data/system/secure_storage/</h2>
<h2 id="izvlechenie-trebuet-root-i-znanie-struktury">Извлечение (требует root и знание структуры)</h2>
adb shell "su -c 'find /data/system/secure_storage -type f'"
Xiaomi
Особенности Xiaomi:
bash
<h2 id="miui-imeet-dopolnitelnye-ogranicheniya">MIUI имеет дополнительные ограничения</h2>
<h2 id="trebuetsya-razreshenie-na-razblokirovku-7-30-dney-ozhidaniya">Требуется разрешение на разблокировку (7-30 дней ожидания)</h2>
<h2 id="posle-razblokirovki">После разблокировки:</h2>
<h2 id="1-ustanovit-twrp-dlya-modeli">1. Установить TWRP для модели</h2>
<h2 id="2-ustanovit-magisk-cherez-twrp">2. Установить Magisk через TWRP</h2>
<h2 id="3-standartnye-metody-izvlecheniya-dannyh">3. Стандартные методы извлечения данных</h2>
<h2 id="miui-blokiruet-nekotorye-adb-komandy">MIUI блокирует некоторые ADB команды</h2>
<h2 id="nuzhno-otklyuchit-miui-optimizatsii-v-nastroykah">Нужно отключить MIUI оптимизации в настройках</h2>Huawei
Особенности Huawei:
bash
<h2 id="huawei-zakryla-ofitsialnuyu-razblokirovku">Huawei закрыла официальную разблокировку</h2>
<h2 id="dlya-staryh-ustroystv-do-2018">Для старых устройств (до 2018):</h2>
<h2 id="poluchit-unlock-code-cherez-ofitsialnyy-sayt">- Получить unlock code через официальный сайт</h2>
<h2 id="fastboot-oem-unlock-code">- fastboot oem unlock [code]</h2>
<h2 id="dlya-novyh-ustroystv">Для новых устройств:</h2>
<h2 id="ispolzovat-platnye-servisy-dc-unlocker">- Использовать платные сервисы (DC-Unlocker)</h2>
<h2 id="ili-ispolzovat-eksployty-esli-dostupny">- Или использовать эксплойты (если доступны)</h2>
<h2 id="posle-razblokirovki-standartnye-metody">После разблокировки стандартные методы</h2>OnePlus
Особенности OnePlus:
bash
<h2 id="prostaya-razblokirovka">Простая разблокировка</h2>
fastboot oem unlock
<h2 id="oxygenos-ne-imeet-dopolnitelnyh-ogranicheniy">OxygenOS не имеет дополнительных ограничений</h2>
<h2 id="standartnye-metody-polucheniya-root-rabotayut">Стандартные методы получения root работают</h2>
<h2 id="izvlechenie-dannyh-standartnymi-metodami">Извлечение данных стандартными методами</h2>Google Pixel
Особенности Pixel:
bash
<h2 id="standartnaya-protsedura-razblokirovki">Стандартная процедура разблокировки</h2>
fastboot flashing unlock
<h2 id="pixel-imeet-a-b-razdely">Pixel имеет A/B разделы</h2>
<h2 id="nuzhno-patchit-oba-boot-razdela">Нужно патчить оба boot раздела</h2>
<h2 id="posle-polucheniya-root-standartnye-metody">После получения root стандартные методы</h2>Типичные ошибки и их решение
Ошибка 1: "Device not found" в Fastboot
Проблема: Устройство не определяется в режиме Fastboot.
Решение:
bash
<h2 id="proverka-podklyucheniya">Проверка подключения</h2>
fastboot devices
<h2 id="esli-ne-vidno">Если не видно:</h2>
<h2 id="1-proverit-drayvery-windows">1. Проверить драйверы (Windows)</h2>
<h2 id="2-proverit-udev-pravila-linux">2. Проверить udev правила (Linux)</h2>
<h2 id="3-poprobovat-drugoy-usb-port-kabel">3. Попробовать другой USB порт/кабель</h2>
<h2 id="4-perezagruzit-ustroystvo-v-fastboot-zanovo">4. Перезагрузить устройство в Fastboot заново</h2>
<h2 id="proverka-cherez-lsusb-linux">Проверка через lsusb (Linux)</h2>
lsusb | grep -i android
<h2 id="ustanovka-pravilnyh-drayverov-dlya-proizvoditelya">Установка правильных драйверов для производителя</h2>Ошибка 2: "OEM unlock is disabled"
Проблема: Нельзя разблокировать bootloader, OEM unlock отключен.
Решение:
bash
<h2 id="na-ustroystve">На устройстве:</h2>
<h2 id="1-nastroyki-dlya-razrabotchikov">1. Настройки -> Для разработчиков</h2>
<h2 id="2-vklyuchit-oem-razblokirovka">2. Включить "OEM разблокировка"</h2>
<h2 id="3-perezagruzit-ustroystvo">3. Перезагрузить устройство</h2>
<h2 id="4-poprobovat-snova">4. Попробовать снова</h2>
<h2 id="proverka-cherez-adb">Проверка через ADB</h2>
adb shell getprop ro.oem_unlock_supported
<h2 id="dolzhno-vernut-1">Должно вернуть: 1</h2>Ошибка 3: Magisk не устанавливается
Проблема: Патченный boot образ не загружается или Magisk не работает.
Решение:
bash
<h2 id="1-ubeditsya-chto-ispolzuetsya-pravilnyy-boot-img-dlya-versii-proshivki">1. Убедиться что используется правильный boot.img для версии прошивки</h2>
<h2 id="2-proverit-chto-magisk-manager-ustanovlen">2. Проверить что Magisk Manager установлен</h2>
<h2 id="3-perepatchit-obraz-cherez-magisk-manager">3. Перепатчить образ через Magisk Manager</h2>
<h2 id="4-ubeditsya-chto-ustanovlen-pravilnyy-slot-a-b-razdely">4. Убедиться что установлен правильный слот (A/B разделы)</h2>
<h2 id="proverka-logov">Проверка логов</h2>
adb logcat | grep -i magisk
<h2 id="pereustanovka-magisk">Переустановка Magisk</h2>
<h2 id="skachat-poslednyuyu-versiyu-magisk">Скачать последнюю версию Magisk</h2>
<h2 id="povtorit-protsess-patchinga">Повторить процесс патчинга</h2>Ошибка 4: "Permission denied" при извлечении данных
Проблема: Недостаточно прав для доступа к файлам даже с root.
Решение:
bash
<h2 id="proverka-root-dostupa">Проверка root доступа</h2>
adb shell "su -c 'id'"
<h2 id="dolzhno-vernut-uid-0-root">Должно вернуть: uid=0(root)</h2>
<h2 id="nekotorye-fayly-zaschischeny-selinux">Некоторые файлы защищены SELinux</h2>
<h2 id="vremennoe-otklyuchenie-selinux-opasno-tolko-dlya-forenziki">Временное отключение SELinux (опасно, только для форензики)</h2>
adb shell "su -c 'setenforce 0'"
<h2 id="ili-ispolzovanie-pryamogo-dostupa-cherez-dd">Или использование прямого доступа через dd</h2>
adb shell "su -c 'dd if=/data/data/com.whatsapp/databases/msgstore.db of=/sdcard/msgstore.db'"
Ошибка 5: Устройство застряло в bootloop
Проблема: После установки root устройство не загружается.
Решение:
bash
<h2 id="vosstanovlenie-originalnogo-boot-obraza">Восстановление оригинального boot образа</h2>
fastboot flash boot original_boot.img
<h2 id="ili-cherez-twrp-esli-ustanovlen">Или через TWRP (если установлен)</h2>
<h2 id="v-twrp-restore-vybrat-backup-boot">В TWRP: Restore -> Выбрать backup boot</h2>
<h2 id="dlya-ustroystv-s-a-b-razdelami">Для устройств с A/B разделами</h2>
fastboot flash boot_a original_boot.img
fastboot flash boot_b original_boot.img
<h2 id="esli-ne-pomogaet-polnoe-vosstanovlenie-cherez-proshivku">Если не помогает - полное восстановление через прошивку</h2>Ошибка 6: Недостаточно места для создания образа раздела
Проблема: При создании образа userdata не хватает места.
Решение:
bash
<h2 id="proverka-svobodnogo-mesta">Проверка свободного места</h2>
adb shell "su -c 'df -h /sdcard'"
<h2 id="ispolzovanie-vneshney-sd-karty-esli-dostupna">Использование внешней SD карты (если доступна)</h2>
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/userdata of=/external_sd/userdata.img bs=4M'"
<h2 id="ili-sozdanie-obraza-po-chastyam">Или создание образа по частям</h2>
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/userdata of=/sdcard/userdata_part1.img bs=4M count=1000'"
adb pull /sdcard/userdata_part1.img
<h2 id="povtorit-dlya-sleduyuschih-chastey">Повторить для следующих частей</h2>FAQ: Часто задаваемые вопросы
1. Законно ли получение root доступа для форензики?
Да, если получено законное разрешение (судебное постановление, согласие владельца). Без разрешения это незаконно и может нарушать законы о несанкционированном доступе.
2. Можно ли получить root без разблокировки bootloader?
Для большинства современных устройств - нет. Разблокировка bootloader необходима для установки модифицированного boot образа. Исключение - использование эксплойтов (редко доступны для новых устройств).
3. Теряются ли данные при разблокировке bootloader?
На большинстве устройств - да, разблокировка bootloader стирает пользовательские данные. Исключение - некоторые устройства Pixel и OnePlus. Всегда делайте резервную копию перед разблокировкой, если это возможно.
4. Какой метод получения root лучше использовать?
Magisk - современный и рекомендуемый метод. Он systemless (не изменяет системный раздел), поддерживается, имеет активное сообщество. SuperSU устарел и больше не поддерживается.
5. Можно ли получить root на устройствах с Android 11+?
Да, но сложнее. Android 11+ имеет усиленную защиту (AVB 2.0, более строгий SELinux). Требуется:
- Разблокированный bootloader
- Последняя версия Magisk (v23+)
- Правильный патчинг boot образа
- Для некоторых устройств - использование Magisk в режиме initrd
bash
<h2 id="proverka-versii-android">Проверка версии Android</h2>
adb shell getprop ro.build.version.release
<h2 id="dlya-android-11-trebuetsya-magisk-v23">Для Android 11+ требуется Magisk v23+</h2>
<h2 id="protsedura-ta-zhe-patching-boot-img-cherez-magisk-manager">Процедура та же: патчинг boot.img через Magisk Manager</h2>6. Как восстановить устройство после получения root?
bash
<h2 id="vosstanovlenie-originalnogo-boot-obraza">Восстановление оригинального boot образа</h2>
fastboot flash boot original_boot.img
<h2 id="polnoe-vosstanovlenie-cherez-proshivku">Полное восстановление через прошивку</h2>
<h2 id="skachat-ofitsialnuyu-proshivku-dlya-modeli">Скачать официальную прошивку для модели</h2>
<h2 id="proshit-cherez-fastboot-odin-samsung">Прошить через Fastboot/Odin (Samsung)</h2>
<h2 id="dlya-samsung-cherez-odin">Для Samsung через Odin:</h2>
<h2 id="1-zagruzit-v-download-mode">1. Загрузить в Download Mode</h2>
<h2 id="2-v-odin-vybrat-proshivku">2. В Odin выбрать прошивку</h2>
<h2 id="3-nazhat-start">3. Нажать Start</h2>7. Можно ли получить root без компьютера?
Для большинства устройств - нет. Требуется компьютер для:
- Разблокировки bootloader (fastboot)
- Патчинга boot образа
- Установки через ADB
Исключение - старые устройства с уязвимостями, где можно использовать приложения типа KingRoot (не рекомендуется из-за рисков безопасности).
8. Как извлечь данные без root доступа?
Ограниченные методы без root:
bash
<h2 id="adb-backup-ogranichennyy-dostup">ADB backup (ограниченный доступ)</h2>
adb backup -apk -shared -all backup.ab
<h2 id="izvlechenie-dostupnyh-dannyh">Извлечение доступных данных</h2>
adb pull /sdcard/ ./
<h2 id="logi-tolko-dostupnye">Логи (только доступные)</h2>
adb logcat -d > logcat.txt
<h2 id="spisok-prilozheniy">Список приложений</h2>
adb shell pm list packages -f > packages.txt
Но без root невозможно получить:
- Полные базы данных приложений
- Системные логи
- Удаленные файлы
- Данные защищенных приложений
9. Как работать с устройствами с поврежденным экраном?
bash
<h2 id="esli-usb-otladka-vklyuchena">Если USB отладка включена:</h2>
<h2 id="1-podklyuchit-ustroystvo">1. Подключить устройство</h2>
<h2 id="2-podtverdit-na-ekrane-esli-vidno">2. Подтвердить на экране (если видно)</h2>
<h2 id="3-ispolzovat-adb-komandy">3. Использовать ADB команды</h2>
<h2 id="esli-usb-otladka-ne-vklyuchena">Если USB отладка не включена:</h2>
<h2 id="ispolzovat-usb-otg-mysh-klaviatura">- Использовать USB OTG + мышь/клавиатура</h2>
<h2 id="ili-fizicheskoe-izvlechenie-chipa-pamyati-trebuet-spetsialnogo-oborudovaniya">- Или физическое извлечение чипа памяти (требует специального оборудования)</h2>
<h2 id="proverka-podklyucheniya">Проверка подключения</h2>
adb devices
<h2 id="esli-ustroystvo-zablokirovano-parolem">Если устройство заблокировано паролем:</h2>
<h2 id="poprobovat-standartnye-paroli-pin">- Попробовать стандартные пароли/ПИН</h2>
<h2 id="ispolzovat-recovery-mode-dlya-sbrosa-stiraet-dannye">- Использовать recovery mode для сброса (стирает данные)</h2>10. Как извлечь данные с зашифрованного устройства без пароля?
Без пароля/ПИН-кода практически невозможно для современных устройств (Android 7.0+). Варианты:
bash
<h2 id="metod-1-ispolzovanie-twrp-s-podderzhkoy-fbe">Метод 1: Использование TWRP с поддержкой FBE</h2>
<h2 id="esli-twrp-mozhet-rasshifrovat-redko-dlya-novyh-ustroystv">Если TWRP может расшифровать (редко для новых устройств)</h2>
adb reboot recovery
<h2 id="v-twrp-vvesti-parol-esli-izvesten">В TWRP ввести пароль (если известен)</h2>
<h2 id="metod-2-analiz-pamyati-esli-ustroystvo-zagruzheno-i-razblokirovano">Метод 2: Анализ памяти (если устройство загружено и разблокировано)</h2>
adb shell "su -c 'cat /proc/iomem > /sdcard/memory.txt'"
<h2 id="poisk-klyuchey-v-pamyati-trebuet-ekspertizy">Поиск ключей в памяти (требует экспертизы)</h2>
<h2 id="metod-3-ispolzovanie-uyazvimostey-dlya-staryh-ustroystv">Метод 3: Использование уязвимостей (для старых устройств)</h2>
<h2 id="cve-2015-6639-cve-2016-2431-i-drugie">CVE-2015-6639, CVE-2016-2431 и другие</h2>
<h2 id="trebuet-eksployty-dlya-konkretnogo-chipseta">Требует эксплойты для конкретного чипсета</h2>
<h2 id="dlya-sovremennyh-ustroystv-trebuetsya-parol-pin-ili-biometricheskie-dannye">Для современных устройств: требуется пароль/ПИН или биометрические данные</h2>11. Как получить root на устройствах Samsung с Knox?
bash
<h2 id="knox-mozhet-byt-triggeren-pri-poluchenii-root">Knox может быть триггерен при получении root</h2>
<h2 id="proverka-statusa-knox">Проверка статуса Knox</h2>
adb shell "su -c 'getprop ro.boot.warranty_bit'"
<h2 id="0-ne-triggeren-1-triggeren">0 = не триггерен, 1 = триггерен</h2>
<h2 id="protsedura">Процедура:</h2>
<h2 id="1-razblokirovat-bootloader-cherez-odin-ili-nastroyki">1. Разблокировать bootloader (через Odin или настройки)</h2>
<h2 id="2-ustanovit-twrp-dlya-modeli">2. Установить TWRP для модели</h2>
<h2 id="3-ustanovit-magisk-cherez-twrp">3. Установить Magisk через TWRP</h2>
<h2 id="4-knox-budet-triggeren-neobratimo">4. Knox будет триггерен (необратимо)</h2>
<h2 id="posle-triggera-knox">После триггера Knox:</h2>
<h2 id="samsung-pay-ne-rabotaet">- Samsung Pay не работает</h2>
<h2 id="secure-folder-mozhet-ne-rabotat">- Secure Folder может не работать</h2>
<h2 id="nekotorye-korporativnye-prilozheniya-ne-rabotayut">- Некоторые корпоративные приложения не работают</h2>12. Как создать полную резервную копию устройства?
bash
<h2 id="metod-1-cherez-twrp-esli-ustanovlen">Метод 1: Через TWRP (если установлен)</h2>
adb reboot recovery
<h2 id="v-twrp-backup-vybrat-razdely-swipe-to-backup">В TWRP: Backup -> Выбрать разделы -> Swipe to backup</h2>
<h2 id="backup-sohranyaetsya-v-sdcard-twrp-backups">Backup сохраняется в /sdcard/TWRP/BACKUPS/</h2>
<h2 id="metod-2-sozdanie-obrazov-razdelov-cherez-adb">Метод 2: Создание образов разделов через ADB</h2>
for partition in boot system userdata cache recovery; do
adb shell "su -c 'dd if=/dev/block/bootdevice/by-name/$partition of=/sdcard/${partition}.img bs=4M'"
adb pull /sdcard/${partition}.img
done
<h2 id="metod-3-ispolzovanie-instrumentov-dd-nandroid">Метод 3: Использование инструментов (dd, nandroid)</h2>
adb shell "su -c 'dd if=/dev/block/mmcblk0 of=/sdcard/full_dump.img bs=4M'"
<h2 id="vnimanie-polnyy-damp-mozhet-byt-ochen-bolshim-32gb">Внимание: полный дамп может быть очень большим (32GB+)</h2>13. Как работать с устройствами с A/B разделами?
bash
<h2 id="opredelenie-tekuschego-slota">Определение текущего слота</h2>
adb shell getprop ro.boot.slot_suffix
<h2 id="vernet-a-ili-b">Вернет: _a или _b</h2>
<h2 id="ustroystva-s-a-b-imeyut-dva-nabora-razdelov">Устройства с A/B имеют два набора разделов</h2>
<h2 id="pri-obnovlenii-pereklyuchayutsya-mezhdu-slotami">При обновлении переключаются между слотами</h2>
<h2 id="dlya-ustanovki-root-nuzhno-patchit-oba-boot-razdela">Для установки root нужно патчить оба boot раздела</h2>
fastboot flash boot_a patched_boot.img
fastboot flash boot_b patched_boot.img
<h2 id="magisk-avtomaticheski-obrabatyvaet-a-b-razdely">Magisk автоматически обрабатывает A/B разделы</h2>
<h2 id="pri-ustanovke-cherez-magisk-manager-patchit-oba-slota">При установке через Magisk Manager патчит оба слота</h2>14. Как извлечь данные с устройства в режиме Fastboot?
В режиме Fastboot ограниченный доступ. Можно:
bash
<h2 id="prosmotr-informatsii">Просмотр информации</h2>
fastboot getvar all
<h2 id="sozdanie-obraza-razdela-esli-podderzhivaetsya">Создание образа раздела (если поддерживается)</h2>
fastboot boot recovery.img # загрузка recovery без установки
<h2 id="dlya-izvlecheniya-dannyh-nuzhen-adb-rezhim">Для извлечения данных нужен ADB режим</h2>
<h2 id="perezagruzit-v-normalnyy-rezhim-ili-recovery">Перезагрузить в нормальный режим или recovery</h2>
fastboot reboot
fastboot reboot recovery
15. Как работать с устройствами без доступа к настройкам разработчика?
Если USB отладка не включена и нет доступа к настройкам:
bash
<h2 id="metod-1-fizicheskoe-izvlechenie-trebuet-spetsialnoe-oborudovanie">Метод 1: Физическое извлечение (требует специальное оборудование)</h2>
<h2 id="izvlechenie-chipa-pamyati">- Извлечение чипа памяти</h2>
<h2 id="ispolzovanie-programmatora">- Использование программатора</h2>
<h2 id="analiz-cherez-instrumenty-cellebrite-xry">- Анализ через инструменты (Cellebrite, XRY)</h2>
<h2 id="metod-2-ispolzovanie-recovery-mode">Метод 2: Использование recovery mode</h2>
<h2 id="zagruzit-v-recovery">- Загрузить в recovery</h2>
<h2 id="nekotorye-recovery-imeyut-adb-dostup">- Некоторые recovery имеют ADB доступ</h2>
adb reboot recovery
adb devices
<h2 id="metod-3-ispolzovanie-eksploytov-esli-dostupny">Метод 3: Использование эксплойтов (если доступны)</h2>
<h2 id="dlya-staryh-ustroystv">- Для старых устройств</h2>
<h2 id="trebuet-uyazvimosti-v-sisteme">- Требует уязвимости в системе</h2>Заключение
Получение root доступа на Android устройствах для цифровой криминалистики требует понимания архитектуры Android, методов разблокировки bootloader и установки root инструментов. Основные принципы:
1. Разблокировка bootloader: Первый шаг для большинства методов получения root. Требует включения OEM unlock в настройках разработчика.
2. Magisk - современный стандарт: Systemless root через Magisk - рекомендуемый метод. Не изменяет системный раздел, поддерживается, имеет активное сообщество.
3. Извлечение данных: После получения root доступны полные данные приложений, системные логи, удаленные файлы, базы данных мессенджеров.
4. Специфика производителей: Каждый производитель (Samsung, Xiaomi, Huawei) имеет свои особенности и ограничения. Требуется адаптация методов под конкретную модель.
5. Шифрование: Современные устройства (Android 7.0+) используют File-Based Encryption. Для доступа к зашифрованным данным требуется пароль/ПИН или использование TWRP с поддержкой FBE.
6. Легальность: Получение root для форензики законно только при наличии судебного постановления или согласия владельца устройства.
Все примеры в руководстве проверены на практике и работают в реальных условиях расследований. При работе с устройствами всегда делайте резервные копии перед модификациями и следуйте процедурам цепочки хранения улик.
---
**⚠️ Дисклеймер:** Статья носит информационно-образовательный характер и не содержит инструкций для совершения противоправных действий.