Собираем эмулятор Android для анонимной работы

  • Автор темы Автор темы URAN233
  • Дата начала Дата начала

URAN233

Местный
Сообщения
570
Реакции
583
Готовые эмуляторы Android, например такие как Bluestacks или Android Studio, не предназначены для анонимной работы и не имеют функционала для заворачивания трафика в сеть Tor. Запуск Android-приложений на таких эмуляторах зачастую может привести к деанонимизации пользователя. Существуют онлайн-эмуляторы, способные работать прямо в браузере Tor, например ApkOnline, однако их функционал, откровенно говоря, оставляет желать лучшего. Ну а запуск Android-приложений на физически существующем телефоне, само собой, почти автоматом приводит к деанону.

В этой статье будет рассказано, как самостоятельно собрать эмулятор Android, специально заточенный под анонимную работу - с заворачиванием всего сетевого трафика в Tor, а также с возможностью подмены идентификаторов "железа", таких как наименование устройства, IMEI и других.

За основу мы возьмем Android-x86 - это сборка Android с модифицированным ядром, способная запускаться на обычных компьютерах и ноутбуках, внутри виртуальной машины VirtualBox. Android-x86 является бесплатным ПО с открытым исходным кодом, и доступен для скачивания в виде готовых ISO-образом. Для сборки эмулятора мы будем использовать Android-x86 версии 8.1 в 32-битной редакции (последняя версия на момент написания статьи - 9.0 64-битная). Почему именно эту версию, а не самую последнюю? На то есть несколько причин:

1. Абсолютное большинство современных Android-приложений прекрасно работают на этой версии Android-x86.

2. 64-битные редакции Android-x86 существенно более прожорливы в плане использования ресурсов компьютера, нежели 32-битные. При этом никаких особых преимуществ при запуске Android-приложений они не дают.

3. Для подмены идентификаторов "железа" в эмуляторе необходима установка Xposed Framework. Данный проект сейчас уже не поддерживается, и не способен работать на Android-x86 версии 9.0. Последняя версия Android-x86, на которой можно установить Xposed Framework - 8.1 в 32-битной редакции.

Из этих соображений Android-x86 версии 8.1 была выбрана как наиболее оптимальная.

Установка Android-x86 в виртуальной машине VirtualBox

Для начала скачиваем ISO-образ Android-x86. Заходим на , переходим на любое из зеркал, там ищем файл с названием android-x86-8.1-r6.iso (это нужная нам версия), и скачиваем его.

Детальное описание процесса установки можно найти в открытых источниках. Я не буду расписывать его подробно, сосредоточусь лишь на ряде неочевидных и/или плохо описанных моментов.

Перед установкой Android-x86, необходимо установить VirtualBox, Whonix, а также VirtualBox Extension Pack.

При создании виртуальной машины, объем виртуального жесткого диска желательно выставить равным 32 ГБ. Можно и больше, но меньше - нежелательно.

В окне настроек виртуальной машины нужно выставить следующие параметры:
- Во вкладке "Общие/Основные" указать тип операционной системы - Linux, версия - Other Linux (32-bit).
1676735805328.png

- Во вкладке "Система/Материнская плата" указать объем оперативной памяти не менее 2560 МБ. Как показал мой опыт, это минимальный необходимый объем, при меньшем объеме оперативки Android-x86 не запускается. Желательно выставить даже больше.
- Там же выставить: чипсет - PIIX3, манипулятор курсора - USB планшет, а также включить опцию "Включить I/O APIC".
- Во вкладке "Система/Процессор" выставить число процессоров - 2, и включить опцию "Включить PAE/NX".
- Во вкладке "Дисплей/Экран" выставить тип графического контроллера - VBoxSVGA, объем видеопамяти указать 128 МБ. При меньшем объеме видеопамяти Android-x86 может не запуститься.
- Во вкладке "Носители" выставить контроллер жесткого диска - IDE, тип - PIIX4.
- Во вкладке "Сеть/Адаптер 1" выставить тип адаптера - Intel PRO/1000 MT Desktop (82540EM). Для корректного подключения к сети Tor нужно там же выставить тип подключения - Внутренняя сеть, имя сети - Whonix.
1676735861529.png

В процессе установки, на вопрос "Do you want to use GPT?" надо ответить "No".
1676735912180.png

Раздел под Android-x86 надо форматировать в файловую систему ext4. Не NTFS и не FAT32!
На вопрос "Do you want to install boot loader GRUB?" надо ответить "Yes".

На вопрос "Do you want to install /system directory as read-write?" надо ответить "Yes".

Когда будет предложено подключиться к Wi-Fi - надо выбрать "Пропустить".

В окне настройки сервисов Google надо отключить геолокацию и отправку диагностической информации.

В качестве главного приложения надо выбрать Launcher3 и указать "Всегда".

Если все правильно сделано, в итоге отобразится рабочий стол Android-x86, отдаленно похожий на рабочий стол Android-смартфона.
1676735980832.png

Затем нужно зайти в раздел настроек "Система", там перейти в "О планшете", найти информацию о номере сборки Android, и много раз щелкать по номеру сборки, до тех пор, пока не отобразится сообщение "Вы стали разработчиком!". В настройках после этого появится пункт "Для разработчиков", там можно будет включать или отключать предоставление приложениям прав root.
1676736064833.png


1676736091417.png

Теперь завершаем работу виртуальной машины. Для этого в меню окна VirtualBox надо выбрать "Машина | Завершить работу".
1676736137018.png

Затем надо выбрать "Выключить" и подождать. Окно виртуальной машины через некоторое время закроется само.

Установка фаервола. Заодно учимся работать с файловой системой Android-x86.

Для дополнительной конфиденциальности - чтобы встроенные в Android-x86 сервисы Google не лазили лишний раз в интернет и не сливали лишних сведений на сервера Google - нужно установить фаервол. В качестве фаервола рекомендую использовать NetGuard. Заходим на и скачиваем последнюю версию в виде APK-файла.

И тут мы подходим к тому, что скачанный APK-файл надо каким-то образом скопировать из хостовой системы вовнутрь виртуальной машины с Android-x86. Расскажу, как это сделать в случае, если хостовой системой является Windows.

Заходим в окно настроек виртуальной машины Android-x86, на вкладке "Носители" жмем на значок добавления жесткого диска, в открывшемся окне выбираем "Создать новый диск".
1676736284671.png

Тип жесткого диска надо указать - VHD, это очень важно!
1676736319989.png

Размер жесткого диска надо выставить в пределах от 1 ГБ до 1,5 ГБ, но не больше, это тоже важно! В примере ниже я указал 1,29 ГБ:
1676736353806.png

После создания виртуального жесткого диска и сохранения параметров, надо в хостовой системе запустить Командную строку от имени администратора, и ввести команду:

mmc.exe diskmgmt.msc

Откроется оснастка "Управление дисками". В меню "Действие" выбираем команду "Присоединить виртуальный жесткий диск". Находим VHD-файл с только что созданным виртуальным жестким диском, и жмем ОК. Если все сделано правильно, в списке дисков появится новый жесткий диск, размером чуть больше 1 ГБ (аккурат таким же, который вы указывали при создании виртуального диска через настройки VirtualBox, в моем случае 1,29 ГБ), и с пометкой "Не проинициализирован".
1676736409157.png

Жмем по нему правой кнопкой мыши и выбираем "Инициализировать диск". Стиль разделов выбираем MBR - Master Boot Record. Далее жмем по нему правой кнопкой мыши и выбираем "Создать простой том..." Откроется мастер создания тома. Букву диска назначаем любую произвольную, я указал G:. Дальше будет выбор - не форматировать том, либо форматировать в FAT, FAT32, либо NTFS. Выбираем форматирование тома в FAT (это важно!). По желанию можно указать метку тома, я указал ANDRO-VFAT. Далее, если все сделано правильно, в вашей системе появится новый диск с указанной вами меткой тома и буквой. Это можно проверить, например, через окно "Мой компьютер".
1676736463175.png

После этого копируем на этот диск ранее скачанный APK-файл с NetGuard. Это лучше всего делать с помощью файлового менеджера вроде Total Commander или Far Manager. Для удобства можно создать в корневом каталоге этого диска папку, например с названием apk2, и скопировать APK-файл туда. В итоге должно получиться так (скриншот из Far Manager):
1676736517026.png

Далее переходим в оснастку "Управление дисками", щелкаем правой кнопкой мыши по нашему виртуальному жесткому диску, и выбираем "Отсоединить виртуальный жесткий диск". Если все сделано правильно, виртуальный жесткий диск пропадет из списка дисков в оснастке "Управление дисками", а в окне "Мой компьютер" перестанет отображаться буква этого диска.

Затем запускаем виртуальную машину Android-x86. В самом начале загрузки, на короткое время отобразится загрузочное меню. В этом меню нужно быстро выбрать - Debug mode, и нажать Enter!
1676736561043.png

Дальше ждем 30-60 секунд, после чего жмем Enter. Должно будет появиться приглашение вида android:/android # Если оно не появилось - жмем Enter каждые 30 секунд, до тех пор, пока оно не появится.

Когда приглашение появилось, вводим команды:

cd /
mkdir /fat16
mount -t vfat /dev/sdb1 /fat16
ls /fat16
ls /fat16/apk2


Если все сделано правильно, в выводе предпоследней команды отобразится подкаталог apk2, а в выводе последней команды - APK-файл NetGuard, скопированный ранее на виртуальный жесткий диск.
1676736612811.png

Далее вводим команды:

mount -o remount,rw /mnt
cd /mnt
ls


Должно будет отобразиться имя подкаталога вида android-8.1-r6 (может отличаться в других версиях Android-x86).
1676736654379.png

Заходим в этот подкаталог командой:

cd android-8.1-r6

А дальше вводим:

cd data/media/0
ls


Отобразится список папок пользователя на внутреннем носителе Android (может отличаться в разных версиях Android-x86).
1676736782814.png

Ищем подпапку с именем Pictures (либо аналогичным), заходим в нее:

cd Pictures

и просматриваем ее содержимое командой:

ls

Увидим, что там пусто. Копируем в нее APK-файл NetGuard командой:

cp /fat16/apk2/eu.faircode.netguard_2022111001.apk ./

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

ls

Увидим, что там появился скопированный нами APK-файл NetGuard. После чего переходим в корневой каталог, отмонтируем файловые системы:

cd /
umount /fat16
rmdir /fat16
umount /mnt


и перезагружаем виртуальную машину командой:

reboot -f

Далее ждем, пока Android-x86 загрузится в обычном режиме. Заходим в приложение "Файлы", жмем на три вертикальные точки в правом верхнем углу экрана, и выбираем "Показать внутр. хранилище". Затем в левой части экрана нажимаем на "VirtualBox". Увидим список папок пользователя на внутреннем носителе, среди них будет папка Pictures. Делаем на ней двойной щелчок, и - увидим APK-файл NetGuard, который мы туда ранее скопировали.
1676736870300.png

Делаем по нему двойной щелчок, после чего нам будет предложено установить приложение. Устанавливаем его, по окончании установки - запускаем. Включаем NetGuard переключателем в верхней части экрана, даем согласие на все последующие запросы. Далее заходим в настройки NetGuard, переходим в "Дополнительные опции" и там включаем параметр "Управлять сист. приложениями".
1676736925734.png

Возвращаемся в основное окно NetGuard, и там - запрещаем доступ в Интернет для всех-всех-всех приложений, за исключением браузера Chrome.
1676736965185.png

Потом возвращаемся на рабочий стол Android-x86 (жмем кружочек посередине черной полоски в самом низу экрана Android-x86). Заходим в Настройки, переходим в раздел "Сеть и Интернет", потом жмем на пункт "VPN". Напротив значка NetGuard жмем на шестереночку, и далее - включаем опцию "Постоянная VPN". Все, на этом настройка NetGuard окончена.

После этого можно завершить работу виртуальной машины, так, как описывалось выше.

Установка Xposed Framework. Подмена идентификаторов устройства

Любое Android-устройство, хоть физически существующий телефон, хоть виртуальная машина Android-x86 - имеет свои идентификаторы: название производителя и модели устройства, IMEI, и ряд других. Идентификаторы Android-x86 значительно отличаются от идентификаторов физически существующих телефонов, в чем вы можете убедиться, зайдя в настройках Android-x86 в раздел "Система / О планшете". В качестве фирмы-производителя устройства там указана innotek GmbH (такая фирма существует, однако производством телефонов не занимается от слова совсем), а в качестве модели устройства - VirtualBox (недвузначный намек на виртуальную машину). Кроме того, Android-x86 "из коробки" не имеет IMEI, в чем вы можете убедиться, открыв приложение "Телефон" и введя *#06# - приложение "Телефон" от этого будет крашиться. (На обычном телефоне комбинация *#06# приведет к отображению IMEI телефона.) Любое Android-приложение, которое вы запустите на Android-x86 - сможет считать эти идентификаторы и по ним понять, что его запустили на виртуальной машине.

В некоторых случаях может возникнуть надобность сокрытия от Android-приложения упомянутых идентификаторов, а точнее - не сокрытия, а подмены идентификаторов на фейковые. Для этого потребуется установить Xposed Framework.

(!) В процессе установки Xposed Framework может получиться так называемый boot loop - это когда система Android-x86 перестает загружаться и в процессе загрузки зависает на этапе отображения заставки с логотипом Android. Поэтому, прежде чем приступать к нижеописанным действиям, настоятельно рекомендую сделать резервную копию виртуальной машины. Проще всего это реализовать, сделав резервную копию .vdi-файла с установленной системой Android-x86 (не путать с VHD-файлом, который мы создавали для переноса файлов!). В случае если что-то пойдет не так и система выпадет в boot loop, будет достаточно восстановить .vdi-файл из резервной копии.

Первым делом скачиваем подходящую версию Xposed Framework. Поскольку данный проект более не поддерживается и его официальный сайт закрыт, скачивать будем из копии в Архиве Интернета . Там нужно открыть папку sdk27, затем x86, после чего скачать файл xposed-v90-sdk27-x86-beta3.zip

Потом заходим на и скачиваем файл de.robv.android.xposed.installer_43.apk

Запускаем оснастку "Управление дисками" командой

mmc.exe diskmgmt.msc

как описывалось выше. В меню оснастки выбираем "Действие | Присоединить виртуальный жесткий диск". Находим VHD-файл с виртуальным жестким диском, отформатированным под FAT (который вы создавали ранее), и монтируем его. Далее заходим на этот виртуальный жесткий диск в любом файловом менеджере (например Total Commander или Far Manager). Создаем в корневом каталоге смонтированного виртуального диска папку с названием xposed, и распаковываем в нее содержимое файла xposed-v90-sdk27-x86-beta3.zip. После окончания распаковки там будет две папки, с названиями META-INF и system. Заходим в подпапку META-INF\com\google\android и копируем все файлы оттуда в папку \xposed. Далее возвращаемся в папку \xposed и редактируем файл flash-script.sh с помощью любого текстового редактора. Нужно перейти в конец файла, затем искать ближайшую к концу файла строку "exit 1" (весьма вероятно она будет на строке 194). Её нужно закомментировать, поставив перед ней #, так чтобы она выглядела как "# exit 1". Сохраняем отредактированный flash-script.sh

Ранее скачанный файл de.robv.android.xposed.installer_43.apk копируем в папку \apk2 на виртуальном жестком диске.

В итоге должно получиться примерно так (скриншоты из Far Manager):
1676737278991.png


1676737307708.png

Далее отсоединяем виртуальный жесткий диск (командой "Отсоединить виртуальный жесткий диск" в оснастке "Управление дисками", как описывалось выше). Запускаем виртуальную машину с Android-x86 в Debug mode. В консоли вводим команды:

cd /
mkdir /fat16
mount -t vfat /dev/sdb1 /fat16
ls /fat16/apk2
ls /fat16/xposed


Если все сделано правильно, в выводе предпоследней команды отобразится файл de.robv.android.xposed.installer_43.apk, а в выводе последней команды - подпапки META-INF и system и несколько файлов, включая flash-script.sh
1676737373026.png

Если все в порядке, далее вводим команды:

mount -o remount,rw /mnt
cd /mnt
ls
cd android-8.1-r6
(название может отличаться в других версиях Android-x86)
cd data/media/0
ls
cd Pictures
cp /fat16/apk2/de.robv.android.xposed.installer_43.apk ./
ls
cd ..
cp -r /fat16/xposed ./xposed
ls


После чего отмонтируем файловые системы и перезагружаем виртуальную машину:

cd /
umount /fat16
rmdir /fat16
umount /mnt
reboot -f


Ждем, пока Android-x86 загрузится в обычном режиме. Заходим в приложение "Файлы", там открываем внутренний носитель и заходим в папку Pictures. Делаем двойной щелчок по файлу de.robv.android.xposed.installer_43.apk и устанавливаем приложение Xposed Installer. По окончании установки запускаем это приложение, должно отобразиться, что Xposed Framework не установлен.
1676737469995.png

Закрываем приложение Xposed Installer, открываем окно терминала, запрашиваем права суперпользователя командой:

su

1676737507429.png

Выбираем "Только в этот раз" и жмем "Разрешить". Далее вводим команды:

cd /data/data/de.robv.android.xposed.installer
ls -l


В выводе будет присутствовать имя владельца файлов - строка вида u0_a71 (может немного отличаться). Запоминаем это имя. Далее, создаем подкаталог conf и устанавливаем на него права доступа:

mkdir conf
chmod 771 conf
chown u0_a71:u0_a71 conf
(при необходимости заменить u0_a71 на актуальное имя владельца)

Далее вводим:

touch conf/jit_reset_offset
echo 148 > conf/jit_reset_offset
chmod 771 conf/jit_reset_offset
chown u0_a71:u0_a71 conf/jit_reset_offset
(заменить u0_a71 на актуальное имя)

Затем вводим:

ls /storage/emulated/0

Если в выводе отобразятся папки Pictures и xposed, переходим в папку /storage/emulated/0/xposed :

cd /storage/emulated/0/xposed

Далее нужно запустить скрипт flash-script.sh :

sh flash-script.sh

Ждем окончания его работы, после чего вводим

exit

и закрываем терминал. Перезапускаем Android-x86, для этого в меню окна VirtualBox выбираем "Машина | Завершить работу"
1676736137018.png

и далее жмем "Перезапустить". Если все сделано правильно, перезагрузка будет длиться заметно дольше чем обычно, однако в конечном итоге отобразится рабочий стол Android-x86.
1676735980832.png

Открываем приложение Xposed Installer и видим, что Xposed Framework успешно установлен:
1676737711416.png

Сам по себе Xposed Framework не позволяет подменять IMEI и прочие идентификаторы, для этого нужно установить дополнительные модули. Один из простейших модулей, позволяющих это делать - Android Faker. Его можно найти на GitHub-е, однако последние версии Android Faker не работают с Xposed Framework (требуют наличия более поздних Lsposed либо Edxposed), поэтому скачиваем предыдущую версию по ссылке в виде APK-файла.

Установка Android Faker проводится полностью аналогично тому, как описывалось выше (установка NetGuard и APK-файла Xposed Installer): нужно запустить оснастку "Управление дисками", смонтировать VHD-образ с виртуальным жестким диском, скопировать на него скачанный APK-файл с Android Faker, отмонтировать VHD-образ, затем запустить Android-x86 в режиме Debug mode, в режиме командной строки скопировать APK-файл в папку data/media/0/Pictures, в той же командной строке отмонтировать файловые системы, перезагрузить Android-x86 и дать ему загрузиться в обычном режиме, затем в приложении "Файлы" найти APK-файл с Android Faker и установить его.

(!) Обращаю ваше внимание на то, что если установить APK-файл с Android Faker сразу, минуя установку Xposed Framework - то он установится, однако при запуске выдаст ошибку вида "Xposed Framework не установлен", и фактически не будет работать. Это справедливо и в отношении других APK-файлов с модулями для Xposed Framework.

Сразу после установки и запуска Android Faker отобразит, что модуль не активирован:
1676737933921.png

Запускаем приложение Xposed Installer, заходим в раздел "Установленные модули"
1676737966788.png

и включаем галочку напротив Android Faker:
1676738004806.png

Далее перезагружаем виртуальную машину с Android-x86, после чего запускаем приложение Android Faker. Теперь уже мы не увидим никаких сообщений об ошибках:
1676738049823.png

Для примера, попробуем установить фейковые IMEI:
1676738080774.png

Жмем SAVE, после чего запускаем приложение "Телефон", и вводим *#06# . В этот раз приложение "Телефон" не будет крашиться, а отобразит введенный нами фейковый IMEI:
1676738131758.png

Значительно более продвинутым функционалом обладает модуль Android Device Changer, его можно скачать по ссылке . Установка производится полностью аналогично описанной выше установке Android Faker.
1676738200243.png

У него есть преднастройки с идентификаторами реально существующих Android-смартфонов (правда, только устаревших моделей), а также мобильных операторов ряда стран, включая в том числе Россию и Украину.

Пробрасывание USB-вебкамеры в виртуальную машину Android-x86

Некоторые Android-приложения требуют доступ к видеокамере телефона, например чтобы отсканировать QR-код. Понятно, что виртуальная машина Android-x86 не является телефоном, и не имеет своей физически существующей камеры. Как быть в таком случае? Ниже я расскажу, как пробросить USB-вебкамеру в виртуальную машину Android-x86, так чтобы Android-приложения воспринимали ее как видеокамеру телефона.

Прежде всего нам понадобится вебкамера, подключаемая к компьютеру через USB, наподобие такой:
1676738257927.png

или такой:
1676738288845.png


Подключаем вебкамеру к компьютеру, при необходимости устанавливаем драйверы для нее. Далее, не отключая вебкамеру (!), запускаем Командную строку от имени администратора. Переходим в подкаталог, в котором установлен VirtualBox (это может быть C:\Program Files\Oracle\VirtualBox либо C:\Program Files\Whonix , в зависимости от используемой вами версии Whonix). Для этого используем команду вида cd <подкаталог>, например:

cd C:\Program Files\Whonix

После этого вводим:

dir *.exe

Если в выводе отобразятся файлы VirtualBox.exe и VBoxManage.exe, например так:
1676738365229.png

значит вы перешли в нужный подкаталог. В таком случае вводим:

VBoxManage.exe list webcams

Отобразится список подключенных вебкамер, например так:
1676738412280.png

В скриншоте выше .1 "Integrated Camera" - это встроенная вебкамера ноутбука, а .2 "iSlim 1300" - внешняя USB-вебкамера.

Для подключения вебкамеры к виртуальной машине с Android-x86, нужно запустить соответствующую виртуальную машину, и не дожидаясь загрузки Android-x86, приостановить загрузку на этапе вывода загрузочного меню, нажимая кнопки "вниз" и/или "вверх" на клавиатуре. Затем переключиться в Командную строку в хостовой системе, и ввести команду вида:

VBoxManage.exe controlvm <имя вирт.машины> webcam attach <идентификатор камеры>

например:

VBoxManage.exe controlvm "Android-x86-Rutor" webcam attach .2

после чего переключиться в виртуальную машину с Android-x86 и продолжить её загрузку в обычном режиме. После загрузки виртуальной машины, приложения в ней будут воспринимать USB-вебкамеру как камеру смартфона.

Для проверки, вы можете установить в виртуальной машине приложение Privacy Friendly QR Scanner . Если все было сделано правильно, то после запуска данного приложения оно будет отображать картинку, которую снимает ваша USB-вебкамера.

Подключение к сети Tor. Создание цепочки Tor -> VPN

Для того, чтобы виртуальная машина с Android-x86 могла подключиться к сети Tor, в VirtualBox, в настройках виртуальной машины, во вкладке "Сеть/Адаптер 1" должен быть выставлен тип подключения - Внутренняя сеть, и имя сети - Whonix. Проверьте это перед тем, как выполнять дальнейшие действия.

Запустите шлюз Whonix-Gateway, дождитесь, пока он подключится к сети Tor, и лишь после этого запускайте виртуальную машину с Android-x86. Обе виртуальные машины - Whonix-Gateway и Android-x86 - должны работать одновременно.

В виртуальной машине с Android-x86 нужно зайти в "Настройки / Сеть и Интернет / Wi-Fi", найти там сеть с названием VirtWifi, навести на нее курсор мыши, после чего нажать и удерживать левую кнопку мыши. Выскочит меню, в этом меню надо выбрать "Изменить сеть".
1676738608401.png

Далее нужно выбрать "Расширенные настройки", указать "Настройки IP" - "Пользовательские", и ввести следующие параметры: IP-адрес - 10.152.152.28 (можно указывать любое произвольное значение в пределах 10.152.152.12 ... 10.152.152.50), шлюз - 10.152.152.10, длина префикса сети - 18, DNS 1 - 10.152.152.10
1676738662169.png

после чего нажать "Сохранить". Теперь проверяем наличие доступа в Интернет и свой IP-адрес, для этого открываем браузер Chrome и заходим на сайт browserleaks.com/ip . Если все сделано правильно, отобразится IP-адрес выходной ноды Tor:
1676738730703.png


1676738788705.png

В некоторых случаях может потребоваться сокрыть факт использования вами Tor, для этого нужно выстраивать цепочку Tor -> VPN. В этом случае потребуется отключить фаервол NetGuard, так как, к сожалению, NetGuard не может работать одновременно с VPN-приложениями. При этом следует иметь в виду, что в случае отключения NetGuard, встроенные в Android-x86 сервисы Google начнут коннектиться к серверам Гугла, сливать на них телеметрию и скачивать обновления. Поэтому решайте сами, исходя из ваших задач, что для вас важнее - фаервол NetGuard либо цепочка Tor -> VPN.

Общий алгоритм следующий:

1. Подыскиваем подходящее VPN-приложение, скачиваем его в виде APK-файла и копируем в виртуальную машину с Android-x86 через командную строку в Debug mode. Но - пока не устанавливаем!

2. Загружаем виртуальную машину Android-x86 в обычном режиме. Запускаем приложение NetGuard, и отключаем его. Потом переходим в настройки Android-x86, в разделе "Сеть и Интернет / VPN", для NetGuard отключаем опцию "Постоянная VPN".

3. Открываем приложение "Файлы", находим APK-файл скачанного вами VPN-приложения, устанавливаем его, по окончании установки - запускаем. При необходимости - настраиваем.

4. Для проверки запускаем браузер Chrome и смотрим свой IP-адрес.

Для примера, я установил бесплатное приложение Riseup VPN, которое можно скачать по ссылке , и включил его:
1676738882840.png

Потом открыл браузер Chrome и зашел на сайт browserleaks.com/ip . Там отобразился IP-адрес VPN-сервера, который не детектился как выходная нода Tor:
1676738936041.png


1676741500075.png


Установка Android-приложений из Google Play

Как известно, Google Play не позволяет скачивать APK-файлы приложений штатными способами, и к тому же требует наличия Google-аккаунта, тем самым деаноня пользователя. Однако для установки приложений в виртуальной машине с Android-x86 нам непременно нужен APK-файл, по возможности скачанный анонимно. Как быть? Есть очень простой лайфхак: большинство приложений из Google Play можно скачать в виде APK-файлов на этих сайтах:


При скачивании нужно иметь в виду, что одни приложения доступны в универсальном виде для разных архитектур процессора, например:
1676741604811.png

тогда как другие есть в нескольких вариантах под разные архитектуры, например:
1676741635828.png


1676741663712.png

В таком случае нужно искать вариант для архитектуры x86 в виде APK, и скачивать именно его, например:
1676741702046.png

Варианты под другие архитектуры, например armeabi-v7a или arm64-v8a - не будут работать в виртуальной машине Android-x86. Также следует иметь в виду, что в виртуальной машине Android-x86 не получится установить файлы формата XAPK, независимо от процессорной архитектуры.

P.S. Вместо заключения.

Вовсе не обязательно выполнять все вышеописанные манипуляции. Намного лучше настраивать виртуальную машину Android-x86 с учетом конкретных задач, для которых она вам нужна. Например, если вам нужно зарегистрировать левый Telegram-аккаунт - можно не устанавливать Xposed Framework и не настраивать цепочку Tor -> VPN, такие меры будут излишними. И совсем другое дело, если вы планируете использовать какие-то приложения типа электронных кошельков - там будут желательны и подмена идентификаторов, и сокрытие факта использования Tor.
 
Хотелось бы ещё почитать про tails её настройку и костомизацию.
Тут я вряд ли смогу что-то написать, по причине того, что не пользуюсь Tails. К тому же, насколько помню, по Tails были мануалы в свободном доступе.
 
Неплохой гайд для новичков(ну и продвинутых юзеров тоже).
ТС-у - респект.
 
Ну а запуск Android-приложений на физически существующем телефоне, само собой, почти автоматом приводит к деанону.
Совершенно необязательно. Многие трубы (на которые нормально встаёт magisk) без проблем работают например с apk американских банков (подмена всего от device id до gps) без всякого деанона. (Да, нужно конечно еще правильный роутер (OpwnWRT) чтобы весь трафик засунуть в американский socks). А вот сам факт запущености на x86 - само по себе палево и попробуйте с такого девайса зарегать хотя бы paypal...
 
Спасибо за статью!) будем пробовать по шагово
 
Uran хорошая статья поддерживаю, но почему ты так зациклился на x86? В принципе ответ сам приходит в голову, потому что у тебя такое устройство. Если пошарить малёха можно произвести те же действия на всех процах и устройствах. А так респект
 
Uran хорошая статья поддерживаю, но почему ты так зациклился на x86? В принципе ответ сам приходит в голову, потому что у тебя такое устройство. Если пошарить малёха можно произвести те же действия на всех процах и устройствах. А так респект
Да потому что не бывает обычных компов или ноутов с ARM-процессорами. Такие процессоры как правило ставят в телефоны, а также в некоторые модели промышленных компьютеров. На обычные бытовые компьютеры и ноуты, как правило, ставят процессоры архитектуры x86_64. Виртуальная машина VirtualBox, запущенная на таком компе - может эмулировать либо x86_64, либо x86. Эмулировать ARM-процессор, VirtualBox не умеет. Отсюда и зацикленность на x86.
 
Совершенно необязательно. Многие трубы (на которые нормально встаёт magisk) без проблем работают например с apk американских банков (подмена всего от device id до gps) без всякого деанона. (Да, нужно конечно еще правильный роутер (OpwnWRT) чтобы весь трафик засунуть в американский socks). А вот сам факт запущености на x86 - само по себе палево и попробуйте с такого девайса зарегать хотя бы paypal...
Мда, вижу антифрод-системы в США шагнули очень далеко... Мне доводилось запускать на подобном эмуляторе приложения некоторых украинских банков, причем не просто запускать, а именно пользоваться онлайн-банкингом на дропа. И так вот, все работало совершенно нормально.
 
А вот сам факт запущености на x86 - само по себе палево и попробуйте с такого девайса зарегать хотя бы paypal...
Это чепуха. Пэйпал видит и логирует только, с какого ты броузера и операционки к ним заходишь, но не характеристики твоего железа; к тому же, можно сидеть через удалённый рабочий стол и компьютер-посредник.
 
с какого ты броузера и операционки
Эта, а зачем тогда вообще андроид, если в итоге заходить с браузера ? А вот внезапно, некоторых функций paypal просто нет в браузере, а есть только в приложении, а оно уже шлёт всё до чего может дотянуться.
 
Эта, а зачем тогда вообще андроид, если в итоге заходить с браузера ?
Чтобы сервер "думал", что юзверь заходит с операционной системы Андроид, а не с чего-то более серьёзного. И чтобы установить на него аппликацию, "типа это смартфон". Иногда в аппликациях бывает навёрнуто больше всяких возможностей, чем если ты заходишь с обычного компа через обычный броузер, чудеса маркетинга, чо.
 
Иногда в аппликациях бывает навёрнуто больше всяких возможностей, чем если ты заходишь с обычного компа через обычный броузер, чудеса маркетинга, чо.
У меня, как у сторонника ПК и просто заботящегося о своей конфиденциальности человека, эти "чудеса маркетинга" вызывают жесткий рвотный рефлекс. Что, кстати, и побудило меня к разработке эмулятора Android, заточенного под анонимность.
 
Сколько времени уходит на всю сборку?
 
Готовые эмуляторы Android, например такие как Bluestacks или Android Studio, не предназначены для анонимной работы и не имеют функционала для заворачивания трафика в сеть Tor. Запуск Android-приложений на таких эмуляторах зачастую может привести к деанонимизации пользователя. Существуют онлайн-эмуляторы, способные работать прямо в браузере Tor, например ApkOnline, однако их функционал, откровенно говоря, оставляет желать лучшего. Ну а запуск Android-приложений на физически существующем телефоне, само собой, почти автоматом приводит к деанону.

В этой статье будет рассказано, как самостоятельно собрать эмулятор Android, специально заточенный под анонимную работу - с заворачиванием всего сетевого трафика в Tor, а также с возможностью подмены идентификаторов "железа", таких как наименование устройства, IMEI и других.

За основу мы возьмем Android-x86 - это сборка Android с модифицированным ядром, способная запускаться на обычных компьютерах и ноутбуках, внутри виртуальной машины VirtualBox. Android-x86 является бесплатным ПО с открытым исходным кодом, и доступен для скачивания в виде готовых ISO-образом. Для сборки эмулятора мы будем использовать Android-x86 версии 8.1 в 32-битной редакции (последняя версия на момент написания статьи - 9.0 64-битная). Почему именно эту версию, а не самую последнюю? На то есть несколько причин:

1. Абсолютное большинство современных Android-приложений прекрасно работают на этой версии Android-x86.

2. 64-битные редакции Android-x86 существенно более прожорливы в плане использования ресурсов компьютера, нежели 32-битные. При этом никаких особых преимуществ при запуске Android-приложений они не дают.

3. Для подмены идентификаторов "железа" в эмуляторе необходима установка Xposed Framework. Данный проект сейчас уже не поддерживается, и не способен работать на Android-x86 версии 9.0. Последняя версия Android-x86, на которой можно установить Xposed Framework - 8.1 в 32-битной редакции.

Из этих соображений Android-x86 версии 8.1 была выбрана как наиболее оптимальная.

Установка Android-x86 в виртуальной машине VirtualBox

Для начала скачиваем ISO-образ Android-x86. Заходим на , переходим на любое из зеркал, там ищем файл с названием android-x86-8.1-r6.iso (это нужная нам версия), и скачиваем его.

Детальное описание процесса установки можно найти в открытых источниках. Я не буду расписывать его подробно, сосредоточусь лишь на ряде неочевидных и/или плохо описанных моментов.

Перед установкой Android-x86, необходимо установить VirtualBox, Whonix, а также VirtualBox Extension Pack.

При создании виртуальной машины, объем виртуального жесткого диска желательно выставить равным 32 ГБ. Можно и больше, но меньше - нежелательно.

В окне настроек виртуальной машины нужно выставить следующие параметры:
- Во вкладке "Общие/Основные" указать тип операционной системы - Linux, версия - Other Linux (32-bit).
Посмотреть вложение 747862
- Во вкладке "Система/Материнская плата" указать объем оперативной памяти не менее 2560 МБ. Как показал мой опыт, это минимальный необходимый объем, при меньшем объеме оперативки Android-x86 не запускается. Желательно выставить даже больше.
- Там же выставить: чипсет - PIIX3, манипулятор курсора - USB планшет, а также включить опцию "Включить I/O APIC".
- Во вкладке "Система/Процессор" выставить число процессоров - 2, и включить опцию "Включить PAE/NX".
- Во вкладке "Дисплей/Экран" выставить тип графического контроллера - VBoxSVGA, объем видеопамяти указать 128 МБ. При меньшем объеме видеопамяти Android-x86 может не запуститься.
- Во вкладке "Носители" выставить контроллер жесткого диска - IDE, тип - PIIX4.
- Во вкладке "Сеть/Адаптер 1" выставить тип адаптера - Intel PRO/1000 MT Desktop (82540EM). Для корректного подключения к сети Tor нужно там же выставить тип подключения - Внутренняя сеть, имя сети - Whonix.
Посмотреть вложение 747864
В процессе установки, на вопрос "Do you want to use GPT?" надо ответить "No".
Посмотреть вложение 747865
Раздел под Android-x86 надо форматировать в файловую систему ext4. Не NTFS и не FAT32!
На вопрос "Do you want to install boot loader GRUB?" надо ответить "Yes".

На вопрос "Do you want to install /system directory as read-write?" надо ответить "Yes".

Когда будет предложено подключиться к Wi-Fi - надо выбрать "Пропустить".

В окне настройки сервисов Google надо отключить геолокацию и отправку диагностической информации.

В качестве главного приложения надо выбрать Launcher3 и указать "Всегда".

Если все правильно сделано, в итоге отобразится рабочий стол Android-x86, отдаленно похожий на рабочий стол Android-смартфона.
Посмотреть вложение 747869
Затем нужно зайти в раздел настроек "Система", там перейти в "О планшете", найти информацию о номере сборки Android, и много раз щелкать по номеру сборки, до тех пор, пока не отобразится сообщение "Вы стали разработчиком!". В настройках после этого появится пункт "Для разработчиков", там можно будет включать или отключать предоставление приложениям прав root.
Посмотреть вложение 747872

Посмотреть вложение 747873
Теперь завершаем работу виртуальной машины. Для этого в меню окна VirtualBox надо выбрать "Машина | Завершить работу".
Посмотреть вложение 747874
Затем надо выбрать "Выключить" и подождать. Окно виртуальной машины через некоторое время закроется само.

Установка фаервола. Заодно учимся работать с файловой системой Android-x86.

Для дополнительной конфиденциальности - чтобы встроенные в Android-x86 сервисы Google не лазили лишний раз в интернет и не сливали лишних сведений на сервера Google - нужно установить фаервол. В качестве фаервола рекомендую использовать NetGuard. Заходим на и скачиваем последнюю версию в виде APK-файла.

И тут мы подходим к тому, что скачанный APK-файл надо каким-то образом скопировать из хостовой системы вовнутрь виртуальной машины с Android-x86. Расскажу, как это сделать в случае, если хостовой системой является Windows.

Заходим в окно настроек виртуальной машины Android-x86, на вкладке "Носители" жмем на значок добавления жесткого диска, в открывшемся окне выбираем "Создать новый диск".
Посмотреть вложение 747878
Тип жесткого диска надо указать - VHD, это очень важно!
Посмотреть вложение 747879
Размер жесткого диска надо выставить в пределах от 1 ГБ до 1,5 ГБ, но не больше, это тоже важно! В примере ниже я указал 1,29 ГБ:
Посмотреть вложение 747880
После создания виртуального жесткого диска и сохранения параметров, надо в хостовой системе запустить Командную строку от имени администратора, и ввести команду:

mmc.exe diskmgmt.msc

Откроется оснастка "Управление дисками". В меню "Действие" выбираем команду "Присоединить виртуальный жесткий диск". Находим VHD-файл с только что созданным виртуальным жестким диском, и жмем ОК. Если все сделано правильно, в списке дисков появится новый жесткий диск, размером чуть больше 1 ГБ (аккурат таким же, который вы указывали при создании виртуального диска через настройки VirtualBox, в моем случае 1,29 ГБ), и с пометкой "Не проинициализирован".
Посмотреть вложение 747883
Жмем по нему правой кнопкой мыши и выбираем "Инициализировать диск". Стиль разделов выбираем MBR - Master Boot Record. Далее жмем по нему правой кнопкой мыши и выбираем "Создать простой том..." Откроется мастер создания тома. Букву диска назначаем любую произвольную, я указал G:. Дальше будет выбор - не форматировать том, либо форматировать в FAT, FAT32, либо NTFS. Выбираем форматирование тома в FAT (это важно!). По желанию можно указать метку тома, я указал ANDRO-VFAT. Далее, если все сделано правильно, в вашей системе появится новый диск с указанной вами меткой тома и буквой. Это можно проверить, например, через окно "Мой компьютер".
Посмотреть вложение 747886
После этого копируем на этот диск ранее скачанный APK-файл с NetGuard. Это лучше всего делать с помощью файлового менеджера вроде Total Commander или Far Manager. Для удобства можно создать в корневом каталоге этого диска папку, например с названием apk2, и скопировать APK-файл туда. В итоге должно получиться так (скриншот из Far Manager):
Посмотреть вложение 747887
Далее переходим в оснастку "Управление дисками", щелкаем правой кнопкой мыши по нашему виртуальному жесткому диску, и выбираем "Отсоединить виртуальный жесткий диск". Если все сделано правильно, виртуальный жесткий диск пропадет из списка дисков в оснастке "Управление дисками", а в окне "Мой компьютер" перестанет отображаться буква этого диска.

Затем запускаем виртуальную машину Android-x86. В самом начале загрузки, на короткое время отобразится загрузочное меню. В этом меню нужно быстро выбрать - Debug mode, и нажать Enter!
Посмотреть вложение 747888
Дальше ждем 30-60 секунд, после чего жмем Enter. Должно будет появиться приглашение вида android:/android # Если оно не появилось - жмем Enter каждые 30 секунд, до тех пор, пока оно не появится.

Когда приглашение появилось, вводим команды:

cd /
mkdir /fat16
mount -t vfat /dev/sdb1 /fat16
ls /fat16
ls /fat16/apk2


Если все сделано правильно, в выводе предпоследней команды отобразится подкаталог apk2, а в выводе последней команды - APK-файл NetGuard, скопированный ранее на виртуальный жесткий диск.
Посмотреть вложение 747889
Далее вводим команды:

mount -o remount,rw /mnt
cd /mnt
ls


Должно будет отобразиться имя подкаталога вида android-8.1-r6 (может отличаться в других версиях Android-x86).
Посмотреть вложение 747891
Заходим в этот подкаталог командой:

cd android-8.1-r6

А дальше вводим:

cd data/media/0
ls


Отобразится список папок пользователя на внутреннем носителе Android (может отличаться в разных версиях Android-x86).
Посмотреть вложение 747893
Ищем подпапку с именем Pictures (либо аналогичным), заходим в нее:

cd Pictures

и просматриваем ее содержимое командой:

ls

Увидим, что там пусто. Копируем в нее APK-файл NetGuard командой:

cp /fat16/apk2/eu.faircode.netguard_2022111001.apk ./

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

ls

Увидим, что там появился скопированный нами APK-файл NetGuard. После чего переходим в корневой каталог, отмонтируем файловые системы:

cd /
umount /fat16
rmdir /fat16
umount /mnt


и перезагружаем виртуальную машину командой:

reboot -f

Далее ждем, пока Android-x86 загрузится в обычном режиме. Заходим в приложение "Файлы", жмем на три вертикальные точки в правом верхнем углу экрана, и выбираем "Показать внутр. хранилище". Затем в левой части экрана нажимаем на "VirtualBox". Увидим список папок пользователя на внутреннем носителе, среди них будет папка Pictures. Делаем на ней двойной щелчок, и - увидим APK-файл NetGuard, который мы туда ранее скопировали.
Посмотреть вложение 747895
Делаем по нему двойной щелчок, после чего нам будет предложено установить приложение. Устанавливаем его, по окончании установки - запускаем. Включаем NetGuard переключателем в верхней части экрана, даем согласие на все последующие запросы. Далее заходим в настройки NetGuard, переходим в "Дополнительные опции" и там включаем параметр "Управлять сист. приложениями".
Посмотреть вложение 747896
Возвращаемся в основное окно NetGuard, и там - запрещаем доступ в Интернет для всех-всех-всех приложений, за исключением браузера Chrome.
Посмотреть вложение 747898
Потом возвращаемся на рабочий стол Android-x86 (жмем кружочек посередине черной полоски в самом низу экрана Android-x86). Заходим в Настройки, переходим в раздел "Сеть и Интернет", потом жмем на пункт "VPN". Напротив значка NetGuard жмем на шестереночку, и далее - включаем опцию "Постоянная VPN". Все, на этом настройка NetGuard окончена.

После этого можно завершить работу виртуальной машины, так, как описывалось выше.

Установка Xposed Framework. Подмена идентификаторов устройства

Любое Android-устройство, хоть физически существующий телефон, хоть виртуальная машина Android-x86 - имеет свои идентификаторы: название производителя и модели устройства, IMEI, и ряд других. Идентификаторы Android-x86 значительно отличаются от идентификаторов физически существующих телефонов, в чем вы можете убедиться, зайдя в настройках Android-x86 в раздел "Система / О планшете". В качестве фирмы-производителя устройства там указана innotek GmbH (такая фирма существует, однако производством телефонов не занимается от слова совсем), а в качестве модели устройства - VirtualBox (недвузначный намек на виртуальную машину). Кроме того, Android-x86 "из коробки" не имеет IMEI, в чем вы можете убедиться, открыв приложение "Телефон" и введя *#06# - приложение "Телефон" от этого будет крашиться. (На обычном телефоне комбинация *#06# приведет к отображению IMEI телефона.) Любое Android-приложение, которое вы запустите на Android-x86 - сможет считать эти идентификаторы и по ним понять, что его запустили на виртуальной машине.

В некоторых случаях может возникнуть надобность сокрытия от Android-приложения упомянутых идентификаторов, а точнее - не сокрытия, а подмены идентификаторов на фейковые. Для этого потребуется установить Xposed Framework.

(!) В процессе установки Xposed Framework может получиться так называемый boot loop - это когда система Android-x86 перестает загружаться и в процессе загрузки зависает на этапе отображения заставки с логотипом Android. Поэтому, прежде чем приступать к нижеописанным действиям, настоятельно рекомендую сделать резервную копию виртуальной машины. Проще всего это реализовать, сделав резервную копию .vdi-файла с установленной системой Android-x86 (не путать с VHD-файлом, который мы создавали для переноса файлов!). В случае если что-то пойдет не так и система выпадет в boot loop, будет достаточно восстановить .vdi-файл из резервной копии.

Первым делом скачиваем подходящую версию Xposed Framework. Поскольку данный проект более не поддерживается и его официальный сайт закрыт, скачивать будем из копии в Архиве Интернета . Там нужно открыть папку sdk27, затем x86, после чего скачать файл xposed-v90-sdk27-x86-beta3.zip

Потом заходим на и скачиваем файл de.robv.android.xposed.installer_43.apk

Запускаем оснастку "Управление дисками" командой

mmc.exe diskmgmt.msc

как описывалось выше. В меню оснастки выбираем "Действие | Присоединить виртуальный жесткий диск". Находим VHD-файл с виртуальным жестким диском, отформатированным под FAT (который вы создавали ранее), и монтируем его. Далее заходим на этот виртуальный жесткий диск в любом файловом менеджере (например Total Commander или Far Manager). Создаем в корневом каталоге смонтированного виртуального диска папку с названием xposed, и распаковываем в нее содержимое файла xposed-v90-sdk27-x86-beta3.zip. После окончания распаковки там будет две папки, с названиями META-INF и system. Заходим в подпапку META-INF\com\google\android и копируем все файлы оттуда в папку \xposed. Далее возвращаемся в папку \xposed и редактируем файл flash-script.sh с помощью любого текстового редактора. Нужно перейти в конец файла, затем искать ближайшую к концу файла строку "exit 1" (весьма вероятно она будет на строке 194). Её нужно закомментировать, поставив перед ней #, так чтобы она выглядела как "# exit 1". Сохраняем отредактированный flash-script.sh

Ранее скачанный файл de.robv.android.xposed.installer_43.apk копируем в папку \apk2 на виртуальном жестком диске.

В итоге должно получиться примерно так (скриншоты из Far Manager):
Посмотреть вложение 747904

Посмотреть вложение 747905
Далее отсоединяем виртуальный жесткий диск (командой "Отсоединить виртуальный жесткий диск" в оснастке "Управление дисками", как описывалось выше). Запускаем виртуальную машину с Android-x86 в Debug mode. В консоли вводим команды:

cd /
mkdir /fat16
mount -t vfat /dev/sdb1 /fat16
ls /fat16/apk2
ls /fat16/xposed


Если все сделано правильно, в выводе предпоследней команды отобразится файл de.robv.android.xposed.installer_43.apk, а в выводе последней команды - подпапки META-INF и system и несколько файлов, включая flash-script.sh
Посмотреть вложение 747906
Если все в порядке, далее вводим команды:

mount -o remount,rw /mnt
cd /mnt
ls
cd android-8.1-r6
(название может отличаться в других версиях Android-x86)
cd data/media/0
ls
cd Pictures
cp /fat16/apk2/de.robv.android.xposed.installer_43.apk ./
ls
cd ..
cp -r /fat16/xposed ./xposed
ls


После чего отмонтируем файловые системы и перезагружаем виртуальную машину:

cd /
umount /fat16
rmdir /fat16
umount /mnt
reboot -f


Ждем, пока Android-x86 загрузится в обычном режиме. Заходим в приложение "Файлы", там открываем внутренний носитель и заходим в папку Pictures. Делаем двойной щелчок по файлу de.robv.android.xposed.installer_43.apk и устанавливаем приложение Xposed Installer. По окончании установки запускаем это приложение, должно отобразиться, что Xposed Framework не установлен.
Посмотреть вложение 747909
Закрываем приложение Xposed Installer, открываем окно терминала, запрашиваем права суперпользователя командой:

su

Посмотреть вложение 747910
Выбираем "Только в этот раз" и жмем "Разрешить". Далее вводим команды:

cd /data/data/de.robv.android.xposed.installer
ls -l


В выводе будет присутствовать имя владельца файлов - строка вида u0_a71 (может немного отличаться). Запоминаем это имя. Далее, создаем подкаталог conf и устанавливаем на него права доступа:

mkdir conf
chmod 771 conf
chown u0_a71:u0_a71 conf
(при необходимости заменить u0_a71 на актуальное имя владельца)

Далее вводим:

touch conf/jit_reset_offset
echo 148 > conf/jit_reset_offset
chmod 771 conf/jit_reset_offset
chown u0_a71:u0_a71 conf/jit_reset_offset
(заменить u0_a71 на актуальное имя)

Затем вводим:

ls /storage/emulated/0

Если в выводе отобразятся папки Pictures и xposed, переходим в папку /storage/emulated/0/xposed :

cd /storage/emulated/0/xposed

Далее нужно запустить скрипт flash-script.sh :

sh flash-script.sh

Ждем окончания его работы, после чего вводим

exit

и закрываем терминал. Перезапускаем Android-x86, для этого в меню окна VirtualBox выбираем "Машина | Завершить работу"
Посмотреть вложение 747874
и далее жмем "Перезапустить". Если все сделано правильно, перезагрузка будет длиться заметно дольше чем обычно, однако в конечном итоге отобразится рабочий стол Android-x86.
Посмотреть вложение 747869
Открываем приложение Xposed Installer и видим, что Xposed Framework успешно установлен:
Посмотреть вложение 747920
Сам по себе Xposed Framework не позволяет подменять IMEI и прочие идентификаторы, для этого нужно установить дополнительные модули. Один из простейших модулей, позволяющих это делать - Android Faker. Его можно найти на GitHub-е, однако последние версии Android Faker не работают с Xposed Framework (требуют наличия более поздних Lsposed либо Edxposed), поэтому скачиваем предыдущую версию по ссылке в виде APK-файла.

Установка Android Faker проводится полностью аналогично тому, как описывалось выше (установка NetGuard и APK-файла Xposed Installer): нужно запустить оснастку "Управление дисками", смонтировать VHD-образ с виртуальным жестким диском, скопировать на него скачанный APK-файл с Android Faker, отмонтировать VHD-образ, затем запустить Android-x86 в режиме Debug mode, в режиме командной строки скопировать APK-файл в папку data/media/0/Pictures, в той же командной строке отмонтировать файловые системы, перезагрузить Android-x86 и дать ему загрузиться в обычном режиме, затем в приложении "Файлы" найти APK-файл с Android Faker и установить его.

(!) Обращаю ваше внимание на то, что если установить APK-файл с Android Faker сразу, минуя установку Xposed Framework - то он установится, однако при запуске выдаст ошибку вида "Xposed Framework не установлен", и фактически не будет работать. Это справедливо и в отношении других APK-файлов с модулями для Xposed Framework.

Сразу после установки и запуска Android Faker отобразит, что модуль не активирован:
Посмотреть вложение 747927
Запускаем приложение Xposed Installer, заходим в раздел "Установленные модули"
Посмотреть вложение 747928
и включаем галочку напротив Android Faker:
Посмотреть вложение 747930
Далее перезагружаем виртуальную машину с Android-x86, после чего запускаем приложение Android Faker. Теперь уже мы не увидим никаких сообщений об ошибках:
Посмотреть вложение 747932
Для примера, попробуем установить фейковые IMEI:
Посмотреть вложение 747933
Жмем SAVE, после чего запускаем приложение "Телефон", и вводим *#06# . В этот раз приложение "Телефон" не будет крашиться, а отобразит введенный нами фейковый IMEI:
Посмотреть вложение 747937
Значительно более продвинутым функционалом обладает модуль Android Device Changer, его можно скачать по ссылке . Установка производится полностью аналогично описанной выше установке Android Faker.
Посмотреть вложение 747944
У него есть преднастройки с идентификаторами реально существующих Android-смартфонов (правда, только устаревших моделей), а также мобильных операторов ряда стран, включая в том числе Россию и Украину.

Пробрасывание USB-вебкамеры в виртуальную машину Android-x86

Некоторые Android-приложения требуют доступ к видеокамере телефона, например чтобы отсканировать QR-код. Понятно, что виртуальная машина Android-x86 не является телефоном, и не имеет своей физически существующей камеры. Как быть в таком случае? Ниже я расскажу, как пробросить USB-вебкамеру в виртуальную машину Android-x86, так чтобы Android-приложения воспринимали ее как видеокамеру телефона.

Прежде всего нам понадобится вебкамера, подключаемая к компьютеру через USB, наподобие такой:
Посмотреть вложение 747947
или такой:
Посмотреть вложение 747950

Подключаем вебкамеру к компьютеру, при необходимости устанавливаем драйверы для нее. Далее, не отключая вебкамеру (!), запускаем Командную строку от имени администратора. Переходим в подкаталог, в котором установлен VirtualBox (это может быть C:\Program Files\Oracle\VirtualBox либо C:\Program Files\Whonix , в зависимости от используемой вами версии Whonix). Для этого используем команду вида cd <подкаталог>, например:

cd C:\Program Files\Whonix

После этого вводим:

dir *.exe

Если в выводе отобразятся файлы VirtualBox.exe и VBoxManage.exe, например так:
Посмотреть вложение 747951
значит вы перешли в нужный подкаталог. В таком случае вводим:

VBoxManage.exe list webcams

Отобразится список подключенных вебкамер, например так:
Посмотреть вложение 747953
В скриншоте выше .1 "Integrated Camera" - это встроенная вебкамера ноутбука, а .2 "iSlim 1300" - внешняя USB-вебкамера.

Для подключения вебкамеры к виртуальной машине с Android-x86, нужно запустить соответствующую виртуальную машину, и не дожидаясь загрузки Android-x86, приостановить загрузку на этапе вывода загрузочного меню, нажимая кнопки "вниз" и/или "вверх" на клавиатуре. Затем переключиться в Командную строку в хостовой системе, и ввести команду вида:

VBoxManage.exe controlvm <имя вирт.машины> webcam attach <идентификатор камеры>

например:

VBoxManage.exe controlvm "Android-x86-Rutor" webcam attach .2

после чего переключиться в виртуальную машину с Android-x86 и продолжить её загрузку в обычном режиме. После загрузки виртуальной машины, приложения в ней будут воспринимать USB-вебкамеру как камеру смартфона.

Для проверки, вы можете установить в виртуальной машине приложение Privacy Friendly QR Scanner . Если все было сделано правильно, то после запуска данного приложения оно будет отображать картинку, которую снимает ваша USB-вебкамера.

Подключение к сети Tor. Создание цепочки Tor -> VPN

Для того, чтобы виртуальная машина с Android-x86 могла подключиться к сети Tor, в VirtualBox, в настройках виртуальной машины, во вкладке "Сеть/Адаптер 1" должен быть выставлен тип подключения - Внутренняя сеть, и имя сети - Whonix. Проверьте это перед тем, как выполнять дальнейшие действия.

Запустите шлюз Whonix-Gateway, дождитесь, пока он подключится к сети Tor, и лишь после этого запускайте виртуальную машину с Android-x86. Обе виртуальные машины - Whonix-Gateway и Android-x86 - должны работать одновременно.

В виртуальной машине с Android-x86 нужно зайти в "Настройки / Сеть и Интернет / Wi-Fi", найти там сеть с названием VirtWifi, навести на нее курсор мыши, после чего нажать и удерживать левую кнопку мыши. Выскочит меню, в этом меню надо выбрать "Изменить сеть".
Посмотреть вложение 747956
Далее нужно выбрать "Расширенные настройки", указать "Настройки IP" - "Пользовательские", и ввести следующие параметры: IP-адрес - 10.152.152.28 (можно указывать любое произвольное значение в пределах 10.152.152.12 ... 10.152.152.50), шлюз - 10.152.152.10, длина префикса сети - 18, DNS 1 - 10.152.152.10
Посмотреть вложение 747957
после чего нажать "Сохранить". Теперь проверяем наличие доступа в Интернет и свой IP-адрес, для этого открываем браузер Chrome и заходим на сайт browserleaks.com/ip . Если все сделано правильно, отобразится IP-адрес выходной ноды Tor:
Посмотреть вложение 747958

Посмотреть вложение 747959
В некоторых случаях может потребоваться сокрыть факт использования вами Tor, для этого нужно выстраивать цепочку Tor -> VPN. В этом случае потребуется отключить фаервол NetGuard, так как, к сожалению, NetGuard не может работать одновременно с VPN-приложениями. При этом следует иметь в виду, что в случае отключения NetGuard, встроенные в Android-x86 сервисы Google начнут коннектиться к серверам Гугла, сливать на них телеметрию и скачивать обновления. Поэтому решайте сами, исходя из ваших задач, что для вас важнее - фаервол NetGuard либо цепочка Tor -> VPN.

Общий алгоритм следующий:

1. Подыскиваем подходящее VPN-приложение, скачиваем его в виде APK-файла и копируем в виртуальную машину с Android-x86 через командную строку в Debug mode. Но - пока не устанавливаем!

2. Загружаем виртуальную машину Android-x86 в обычном режиме. Запускаем приложение NetGuard, и отключаем его. Потом переходим в настройки Android-x86, в разделе "Сеть и Интернет / VPN", для NetGuard отключаем опцию "Постоянная VPN".

3. Открываем приложение "Файлы", находим APK-файл скачанного вами VPN-приложения, устанавливаем его, по окончании установки - запускаем. При необходимости - настраиваем.

4. Для проверки запускаем браузер Chrome и смотрим свой IP-адрес.

Для примера, я установил бесплатное приложение Riseup VPN, которое можно скачать по ссылке , и включил его:
Посмотреть вложение 747960
Потом открыл браузер Chrome и зашел на сайт browserleaks.com/ip . Там отобразился IP-адрес VPN-сервера, который не детектился как выходная нода Tor:
Посмотреть вложение 747962

Посмотреть вложение 748053

Установка Android-приложений из Google Play

Как известно, Google Play не позволяет скачивать APK-файлы приложений штатными способами, и к тому же требует наличия Google-аккаунта, тем самым деаноня пользователя. Однако для установки приложений в виртуальной машине с Android-x86 нам непременно нужен APK-файл, по возможности скачанный анонимно. Как быть? Есть очень простой лайфхак: большинство приложений из Google Play можно скачать в виде APK-файлов на этих сайтах:


При скачивании нужно иметь в виду, что одни приложения доступны в универсальном виде для разных архитектур процессора, например:
Посмотреть вложение 748054
тогда как другие есть в нескольких вариантах под разные архитектуры, например:
Посмотреть вложение 748056

Посмотреть вложение 748057
В таком случае нужно искать вариант для архитектуры x86 в виде APK, и скачивать именно его, например:
Посмотреть вложение 748059
Варианты под другие архитектуры, например armeabi-v7a или arm64-v8a - не будут работать в виртуальной машине Android-x86. Также следует иметь в виду, что в виртуальной машине Android-x86 не получится установить файлы формата XAPK, независимо от процессорной архитектуры.

P.S. Вместо заключения.

Вовсе не обязательно выполнять все вышеописанные манипуляции. Намного лучше настраивать виртуальную машину Android-x86 с учетом конкретных задач, для которых она вам нужна. Например, если вам нужно зарегистрировать левый Telegram-аккаунт - можно не устанавливать Xposed Framework и не настраивать цепочку Tor -> VPN, такие меры будут излишними. И совсем другое дело, если вы планируете использовать какие-то приложения типа электронных кошельков - там будут желательны и подмена идентификаторов, и сокрытие факта использования Tor.
У меня, как у сторонника ПК и просто заботящегося о своей конфиденциальности человека, эти "чудеса маркетинга" вызывают жесткий рвотный рефлекс. Что, кстати, и побудило меня к разработке эмулятора Android, заточенного под анонимность.
насколько этот эмулятор будет анонимным в процентах?! Вряд ли на сто?! Или?!
 
Отличная полезная статья! 10 баллов
 
Есть тут кто? У меня вот вопрос. Я использую Tails и на данный момент на нём у меня всё успешно установилось и запустилось, но боюсь, что если я запущу ещё и Gateway, то мне не хватит оперативы. Критично ли будет, если я выберу другое подключение к интернету? И вообще есть ли такая опция или он только через хуникс и появится на андроид-машине?
 
Есть тут кто? У меня вот вопрос. Я использую Tails и на данный момент на нём у меня всё успешно установилось и запустилось, но боюсь, что если я запущу ещё и Gateway, то мне не хватит оперативы. Критично ли будет, если я выберу другое подключение к интернету? И вообще есть ли такая опция или он только через хуникс и появится на андроид-машине?
Открой в браузере эмулятора андроид сайт whoer.net и посмотри на IP. В tails автоматом весь трафик через ТОР идет, так что думаю в данном случае можно и без Gateway обойтись, но это всего лишь догадки, нужно проверять.
 

Похожие темы

❓ Зачем вообще скрывать приложения? У каждого из нас есть софт на смартфоне, который нежелательно выставлять на показ. А учитывая реалити которые сейчас происходят, когда любой наряд ППС может остановить и залезть в телефон. Это очень необходмо уметь выстраивать барьеры защиты. Очень полезно...
Ответы
10
Просмотры
Что такое MobSF? Представтьте, вам нужно какое-то ПО для смартфона, к примеру вы работаете кладменом, и где то на форуме или в сети нашли разного рода приложения для работы, но вы не знаете можно ли доверять этим приложениям что они собирают, какие разрешения с телефона используют, а вдруг...
Ответы
11
Просмотры
Привет, форумчане! Хочу поделиться инструкцией по поднятию собственного быстрого, надежного и устойчивого к блокировкам VPN для всех ваших устройств, а также устройств ваших близких. Каких-то технических навыков не потребуется. Аренда сервера Первым делом нужно арендовать сервер. Идем по ссылке...
Ответы
0
Просмотры
420
Виртуальная машина Android: Потому что иногда вы также хотите анонимно запускать мобильные приложения. Вы также можете настроить виртуальную машину Android для этой цели. Как и в других случаях, в идеале эта виртуальная машина также должна находиться за шлюзом Whonix для подключения к сети...
Ответы
4
Просмотры
901
Отключение слежки Google на Android. Стартовая настройка боевого телефона Введение. Отключение сервисов и приложений Google. Маркет приложений F-Droid. Подборка инструментов. Заключение. Введение. Google - это паразит для смартфонов разбивающий вдребезги анонимность пользователей. С...
Ответы
94
Просмотры
14К
Назад
Сверху Снизу