【要約】専用アプリしか使えないデジタル缶バッジをAIと解析して、Macから画像を送れるようにした [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者が、専用アプリ経由でしか操作できないデジタル缶バッジをMacから制御したいと考え、以下の課題に直面した。
- ・Android専用アプリしか存在せず、Macから直接操作する手段がない。
- ・BLE通信の詳細なプロトコルが非公開である。
- ・画像データの分割方法やチェックサム等の独自仕様が不明である。
// Approach
筆者は、AIを調査パートナーとして活用し、段階的なリバースエンジニアリングのアプローチを採用した。
- ・GATTプロファイルの調査:BLE接続後にNotificationから平文JSONを特定した。
- ・Androidアプリの静的解析:Flutter製のlibapp.soをAIで解析し、データ処理の流れを把握した。
- ・Bluetooth HCIスヌーピング:実通信をキャプチャし、独自ヘッダ(IMB)とJPEG分割送信を特定した。
- ・プロトコルの再現:正規パケットの再送から始め、JPEG 4:4:4形式への絞り込みを行った。
// Result
筆者は、Macから任意の画像をデジタル缶バッジへ送信できる環境を構築することに成功した。
- ・PythonのBleakライブラリを用いた画像送信スクリプトを実現した。
- ・36バイトの独自ヘッダ(IMB)と496バイトごとのパケット分割仕様を解明した。
- ・JPEG 4:4:4形式を用いることで、実機への画像表示を可能にした。
Senior Engineer Insight
> 未知のプロトコル解析におけるAIの有用性が極めて高い。特に「仮説と検証」のサイクルをAIに回させる手法は、調査コストを劇的に下げる。ただし、通信の成功が実機の表示成功を保証しないため、物理的な確認は人間が担う必要がある。実戦投入時は、AIの出力する「事実」と「仮説」を厳格に分離して管理するプロセスが不可欠である。