Pwnagotchi

      Комментарии к записи Pwnagotchi отключены

Наш телеграмм канал

В этой статье попробую сформировать свои мысли для повторения конструкции автоматического перехвата рукопожатий Wi-Fi.

Официальный сайт проекта: https://pwnagotchi.ai/

Страница для тех у кого руки растут из правильного места: https://pwnagotchi.ai/installation/

Что бы не копировать всё, что есть на сайте я расскажу с трудностями которыми мне придётся столкнуться при повторении конструкции. И очень кратенько, в виде иерархического дерева, мои шаги изготовления Pwnagotchi.

Подтолкнуло меня к этому видео которое я выкладываю ниже.

Ну нравятся мне такие гиковские прикольчики. Давайте для начала определимся, что нам понадобится для этого проекта.

  1. Raspberry Pi Zero W 
  2. SD карта.  Емкость не менее 8Гб, хорошего качества и скорости. (начиная с UHS-I).
  3. кабель micro-USB. Который не только сможет заряжать но и передавать данные.
  4. Аппаратные часы. DS3231 посмотреть можно тут.
  5. Дисплей. Тут я позволю себе зазместить переведённый текст с официально сайта на этой странице.

Аппаратные часы

Если вы используете Raspberry Pi 0 Вт для корпуса вашего Pwnagotchi, вы должны знать о том факте, что у него нет аппаратных часов. Это означает, что, если устройство каким-либо образом не подключено к Интернету (либо с помощью кабеля USB и совместного использования подключения к хосту, либо через модем BT), когда устройство выключено, его время не синхронизируется с реальным миром, показывая неправильное время безотказной работы и, как правило, используя неверные дату и время в журналах, а также всякий раз, когда выполняется другое действие, основанное на абсолютном времени.

Эту проблему можно недорого решить с помощью аппаратных часов, небольшого чипа с батарейкой, который может оставаться включенным, пока остальные части устройства выключены … это все равно что подарить Pwnagotchi наручные часы! 😀

rtc

Можно использовать любую модель, совместимую с I2C (обычно на базе PCF8523, DSL1307 или DS3231), и ее легко установить, следуя этому руководству.

Обычно их подключают непосредственно к GPIO через их разъем, но можно демонтировать разъем и просто припаять их непосредственно к портам на печатной плате, чтобы сэкономить место (обязательно изолируйте микросхему клейкой лентой).

 

Дисплей

Если вы хотите использовать веб-интерфейс (вместо дисплея e-ink, прикрепленного к RPi0W вашего устройства), чтобы видеть лицо вашего Pwnagotchi, ознакомьтесь с документом веб-интерфейс для получения более подробной информации об использовании веб-интерфейса.

Если вместо этого вы хотите в полной мере насладиться прогулкой и буквально созерцать симпатичную мордашку автофокусировки вашего устройства, поддерживаемые модели дисплеев e-ink:

Перед покупкой дисплея ознакомьтесь с Рекомендациями для получения более подробной информации о выборе правильного дисплея. 

ВНИМАНИЕ!

Не все дисплеи созданы одинаково! TFT-дисплеи, например, работают аналогично дисплеям HDMI, и они НЕ поддерживаются. В настоящее время все официально поддерживаемые дисплеи eInk являются дисплеями SPI. Если вы все еще заинтересованы в использовании неподдерживаемых дисплеев, возможно, вы сможете найти предложенный сообществом взлом в разделе “Экраны” на странице “Хаки”.. Мы не несем ответственности за то, что вы сломаете, пытаясь использовать какой-либо дисплей, который официально не поддерживается командой разработчиков!

Цветные и чёрно-белые E-Ink дисплеи

Некоторые из поддерживаемых дисплеев поддерживают как черно-белую, так и цветную версии. Один из распространенных вопросов, есть ли значимые различия между ними. Есть:

  • Частота обновления цветных дисплеев намного ниже. В некоторых случаях это может занять до 15 секунд; если вы хотите избежать низкой частоты обновления, мы рекомендуем вам использовать черно-белые дисплеи.
  • 3-цветные 2,13-дюймовые дисплеи Waveshare имеют немного меньшее расположение пикселей (104×212) по сравнению с их черно-белыми аналогами (122×250).
  • Мы рекомендуем вам использовать Waveshare B & W V2.

Рекомендации

  • Экран Waveshare V2 является официально поддерживаемым экраном e-ink по следующим причинам:
    • поддерживает частичное обновление экрана, что позволяет избежать появления черных экранов между полными обновлениями.
    • улучшенная визуализация элементов пользовательского интерфейса шрифтов.
    • имеет более высокое функциональное разрешение по сравнению с Inky pHATs.
    • в нем всегда будут самые обновленные и поддерживаемые элементы пользовательского интерфейса; Основной разработчик Pwnagotchi (@evilsocket) будет тестировать новые функции исключительно на Waveshare V2s.
    • дальнейшая поддержка других моделей дисплеев e-ink, таких как Inky pHAT’ полностью зависит от постоянного вклада пользователей в код.
  • Разница между дисплеями Waveshare V2 и V1 Основное различие между дисплеями Waveshare 2,13 дюйма V1 и V2 заключается в эффекте ореола изображения. Эта проблема возникает при использовании частичного обновления изображения. В версии V2 меньше проблем с ореолами, чем в версии V1. Полноэкранное обновление может очистить старые следы ореолов, поэтому вы можете использовать плагин screen_refresh для перерисовки экрана после настраиваемого количества обновлений экрана.Разница между 2,13-дюймовыми дисплеями Waveshare V1 и V2. Эффект ореола изображения в V1.
  • Избегайте использования 3-цветного дисплея Waveshare eInk. Время обновления составляет 15 секунд. Его можно запускать намного быстрее с небольшим риском выгорания, установив для цвета значение “fastAndFurious”, что сокращает время обновления примерно до 1 секунды. Это может повредить дисплей, поэтому используйте его, только если вы понимаете степень риска.
  • Избегайте Pimoroni Inky pHAT v1. Они сняты с производства из-за неисправного источника аппаратных компонентов, используемого при производстве, что привело к высокой частоте отказов.
  • Время обновления Pimoroni Inky pHAT составляет несколько секунд. Доступно обновление, позволяющее сократить время обновления до субсекунды, хотя и увеличивает риск выгорания или артефактов, если установить цвет на “Быстрый и искаженный”, это может повредить дисплей, поэтому используйте его, только если вы понимаете риск.
  • Дисплей DFRobot поддерживает частичное обновление, две аппаратные кнопки GPIO, а также сквозной заголовок для подключения других устройств, таких как последовательные модули GPS, RTCS, светодиоды и т.д.

Прошивка

Для прошивки raspberry нам потребуется сама прошивка которую всегда свежую можно скачать по этой ссылке и сама прогамма balenaEtcher

Чтобы написать свой образ Pwnagotchi с помощью balenaEtcher:

  • Загрузите последнюю версию файла Pwnagotchi .img.
    • Проверьте контрольную сумму SHA-256 в файле .img
  • Скачайте balenaEtcher и установите его.
  • Подключите устройство чтения SD-карт с SD-картой внутри.
  • Откройте balenaEtcher и выберите на своем жестком диске Raspberry Pi .img или .zip файл, который вы хотите записать на SD-карту.
  • Выберите SD-карту, на которую вы хотите записать свой образ.
  • Просмотрите выбранные варианты, затем нажмите Flash!, чтобы начать запись данных на SD-карту.

Подождите, прежде чем извлекать SD-карту, так как вам нужно будет создать на ней последний файл с начальной конфигурацией.

Конфигурация

ВНИМАНИЕ!

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ:Поскольку мы перешли с yaml на toml в качестве языка конфигурации, вы, вероятно, захотите взглянуть на справочник toml. При обновлении со старой версии pwnagotchi ваша старая конфигурация будет загружена и автоматически сохранена в новом формате toml. Старая конфигурация не будет удалена, но больше не будет использоваться. В будущем поддержка yaml будет полностью прекращена.

Начальная конфигурация

Для начальной настройки самый простой способ – создать новый config.toml файл boot раздела SD-карты. Этот раздел должен быть легко доступен с вашего компьютера независимо от вашей операционной системы, поскольку это простой FAT32.

В этом процессе вы можете определить название вашего устройства, какую сеть внести в белый список и тип используемого дисплея. Ниже приведен пример конфигурации устройства с дисплеем Waveshare V2, более подробные инструкции по настройке приведены в разделах ниже.

Программное обеспечение установит этот файл в /etc/pwnagotchi/config.toml (и удалит его с SD-карты) во время загрузки.

После первой загрузки вы можете открыть /etc/pwnagotchi/config.toml файл (либо через SSH, либо напрямую отредактировав содержимое SD-карты с компьютера с кард-ридером), чтобы переопределить конфигурацию по умолчанию своими пользовательскими значениями.

Выберите язык вашего устройства

Pwnagotchi по умолчанию отображает свой пользовательский интерфейс на английском, но может говорить на нескольких других языках! Если у вас все в порядке с английским, вам не нужно делать здесь ничего особенного.

Но если вы действительно хотите изменить, на каком языке Pwnagotchi отображает свое состояние, вы можете изменить main.lang на один из поддерживаемых языков:

  • Английский (по умолчанию)
  • Немецкий
  • Итальянская
  • Французский
  • Русский
  • Голландский
  • Греческий
  • Шведский
  • Македонский
  • Ирландский
  • Японский (* установите ui.font.name значение “шрифты-японский-готический”*)
  • Польский
  • Португальский
  • Португальский (бразильский)
  • Болгарский
  • Украинский
  • Чешский

Если вы хотите добавить новый язык (или улучшить существующий перевод!), вы можете ознакомиться с документом “Добавление языка” для получения более подробной информации.

Восстановление резервной копии
Если вы хотите восстановить резервную копию вместо этого, вы можете скопировать содержимое /etc/pwnagotchi резервной папки в загрузочный раздел FAT32 как /boot/pwnagotchi. Таким образом, вся папка, содержащая конфигурацию и пару ключей RSA, будет перемещена в /etc/pwnagotchi во время загрузки. Восстановление этой папки таким способом позволит устройству загрузиться без необходимости генерировать новую пару ключей RSA, операция, которая требует времени и была бы совершенно бессмысленной, если резервную копию все равно нужно восстанавливать.

Учитывая, что загрузочный раздел FAT32 ограничен по размеру, другие папки и файлы, являющиеся частью резервной копии, необходимо будет скопировать вручную либо на SD-карту, если ее можно смонтировать на главном компьютере, либо через SSH с подключением по кабелю или Bluetooth, как описано в следующих разделах.