Родила царица в ночь…
Как и множество других прикольных электронных устройств, M5StickC Plus2 появился на свет в самом центре мировой IT-индустрии, в месте, где рождаются и воплощаются наиболее дерзкие инновации, в оазисе идей и амбиций, задающем ритм технологического прогресса… Что? Какая еще Кремниевая долина? Я про китайский Шэньчжэнь.
Контору под названием M5Stack китайцы зарегистрировали еще в 2016 году как производителя электроники и модульных платформ для интернета вещей. И ассортимент подобной электроники у них действительно широкий. Важный этап разработки подобных устройств — прототипирование, поэтому в 2019-м инженеры из M5 придумали компактный девайс для обкатки всевозможных электронных «полуфабрикатов» и тестирования прошивок. Умные часы, фитнес‑браслеты, сенсорные системы, автономные контроллеры — работу встроенного ПО для всех этих изделий можно было бы проверять с использованием такой платформы. В корпус размером меньше спичечного коробка инженеры впихнули контроллер ESP32 с поддержкой Wi-Fi и Bluetooth, цветной мини‑дисплей, аккумулятор, акселерометр, гироскоп, инфракрасный передатчик и Grove-порт. Имба получила название M5StickC.

Несмотря на то что этот блин пекли опытные специалисты по IoT, вышел он немного комом: пользователи жаловались на слабую батарею, недостаточный объем памяти, а также на проблемы с совместимостью прошивок, инструментов загрузки и отладки. Китайцы вняли пожеланиям комьюнити и допилили девайс сначала до версии Plus, а потом и Plus2, расширив доступную память, установив более продвинутый экран, добавив еще одну кнопку для удобства навигации, дополнительные датчики и конденсаторный микрофон. Получилось очень интересное устройство, возможности которого позволяют использовать его не только как тестовый полигон, но и в целях исследования беспроводных сетей, Bluetooth-подключений и для управления различными устройствами с пультами ДУ через ИК‑порт. Всем этим тут же не преминули воспользоваться хакеры пентестеры, из‑за чего M5StickC Plus2 и попал в мое поле зрения.
Снаружи и внутри
Девайсина поставляется в дешевой прозрачной пластиковой коробочке с наклейкой на крышке, свидетельствующей, что внутри бокса прячется не какая‑нибудь бесполезная фигня с «Алика», а именно M5StickC Plus2. Помимо самого устройства в ярком желтом корпусе, набор юного хакера включает ремешок для крепления на руку и шнур USB Type-C. Инструкций в комплекте поставки не предусмотрено, вместо них — QR-код, ведущий на сайт производителя.

Сердце M5StickC Plus2 — контроллер ESP32 Pico v3.02 с 2 Мбайт PSRAM (pseudo static RAM), вдобавок к этому девайс располагает 8 Мбайт флеш‑памяти и 529 Кбайт статической RAM. Цветной TFT-дисплей с диагональю 1,14 дюйма поддерживает разрешение 135 × 240 пикселов (в то время как самая первая версия M5Stick вытягивала только 80 × 160).
На борту имеется 6-осевой гироскоп и акселерометр, микрофон, инфракрасный передатчик, часы и встроенный буззер, он же зуммер. Кроме того, контроллер поддерживает Wi-Fi 802.11b/g/n и Bluetooth 4.2 с низким энергопотреблением. Питается все это от компактного аккумулятора на 200 мА ⋅ ч с напряжением 3,7 В. Внешних интерфейсов три: это USB Type-C для подключения источника питания и программирования, HY2.0-4P для подключения датчиков и периферийных устройств, а также порт Grove, куда можно присоединить те или иные приблуды. Пластиковый корпус, на обратной стороне которого нарисована куча полезной информации — назначение пинов GPIO и номенклатура аппаратных компонентов, имеет довольно компактные размеры: 48 × 25 × 13 мм, а весит девайс всего 17 г. При этом в корпусе спрятан магнитик, позволяющий крепить устройство на металлические поверхности.

Для управления стиком используются три кнопки, как на старом айфоне: большая на верхней крышке рядом с экраном и две поменьше на боковых стенках. Одна из них выполняет системный сброс, две другие по умолчанию позволяют менять режимы работы девайса: визуальное отображение работы гироскопа (на экране появляется куб, который меняет свое положение при наклоне и повороте корпуса), тест часов, Bluetooth, ИК‑порта, сканирование эфира в поисках беспроводных сетей.

Чтобы оценить другие возможности M5StickC Plus2, нужно залить на него соответствующую прошивку, потому что сам по себе он умеет делать… долбаное ничего.
Прошивки
Технические характеристики M5StickC Plus2 в теории позволяют реализовывать почти те же функции, что есть у Flipper Zero, и даже немного больше, поскольку наш желтый малыш поддерживает Wi-Fi «из коробки». Это пентест беспроводных сетей и Bluetooth, сканирование и воспроизведение сигналов различных устройств, клонирование меток на основе NFC (при наличии соответствующего расширения, конечно), взаимодействие с инфракрасными датчиками. В принципе, модуль ESP32 Pico универсален и M5StickC Plus2 можно превратить фактически в любое устройство, начиная от вольтметра и заканчивая колесным программируемым роботом, просто нужно купить для него на «Алике» дополнительные платы, датчики и модули, которые затем подключаются к интерфейсному разъему проводами «папа — мама». Но это в теории. Лично мне было интересно, на что он способен на практике без всех этих компонентов.
Существует множество прошивок для M5StickC Plus2 с разным назначением — от игр до целых операционных систем в миниатюре. Установить их можно с помощью официального приложения M5Burner (там есть версии для винды, macOS и Linux). Делается это просто: качаешь приложуху, регистрируешься на сайте М5, подключаешь девайс к компу с помощью провода из комплекта поставки, выбираешь в M5Burner версию нужной тебе прошивки и заливаешь ее на стик. Всё. Справится даже пятиклассник.

Правда, как и положено китайскому софту, все это постоянно глючит, вываливая бесконечные ошибки обработки JS, но тут уж ничего не поделаешь — особенности высоких технологий из Поднебесной.

Если прошивку не удается залить на стик с помощью M5Burner, существует флешер, позволяющий сделать это онлайн, который, правда, работает только из Google Chrome или Microsoft Edge, и его альтернатива — M5Flasher.

Поскольку вариантов прошивок в приложении я насчитал как минимум пару сотен, я, во‑первых, решил ставить те, что имеют отношение к хакерству и пентесту, а во‑вторых, ориентировался на обзоры и рекомендации бывалых пользователей, чтобы не тратить время на какое‑нибудь откровенное фуфло. И в абсолютных лидерах среди таких рекомендаций — прошивка Bruce.
Bruce
Это самая популярная «хакерская» прошивка для M5StickC Plus2. Bruce — имя симпатичной акулы, которая приветствует юзера сразу после загрузки девайса с этой прошивкой.

Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее