Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Analyzing IQOS BLE communication and capturing ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
V V V
May 05, 2026
Technology
37
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Analyzing IQOS BLE communication and capturing BLE traffic on macOS | 129th Yurui Security Conference
V V V
May 05, 2026
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
580
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
590
EventBridge Connection
_kensh
5
680
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
510
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
580
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
560
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
150
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
110
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
190
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Skip the Path - Find Your Career Trail
mkilby
1
140
Designing for Performance
lara
611
70k
My Coaching Mixtape
mlcsv
0
140
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Un-Boring Meetings
codingconduct
0
310
How GitHub (no longer) Works
holman
316
150k
Transcript
電子タバコ IQOSのReverse Engineering および macOSにおけるBLE Packetの解析手法 2026/03/27 Hikaru (@nonnil)
[email protected]
IQOS CLI
Agenda • Profile ◦ Daily Driver • IQOSの主な機能 ◦ IQOSアプリの問題点
• • 2
Profile Hikaru • Age ◦ 2002/06/07 23歳 • 所属 ◦
慶應義塾大学環境情報学部 ◦ 早應AI株式会社 シニアエンジニア • Handle ◦ nil, nonnil, John Paul, 0day.is, VVX Supp, B0b Supp, 炒炒, mel0n • すき ◦ お酒、たばこ、ポーカー、コンピュータ、セキュリティ 3 @nonnil @nilpotent_ @unittype
Daily Driver • Linux Distribution ◦ Fedora Workstation • Browser
◦ Orion Browser, Helium • Text Editor ◦ VSCode, Helix • Lang ◦ Rust, Go, Nim • Terminal ◦ Ghostty • keyboard ◦ HHKB Studio • Keyboard layout ◦ UK • VPN ◦ Mullvad 4
IQOSの主な機能 • IQOS公式Webアプリで各種設定のカスタマイズが可能 ◦ Webアプリと IQOSはBluetoothもしくは USB経由で接続 5
IQOSアプリの問題 • Sessionのlifetimeが短い ◦ そのため頻繁に Signinをする必要がある • IQOSアカウントが必要 ◦ アカウント作成にあたって身分証明書による年齢確認を問われるが、
オンラインだと認証プロセスが不安定でアカウントを作成できない事例が 多数観測される ↑ぼくはアカウント作成のために IQOS Shop横浜店まで行った • 接続時のloadが長い ◦ 設定をカスタムするまでに時間がかかりすぎる • 当然Internet接続がないと使えない 6
IQOSを便利にして 喫煙体験を最大化したいな〜 7 Bluetoothはどのように通信しているのだろう?
BLE(Bluetooth Low Energy) Packet 解析の準備 (macOS篇) 事前準備 • Mac •
Xcode 1. Apple Developerのダウンロードページから Additional Tools for Xcodeをダウンロードして Install時にPacket Loggerを選択 2. Apple DeveloperのProfiles and Logsから該当するデバイスの Profileをダウンロード 3. System Settings.appの”VPNとデバイス管理 ”でProfileをInstall 4. Packet Loggerを起動 8 簡単だね
BLEの通信方法 9 Central(Client) Peripheral(Server) ここにおるよー Advertise どこにいる? Scan Connect •
接続を開始する側 • データ要求(Read, Write, Subscribe)を送る • 接続を待ち受ける側 • データ(Service / Characteristic)を提供する
BLEのデータ 10 Service • 機能単位のグループ • 複数のCharacteristicをまとめる Characteristic • 実際のデータを持つ最小単位
• Value + Propertiesなどで構成される Connect/PairingしたあとにCentralはこれらを PeripheralからDiscoverする ServiceとCharacteristicはUUIDで識別される
BLEにおけるデータアクセス 11 CharacteristicにRequestを送ることで実現 Requestの種類 • Read(値の取得) • Write(値の更新、応答あり) ◦ Write
Without Response(応答なし) • Notify(非同期通知、ACKなし) • Indicate(非同期通知、ACKあり)
Bluetooth Protocol Stack GAP(Generic Access Profile) • Advertise / Scan
/ Connectのrole管理 GATT(Generic Attribute Profile) • Service / Characteristicベースのデータモデル定義 • ATTを包含する ATT(Attribute Protocol) • GATTの通信手法 (Read/Write/Notify) • GATTに包含される 12
IQOSのデータを見ていくぞ〜 13
Characteristicの設計パターン 14 TX/RX Characteristic • 1つまたは少数の Characteristicにコマンドや データを多重化 • vendor-specific実装でよく見
られる Discrete Characteristic • 1 Characteristic = 1機能 • Bluetooth SIG標準Profileでよく見られる
IQOS: TX/RX Characteristic 15
LIXIL Ohea Lock(おへやろっく ): Discrete Characteristic 16
IQOSへどのように書き込みを行うか 17 Offset 0 1 2 3 4 5 6
7 8 Hex 0x00 0xC0 0x46 0x23 0x64 0x00 0x00 0x00 0x4F Padding Padding Padding Checksum フレーム 開始固定値 Target Sub Cmd ID 輝度値 Cmd ID C0: Stick C9: Holder 64: 100% 1E: 30% Char ID: e16c6e20-b041-11e4-a4c3-0002a5d5c51b
IQOS CLI 18 • IQOSアプリの機能をほとんどSupport • PacketのOverheadがないため高速 • Telemetry dataを閲覧可能
• Find My IQOSが有効
スターください! 19 • Firmware updateに対応させたい • USB接続のSupport ◦ IQOSからBluetooth廃止の予兆を感じてる •
IQOSのFirmwareをReverse Engineeringしたい IQOS CLI https://github.com/V-VX/iqos_cli
20