Один из авторов Flipper Zero, Павел Жовнер, поделился подробностями о том, как идет работа над новым вариантом хакерского мультитула — Flipper One.
В своем Telegram-канале разработчик опубликовал почти получасовое видео, в котором рассказал о создании интерфейса для нового устройства.
Напомним, что еще в 2020 году Flipper Zero был анонсирован как младшая модель в линейке пентестерских инструментов. Тогда Павел Жовнер рассказывал на «Хабре», что старшая модель, Flipper One, планировалась как более продвинутая версия для атак на проводные и беспроводные сети. One должен был обладать всей функциональность Zero, а также иметь отдельный ARM-компьютер с Kali Linux на борту.
Хотя после этого практически никаких известий о разработке Flipper One не было, в 2023 году Павел Жовнер рассказал в интервью Дане Шеповалову, что продвинутую версию мультитула рано списывать со счетов, и активная работа над Flipper One ведется.
«Мы хотим вообще жирный комбайн с FPGA и SDR, в котором все протоколы можно будет определить программно, но пока есть сомнения, будут ли покупать устройство за 300–500 долларов.
Так что проект в активном R&D, но пока нет понимания по важным частям. Например, не выбрали модуль Wi-Fi, потому что все существующие чипы, пригодные для атак, уже устарели. Возможно, придется спонсировать разработку своего драйвера. В общем, увидим», — сообщал тогда Жовнер.
Как стало известно из нового видео, форм-фактор девайса почти утвержден, и для Flipper One изготавливается кастомный экран с разрешением 256х144 пикселей. Экран и разрешение подобраны исходя из мультиязычности, клавиатур и соотношения сторон в новом продукте.
В настоящее время разработчики занимаются «придумыванием воображаемого интерфейса» и работают над эргономикой устройства.
«Для начала нужно понять, что устройство существует в двух режимах. То есть у него есть сопроцессор, то есть какой-то микроконтроллер, который работает всегда. И когда система выключена, он реализует функцию отображения уровня заряда и powerbank. То есть когда ты втыкаешь во Flipper что-то зарядиться, он показывает, какой power delivery согласовался, сколько потребления. Он может включить подсветку на экране, там работают все кнопки, может быть, есть какое-то простое меню. Его можно использовать как USB-тестер: допустим, подключить к какому-то блоку питания, посмотреть, есть ли там power delivery.
Второй режим, это когда запущен основной процессор. То есть первый шаг: когда загружается bootloader и спрашивает, какую операционную систему ты хочешь (у тебя может быть Android TV, Linux, какой-то другой Linux). Дальше, когда уже запущена и работает сама операционная система. Эти три режима, три шага должны управляться на экране с помощью кнопок, последовательно», — рассказывает Жовнер в ролике.
В настоящее время разработчики пришли к выводу, что для управления устройством понадобится восемь кнопок: стик, D-pad с кнопкой «OK», кнопка для Alt+Tab (для переключения между программами), четыре софтовых кнопки и кнопка питания.
Судя по опубликованному в Telegram-канале фото, предполагается, что Flipper One будет выглядеть так.
«Это тупо компьютер, без nfc, rfid, subghz, infrared, — пишет Павел Жовнер в комментариях под видео. — Все радио будет вставляться платами расширения m.2. Так что воспринимать это стоит как Raspberry Pi с экраном на батарейке, или как мини ноутбук в кармане, есть еще слово “cyber deck”».
Кроме того, в видео Жовнер делится планами по созданию FLIPCTL:
«Идея в том, чтобы этот интерфейс, который здесь живет, был отдельным софтом, самодостаточным. Представим, что оно называется FLIPCTL и это TMUX-подобный интерфейс, который живет, допустим, на SPI-экране в 256х144. И точно так же, если ты подключился к Flipper по SSH и написал flipctl attach, ты увидишь такой же оранжевый экран маленького размера как Flipper и сможешь пользоваться им с клавиатуры. Он будет точно так же дублироваться, если ты его запустишь, допустим, на Rockchip’овской приставке, и он понимает, что это Wayland или “Иксы” и рисует это уже в “Иксах”.
У тебя может быть тачскрин, другое разрешение, другое соотношение сторон и он точно так же, как TMUX, адаптируется под это разрешение».
Разработчик объясняет, что, по его мнению, все кибердеки плохи тем, что никто не пишет для них специальный GUI, а полноценной ОС на крохотном экране попросту неудобно пользоваться.
«Никто, никогда не пишет GUI, а я хочу сделать GUI, который реализует системные фичи: SystemD крутит, NetworkManager и прочее. Плюс врапперы для прикладного софта. То есть какой-то свой язык, Python-сабпроцесс и обертка для прикладных userspace-программ, и чтобы комьюнити туда допиливало. То есть, сегодня сделали обертку для nmap, завтра — обертку для программы Traceroute, послезавтра — для htop и так далее. Как мне кажется, это намного проще, поэтому я ожидаю, что комьюнити таких врапперов под свои программы напишет много», — рассказывает Жовнер.
Он отмечает, что было бы здорово, если бы идея GUI для встраиваемых систем могла развиваться и приносила пользу сторонним разработчикам.
«Представим, что какой-то Supermicro делает свой сервер. И хочет встроить в него GUI. Для Supermicro это крайне тяжело, он не напишет свой GUI. Что мы можем ему предложить? Представим, что китайцы изготавливают модуль, в котором есть интерфейс FLIPCTL. То есть это существует как отдельный программный продукт. И он продает такой “экранчик”, который подключается по USB или еще как-то, и говорит, что это FLIPCTL Compatible. И любой OpenWrt-роутер, любой сервер сможет поставить себе эту штуку и запустить конкретно свой враппер, для своей оболочки, которая ему нужна для конкретного прикладного софта. Единственное, что ему надо писать, — этот враппер. Это идея как можно принести пользу человечеству, делая этот GUI, который никто и никогда в жизни не возьмется делать, я абсолютно уверен», — говорит Жовнер.