7.1 KiB
赤外線
htARTE(HackTricks AWS Red Team Expert) を通じて、ゼロからヒーローまでAWSハッキングを学ぶ!
HackTricksをサポートする他の方法:
- HackTricksで企業を宣伝したいまたはHackTricksをPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
- 公式PEASS&HackTricksスワッグを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションを見る
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦でフォローする @carlospolopm。
- ハッキングトリックを共有するには、 HackTricksとHackTricks CloudのgithubリポジトリにPRを提出してください。
赤外線ポートの動作方法
赤外線光は人間には見えません。IR波長は0.7から1000マイクロメートルです。家庭用リモコンはデータ送信にIR信号を使用し、波長範囲は0.75から1.4マイクロメートルです。リモコン内のマイクロコントローラは、特定の周波数で赤外線LEDを点滅させ、デジタル信号をIR信号に変換します。
IR信号を受信するためにはフォトレシーバが使用されます。これはIR光を電圧パルスに変換し、すでにデジタル信号になります。通常、受信機内部には望ましい波長のみを通過させ、ノイズをカットするダークライトフィルタがあります。
様々なIRプロトコル
IRプロトコルは3つの要素で異なります:
- ビットエンコーディング
- データ構造
- キャリア周波数 — 通常は36から38 kHzの範囲内
ビットエンコーディング方法
1. パルス距離エンコーディング
ビットはパルス間の間隔の長さを変調することでエンコードされます。パルス自体の幅は一定です。
2. パルス幅エンコーディング
ビットはパルス幅の変調によってエンコードされます。パルスバーストの後のスペースの幅は一定です。
3. フェーズエンコーディング
これはマンチェスターエンコーディングとしても知られています。論理値は、パルスバーストとスペースの間の遷移の極性によって定義されます。"スペースからパルスバースト"は論理 "0" を示し、"パルスバーストからスペース"は論理 "1" を示します。
4. 以前のものとその他のエキゾチックなものの組み合わせ
{% hint style="info" %} いくつかのデバイスの種類に普遍的になろうとするIRプロトコルがあります。最も有名なものはRC5とNECです。残念ながら、最も有名なものが最も一般的であるとは限りません。私の環境では、NECリモコンが2つしかなく、RC5リモコンはありませんでした。
メーカーは、同じ種類のデバイス(たとえば、TVボックス)内でも独自のユニークなIRプロトコルを使用することが好きです。したがって、異なる企業のリモコンや、時には同じ企業の異なるモデルからのリモコンは、同じ種類の他のデバイスとは動作しないことがあります。 {% endhint %}
IR信号の探索
リモコンのIR信号がどのように見えるかを確認する最も信頼性の高い方法は、オシロスコープを使用することです。これは受信信号を復調したり反転したりしないで、受信した信号をそのまま表示します。これはテストやデバッグに役立ちます。NEC IRプロトコルの例を示します。
通常、エンコードされたパケットの先頭には前置きがあります。これにより、受信機はゲインと背景のレベルを判断できます。Sharpなどの前置きのないプロトコルもあります。
その後、データが送信されます。構造、前置き、およびビットエンコーディング方法は、特定のプロトコルによって決定されます。
NEC IRプロトコルには、ボタンが押されている間に送信される短いコマンドとリピートコードが含まれています。コマンドとリピートコードは、同じ前置きを持っています。
NECのコマンドは、前置きに加えて、アドレスバイトとコマンド番号バイトから構成され、デバイスが何を実行するかを理解します。アドレスとコマンド番号バイトは逆の値で複製され、送信の整合性を確認します。コマンドの最後には追加のストップビットがあります。
リピートコードには、前置きの後に「1」があり、これがストップビットです。
論理 "0" および "1" のために、NECはパルス距離エンコーディングを使用します:まず、パルスバーストが送信され、その後に一時停止があり、その長さがビットの値を設定します。
エアコン
他のリモコンとは異なり、エアコンは押されたボタンのコードだけを送信するのではありません。エアコン機器とリモコンが同期されていることを確認するために、ボタンが押されたときにすべての情報を送信します。
これにより、あるリモコンで20℃に設定された機械が21℃に増加され、その後、まだ温度が20℃の別のリモコンを使用してさらに温度を上げると、それを21℃に「増加」し、21℃にあると思って22℃にならないようにします。
攻撃
Flipper Zeroを使用して赤外線を攻撃することができます:
{% content-ref url="flipper-zero/fz-infrared.md" %} fz-infrared.md {% endcontent-ref %}