• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Подменяем изображение в камере в приложениях или на эмуляторе.

FreeWar

ripper
КИДАЛА
Регистрация
12.11.2018
Сообщения
244
Реакции
122
Пожалуйста, обратите внимание, что пользователь заблокирован
В общем заказчик не забрал материал, решил выложить тут. В виде небольшой статейки.

Наша задача сделать подмену изображения камеры с максимальным качеством для android studio emulator да впринципе и других эмуляторах.

В кратце, для чего это надо?
Да все очень просто, чтобы проходить проверку в приложениях на заведомо известные данные. Будь то чужие доки или другие.

Долго копошась над решением проблемы, мне пришлашла идея не потрошить эмулятор вообще и оставить его впокое. И я решил просто сделать виртуальную камеру, которую можно указать с любыми приложениями а так же ее можно как донора указать в эмуляторе. То есть любой вызов камеры, нам покажет заранее заготовленный эскиз, а может даже и видео. Ну что поехали?

Что нам надо?
1. Debian/Ubuntu подобная система. Хотя будет работать везде)
2. Прямые руки и чуток терпения.

Устанавливаем виртуальную камеру
1. ставим кодек
apt-get install git make ffmpeg

2. клонируем репозиторий драйвера
mkdir codek
cd codek
git clone https://github.com/umlaeute/v4l2loopback.git
cd v4l2loopback

3. устанавливаем его
make && sudo make install
sudo depmod -a

4. запускаем
sudo modprobe v4l2loopback

И вуаля, у нас появляется устройство /dev/video0 или цифра выше если у вас уже стояло что-то.

Запускаем трансляцию изобразения в видео поток драйвера

ffmpeg -loop 1 -r 1/5 -i "path_to_image" -c:v libx264 -vf fps=25 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0

Указываем обязательно -loop 1 чтобы зациклить данное действие. Но если вы были внимательны, сюда же можно и впихнуть видео поток)))

То есть мы можем проигрывать видео, и если откроем потом любым приложением наше устройство, то увидим видео.

Ну теперь финальная стадия, это эмуляция.
Открываем android studio, открываем окно где редактируется виртуальная машина и в настройках камеры, выбираем наше виртуальное устройство. Запускаем и разуемся жизни :)

Screenshot from 2018-11-30 18-10-14.png


У меня все, спасибо за внимание!) а ну и подделывать данные не хорошо ^_^
P.S. Есть вопросы, пишите, с радостью отвечу.
 
Кто с PTP/MTP работал и драйвером камеры, чтобы для андроид железки по USB кастить видео поток вместо стандартной вебкамеры?
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх