Casio WQV-3 и нейросети

Если помните, два года назад я купил себе винтажные электронные часы «Casio WQV-3». Продавались они в начале 2000-х и умели делать небольшие цветные фотографии на встроенную камеру. Эти фотографии можно было потом скачивать на компьютер или передавать между часами при помощи инфракрасного порта.

Практической цели что-то фотографировать этими часами у меня нет, но научиться оттуда доставать фотографии хотелось. Так как на моём ноутбуке нет инфракрасного порта, я заказал на «Авито» два подержанных внешних инфракрасника, с которыми благополучно прошёл этот квест, правда не с первого раза.

Хорошо, что я купил именно два устройства — только один из них заработал внутри виртуальной машины с «Виндой», которую я запустил у себя на «Макбуке». Не очень-то удобный способ, да и виртуалка место занимает…

Вчера у меня оставались токены перед сегодняшним сбросом, и я подумал — а не потратить ли мне их на решение этой проблемы? Достал оба своих инфракрасника и зарядил нейросеть на пробный прогон — получится ли на «Макбуке» увидеть хотя бы один из них без драйверов и связаться с часами?

«SigmaTel STIr4200» заработал без проблем и я преисполнился настолько, что замахнулся на веб-приложение — в браузере давно есть возможность работать с USB-портами, так почему же не попробовать читать часы прямо с веб-страницы?

Теперь у меня есть страница в «ГитХабе», где полностью повторены все функции управления часами — работа с фотографиями, установка часов и событий в календаре. Весь интерфейс сделан в стиле «Касио Кассиопеи» — коммуникатора родом примерно из того же времени.

Поскольку в те времена инфракрасные порты каждый делал кто во что горазд, страница работает с конкретным устройством. Если когда-нибудь в будущем оно сломается, возможно, буду добавлять что-то еще, но тут возникает проблема: второе устройство, которое у меня есть, — Ark3116T, похоже, вообще не поддерживается моей операционной системой. Так что при покупке нового придётся опять полагаться на удачу.

Скриншот интерфейса программы Casio WQV Link для управления часами Casio WQV-3, показывающий окно просмотра фотографий с часов.

Добавлено позже: чуть не забыл рассказать об одной странной штуке. Обычно нейросети, если не брать в расчёт китайские, сильно сопротивляются попыткам что-то взломать. А тут почему-то получилось с точностью до наоборот.

Чтобы связать часы с приложением, нужно, разумеется, знать протокол, по которому часы общаются. В этом очень помог проект «WQV-Blink» — кто-то реализовал основную часть протокола, которая отвечает за обмен фотографиями. Но «родное» приложение умеет чуть больше — устанавливать время, дату и управлять календарём.

Код программы на ассемблере Intel x86 синтаксиса для взаимодействия с Casio WQV-3 через инфракрасный порт SigmaTel STIr4200.
Нейросеть взламывает приложение часов, чтобы посмотреть как устроен протокол часов

Я без особой надежды попросил нейросеть добавить и эти команды, а когда она справилась, пошёл смотреть как она это сделала. Оказалось, всё просто — зашла на мой сайт, нашла на нём ссылку на «ВебАрхив» с копией сайта, где были опубликованы приложения для часов, скачала некоторые из них и посмотрела в ассемблерный код!

Возможно в этой ситуации внутренние ограничители не сработали так как часть протокола доступна в качестве исходного кода, но тогда это отличный способ взломать это ограничение — выкладываем всё что известно на «ГитХаб», просим сетку добыть всё остальное.

Комментарии 4

Evgeny Sureev № 3
Технически это не взлом. Изучение протокола часов классификатор видимо счел достаточно безобидным.
У меня тоже нейросеть к ИБП команды перебирала, чтобы настройки записывать.
Евгений Степанищев автор № 4
Чаще всего мне нейросетки отказываются вот так дизассемблировать и разбирать код.