hacktricks/todo/radio-hacking/infrared.md

8.4 KiB
Raw Blame History

赤外線

htARTE (HackTricks AWS Red Team Expert)でゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法:

赤外線の仕組み

赤外線は人間には見えません。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のものはありませんでした。

メーカーは独自のユニークなIRプロトコルを使用することを好みます。たとえば、同じ範囲のデバイス例えば、TVボックス内でもそうです。そのため、異なる会社のリモコンや、同じ会社の異なるモデルのリモコンは、同じタイプの他のデバイスと互換性がありません。 {% endhint %}

IR信号の探索

リモコンのIR信号がどのように見えるかを最も確実に知る方法は、オシロスコープを使用することです。これは受信信号を復調または反転させることなく、「そのまま」表示します。これはテストやデバッグに役立ちます。NEC IRプロトコルの例を使って、期待される信号を示します。

通常、エンコードされたパケットの始めにはプリアンブルがあります。これにより、レシーバーはゲインとバックグラウンドのレベルを決定できます。プリアンブルのないプロトコルもあります。例えば、Sharpなどです。

次にデータが送信されます。構造、プリアンブル、およびビットエンコーディング方法は、特定のプロトコルによって決定されます。

NEC IRプロトコルには、ボタンが押されている間に送信される短いコマンドとリピートコードが含まれています。コマンドとリピートコードの両方には、最初に同じプリアンブルがあります。

NECのコマンドは、プリアンブルに加えて、デバイスが実行する必要があることを理解するためのアドレスバイトとコマンド番号バイトで構成されています。アドレスとコマンド番号のバイトは、送信の完全性をチェックするために逆の値で複製されています。コマンドの最後には追加のストップビットがあります。

リピートコードには、プリアンブルの後に"1"があり、これがストップビットです。

**論理的な"0"と"1"**について、NECはパルス距離エンコーディングを使用しますまず、パルスバーストが送信され、その後に一時停止があり、その長さがビットの値を設定します。

エアコン

他のリモコンとは異なり、エアコンは押されたボタンのコードだけを送信するわけではありません。ボタンが押されると、エアコン機器とリモコンが同期していることを確認するために、すべての情報も送信されます
これにより、20ºCに設定された機械が一つのリモコンで21ºCに増加し、その後、まだ温度が20ºCとして設定されている別のリモコンを使用して温度をさらに上げると、それは21ºCに"増加"されます21ºCだと思って22ºCになるのではなく

攻撃

Flipper Zeroを使って赤外線を攻撃することができます:

{% content-ref url="flipper-zero/fz-infrared.md" %} fz-infrared.md {% endcontent-ref %}

参考文献

htARTE (HackTricks AWS Red Team Expert)でゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法: