Дампы¶
Сырые данные, на которых построен реверс протокола.
Устройство: GANSS ARDOR_Katana, USB 0C45:8006.
Дампы снимались в Windows 11 на виртуальной машине: Wireshark с компонентом usbpcap и штатный конфигуратор Ardor Katana&Wakizashi.
Файлы имеют расширение *.pcapng.gz и открываются в Wireshark.
Состав¶
Все снимки лежат в gzip (*.pcapng.gz) и разбиты по темам.
Прежние дампы собраны в _old/.
Корень¶
| Файл | Содержимое |
|---|---|
static-key-light.pcapng.gz |
Раскраска одной клавиши: все красным, затем Esc зеленым, синим, выкл |
factory-reset.pcapng.gz |
Сброс: макросы, переназначения, раскраска, подсветка |
test_macro1.xml |
Тестовый макрос из штатного конфигуратора |
usb-devices-output.txt |
Дескрипторы устройства Linux |
color-modes¶
20 дампов, по одному на режим: 01-static.pcapng.gz … 19-shuttle.pcapng.gz и 20-off.pcapng.gz.
Каждый режим снят в полном объёме: включение, цвет R→G→B, спектр, минимальная и максимальная яркость, минимальная и максимальная скорость, направления и нажатия клавиш. После каждой настройки идёт поток живых кадров.
Что видно по самим дампам:
- яркость перебиралась только по краям слайдера —
0x01и0x0f; - скорость — тоже по краям, у
mountainsвстречается0x04, у статики всегда вендорское0x0a; - у
flowerиspectrumбайт моно/спектра всегда0x01: переключатель на них не влияет; - у реактивных режимов (
keypress,fade,horizontal,vertical,splash) после смены скорости записаны нажатия Q → B → P.
Живые кадры снимались отдельно: каждый режим включался без сохранения во флеш на скорости 2 и яркости 15, затем 20 секунд читался поток 04 f5 — около 310 кадров с шагом примерно 0,064 секунды.
Режимы снимались дважды: спектром и одним цветом.
Исключение — keypress: его снимали с вендорской паузой 40 мс, и кадр приходил раз в 0,5 секунды.
keybind¶
Переназначается клавиша Meta (слот 0x5c), канал 04 11.
| Файл | Содержимое |
|---|---|
1-default.pcapng.gz |
сброс клавиши в действие по умолчанию |
2-mouse.pcapng.gz |
кнопки мыши: ЛКМ, СКМ, ПКМ, вперёд, назад |
3-keys1.pcapng.gz |
комбинации букв: A, Shift+B, Ctrl+C, Alt+D, Win+E |
3-keys2.pcapng.gz |
служебные клавиши: Esc, Tab, CapsLock, Backspace, Enter |
3-keys3.pcapng.gz |
мультимедиа: Проводник, Калькулятор, Почта, Плеер |
4-multimedia.pcapng.gz |
18 мультимедиа и веб-функций |
5-editor.pcapng.gz |
9 функций текстового редактора |
6-macro.pcapng.gz |
макрос: однократно, до останова, 1, 5 и 8 повторов |
_old¶
Старые снимки, которых нет в новых дампах:
bright.pcapng— полная шкала яркости;animation-speed.pcapng— полная шкала скорости;perkey-modes.pcapng— per-key стриминг канала04 20;macros-create.pcapng— запись содержимого макроса;macros-call.pcapng— исполнение макроса прошивкой;keybind-editor.pcapng,keybind-hotkeys.pcapng,keybind-multimedia.pcapng— эталоны тестов;test.xml,macros-create-test.xml— вендорские XML макросов.
Дампы, которые новый датасет переснял полностью (перебор режимов и цветов, переключение моно/спектра и направлений, кнопки мыши, привязка макроса), из архива удалены — за ними обращайтесь к истории git.
Формат .pcapng — сырой захват USB-трафика, .plain.txt — тот же трафик, разобранный в лог control-трансферов.
Для новых дампов .plain.txt в репозитории не хранятся: их можно получить конвертером.
Реестр¶
Пути к дампам собраны в raw-data/katana-v1/manifest.json.
Это единственное место, где записаны имена файлов.
| Секция | Содержимое |
|---|---|
sets |
наборы дампов и их каталоги: color-modes, keybind, archive |
refs |
файлы-эталоны для тестов и генераторов фикстур |
Добавили дамп — впишите его в sets или refs.
Как снять дамп¶
Все операции выполняются только на Windows.
- Установите Wireshark, при установке выберите компонент
usbpcap. - Установите фирменную утилиту настройки клавиатуры: ardor-gaming.com или dns-shop.ru.
- Запустите утилиту и подключите клавиатуру.
- Запустите Wireshark, выберите
usbpcapи начните захват. - Выполните нужные операции в утилите.
- Остановите захват и сохраните файл
<имя>.pcapng.
В захват должна попасть хотя бы одна целая транзакция: begin → data-begin → payload → commit → save.
VirtualBox¶
После установки утилиты предоставьте виртуальной машине доступ к клавиатуре. Настройте общую папку, чтобы сохранять дампы на хост.

Настройка USB-фильтра для клавиатуры в VirtualBox
Как конвертировать¶
Новые дампы лежат в gzip, поэтому сначала их нужно распаковать.
gzip -dc raw-data/katana-v1/color-modes/01-static.pcapng.gz > /tmp/01-static.pcapng
./misc/analyze_pcap.py /tmp/01-static.pcapng /tmp/01-static.plain.txt
Без второго аргумента парсер пишет результат в /tmp/tx_log.txt.
Прежние дампы из _old/ распаковывать не нужно.
Формат строки лога:
if— номер USB-интерфейса, конфиг-канал имеетif=0;t—21дляSET_REPORT,a1дляGET_REPORT;rid— report id, у всех команд00;- пакеты
GETсклеиваются поirpid: setup и data приходят разными записями, парсер сопоставляет их автоматически.
Дескрипторы¶
В выводе видно два HID-интерфейса: boot keyboard и mouse/consumer.
Оба под usbhid, interrupt-эндпоинты 0x81 и 0x82.
Конфигурационный канал — feature-репорты интерфейса 0.
Замечания¶
- Новые дампы систематичны: в
color-modes/на каждый режим приходится полный набор параметров и поток кадров. - Чего нет в новых дампах: полных шкал яркости и скорости, стриминга
04 20, записи и исполнения реального макроса — за этим обращайтесь к_old/. - Приложение датасет не читает: генератор кладёт нужные выжимки в его фикстуры.
Расшифровка протокола по этим дампам — в разделе Протокол.