hacktricks/todo/hardware-hacking
2023-07-07 23:42:27 +00:00
..
i2c.md Translated to Japanese 2023-07-07 23:42:27 +00:00
jtag.md Translated to Japanese 2023-07-07 23:42:27 +00:00
radio.md Translated to Japanese 2023-07-07 23:42:27 +00:00
README.md Translated to Japanese 2023-07-07 23:42:27 +00:00
spi.md Translated to Japanese 2023-07-07 23:42:27 +00:00
uart.md Translated to Japanese 2023-07-07 23:42:27 +00:00

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

JTAG

JTAGはバウンダリスキャンを実行することができます。バウンダリスキャンは、各ピンの埋め込みバウンダリスキャンセルとレジスタを含む特定の回路を分析します。

JTAG標準では、次のようなバウンダリスキャンを実行するための特定のコマンドが定義されています。

  • BYPASSは、他のチップを経由せずに特定のチップをテストすることができます。
  • SAMPLE/PRELOADは、デバイスが通常の動作モードにあるときにデータのサンプルを取得します。
  • EXTESTは、ピンの状態を設定および読み取ります。

また、次のような他のコマンドもサポートできます。

  • デバイスを識別するためのIDCODE
  • デバイスの内部テストのためのINTEST

JTAGulatorのようなツールを使用すると、これらの命令に遭遇することがあります。

テストアクセスポート

バウンダリスキャンには、コンポーネントに組み込まれたJTAGテストサポート機能にアクセスするための汎用ポートである**4本のワイヤテストアクセスポートTAP**のテストが含まれます。TAPは次の5つの信号を使用します。

  • テストクロック入力(TCKTCKは、TAPコントローラが単一のアクションを実行する頻度つまり、ステートマシンで次の状態にジャンプする頻度を定義するクロックです。
  • テストモード選択(TMS入力TMSは有限状態マシンを制御します。クロックのビートごとに、デバイスのJTAG TAPコントローラはTMSピンの電圧をチェックします。電圧が一定の閾値以下の場合、信号は低いと見なされ、0と解釈されます。一方、電圧が一定の閾値を超える場合、信号は高いと見なされ、1と解釈されます。
  • テストデータ入力(TDITDIは、スキャンセルを介してチップにデータを送信するピンです。各ベンダーは、このピンを介した通信プロトコルを定義する責任があります。なぜなら、JTAGはこれを定義していないからです。
  • テストデータ出力(TDOTDOは、チップからデータを送信するピンです。
  • テストリセット(TRST入力オプションのTRSTは、有限状態マシンを既知の正常な状態にリセットします。または、TMSが5回の連続したクロックサイクルで1に保持されている場合、リセットが呼び出され、TRSTピンと同じ方法でリセットされます。これがTRSTがオプションである理由です。

場合によっては、これらのピンがPCBにマークされていることがあります。他の場合は、それらを見つける必要があるかもしれません。

JTAGピンの特定

JTAGポートを検出する最も高速で最も高価な方法は、特にこの目的のために作成されたデバイスであるJTAGulatorを使用することですUARTピン配置も検出できます)。

24のチャネルをボードのピンに接続できます。次に、IDCODEおよびBYPASSバウンダリスキャンコマンドを送信するすべての可能な組み合わせに対してBF攻撃を実行します。応答を受信すると、各JTAG信号に対応するチャネルが表示されます。

JTAGピン配置を特定するための安価で遅い方法は、Arduino互換のマイクロコントローラにロードされたJTAGenumを使用することです。

JTAGenumを使用する場合、まず列挙のために使用するプローブデバイスのピンを定義する必要があります。デバイスのピン配置図を参照し、これらのピンをターゲットデバイスのテストポイントに接続する必要があります。

JTAGピンを特定するための3番目の方法は、PCBを検査してピン配置の1つを見つけることです。場合によっては、PCBが便利にTag-Connectインターフェースを提供していることがあります。これは、ボードにJTAGコネクタがあることを明示的に示しています。このインターフェースの外観はhttps://www.tag-connect.com/info/で確認できます。さらに、PCB上のチップセットのデータシートを調べると、JTAGインタフェースを指すピン配置図が明らかになる場合があります。

SDW

SWDは、デバッグ用に設計されたARM固有のプロトコルです。

SWDインタフェースには、次の2つのピンが必要です双方向のSWDIO信号JTAGのTDIおよびTDO