Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Hardware Hacking Cheatsheet — ハードウェアハッキングチートシート | Kitploit
ツール/GitLabGitLab/myasnik/hardware-hacking-cheatsheet
組み込みシステムセキュリティIoTセキュリティハードウェアセキュリティ学習と教育厳選リソースファームウェア解析
GitLabmyasnik/hardware-hacking-cheatsheet

Hardware Hacking Cheatsheet

ハードウェアハッキングチートシート

リポジトリを見る
2185年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Hardware Hacking Cheatsheet

[[TOC]]

免責事項

  • 私はこの種のことを学ぼうとしている初心者なので、100%正しくないかもしれません。
  • 悪い英語でごめんなさい。

注意事項

  • 最も簡単な経路を最初に試す方法論に従う
  • 時々はんだ付けが必要になるかもしれません。こちらに簡単な方法があります。
    • PCBのビアに直接ワイヤーをはんだ付けしなければならない場合があります(ビデオ)
      1. カッターを使ってPCBの表面を、はんだマスクの下のキラキラが見えるまで削る
      2. ファイバーグラスペンシルでもう一度表面を削る
      3. IPAと綿棒で表面をきれいにする
      4. 少量のフラックスを塗布する
      5. ワイヤーに予備はんだを付け、はんだ付けする
    • 注意事項
      • 常にはんだごての先に予備はんだを付けておく
      • 温度: 250-350 C
      • PCBを素手で触らない

情報収集と最初の操作

  1. デバイスの背面のラベルを見て、以下を見つける
    • モデル名
    • シリアル番号
    • デバイスをブランド化した会社(製造元とは限らない)
  2. 収集した情報を使ってインターネットで検索する
    • 情報を含む最良のウェブサイト
      • TechInfoDepot
      • OpenWRT
    • ...を検索すると、通常多くの情報が得られる
      • FCC ID(参照ウェブサイト)
      • SOC名
      • フラッシュチップの名前と容量
      • RAMチップの名前と容量
      • その他の情報源
  3. デバイスを開ける
    • デバイスの開け方のチュートリアルを検索する
    • 一部のデバイスは開かないように接着されている場合があるので、優しく扱う
    • ヒートシンクが回路の一部を覆っている場合があるので、可能なら取り外す
  4. コンポーネントを特定する
    • 回路名を読みやすくするために
      • 綿+アルコールを使い、アルコールが乾いたらチョークで回路を覆い、その後きれいにする。すると回路名が読めるようになる
      • 拡大鏡を使う
    • これらのコンポーネントに関する情報やデータシートをインターネットで検索する。見つからなければ中国の検索エンジンを試す
      • Baidu
      • Sogou
      • Haosou
    • 重要: VCCとGNDがよく露出しているコンポーネントを見つけることは非常に有用
  5. UARTインターフェースを見つける:おおよそTTYのようなもの
    • インターネットで検索
    • PCB上でGND、INまたはRX、OUTまたはTX、VCCを探す
    • PCB上の3/4ピンを探す
      1. GNDへの参照を見つける
        • 以前に見つけたコンポーネントを使用
        • 通常、金属プレートはGND
      2. VCCへの参照を見つける
        • 以前に見つけたコンポーネントを使用
        • コンデンサを探す。通常、コンデンサの一方の端子はVCC
      3. 以下の表を埋めながらUART候補ピンをテストする(箇条書きは表の各列に対応)
        1. UARTピンのGNDに対する抵抗をテストする(マルチメータを抵抗測定に、通常200k)
        2. UARTピンのVCCに対する抵抗をテストする(マルチメータを抵抗測定に、通常200kΩ)
        3. デバイスを起動し、UARTピンのGNDに対する電圧をテストする(マルチメータを電圧測定に、通常20V)
        4. デバイスを起動し、ブート中に疑わしいTX UARTピンのGNDに対する電圧をテストする(マルチメータを電圧測定に、通常20V)。電圧が変動している場合、このピンはおそらくTX(データ送信中)
        5. デバイスを起動し、ブート中に疑わしいRX UARTピンのGNDに対する電圧をテストする(マルチメータを電圧測定に、通常20V)。電圧が0に固定されている場合、このピンはおそらくRX(データ受信待ち)
        • 表

          PINGND resistanceVCC resistanceVNotes
          1
          2
          3
          4
          • 例

            PINGND resistanceVCC resistanceVNotes
            130kOhm0Ohm3.3VVCC
            24.7kOhm34kOhm3.3V1.6-3.3V on boot - TX
            3INFOhm (multimeter 1)INFOhm (multimeter 1)3.3V0V on boot - RX
            40Ohm30kOhm0VGND
    • Jtagulatorを使用する
      1. コンピュータに接続する(ボーレート: 115200)
      2. 重要: Hはヘルプ表示機能。あらゆる場面で使用する
      3. ボードGNDをJtagulatorGNDに、ボードのピン1,2,3をJtagulatorのチャンネル1,2,3に接続
      4. V: 動作電圧を設定
      5. U: UART識別メニューに入る
      6. U: 識別を開始
      7. Text string to output: default
      8. Starting channel: ボードのピン1を接続したチャンネル
      9. Ending channel: ボードのピン3を接続したチャンネル
      10. Ignore non-printable characters: Yes
      11. 完了!
    • TODO: - Use BurtleinaBoard + Busside
  6. UART経由で接続:シリアルアダプタ(UART -> USB)を使用してコンピュータ経由でボードに接続する
    • 選択したシリアルアダプタ: FT232H + Focaccia Board
    1. 適切な電圧(3.3Vまたは5V)を選択しないと、ボードまたはシリアルアダプタが損傷します
    2. ボードRXをアダプタTXに、ボードTXをアダプタRXに接続
      • 注意: 通常VCCピンの接続は不要
    3. アダプタをコンピュータに接続
      1. sudo lsusbでアダプタを特定
      2. ls -lart /devですべてのデバイスファイルを表示。アダプタは最後の方にあり、通常ttyUSB0
      3. このデバイスにアクセスするにはdialoutグループのメンバーである必要がある(またはroot)。グループを確認するにはgroups $USER
      4. screen /dev/ttyUSB0 $BAUDRATEでTTYに接続
        • $BAUDRATEはこちらにあるもののいずれか
        • 最も一般的な$BAUDRATE
          • 115200
          • 9600
          • 57600
          • 38400
          • 19200
        • 重要: $BAUDRATEを間違えると、文字化けが見えるか、何も見えない可能性がある
        • ctrl + a -> k -> y: close screen
    • RXピンが動作しないように見える場合(タイプしてリターンを押しても何も起こらない)、「リターン」値が\r\nか\nで間違っている可能性がある
      • これを解決するにはpyserial(Pythonのシリアル通信用ライブラリ)を使用する。例:
        #!/usr/bin/env python3
        
        import serial
        
        ser = serial.Serial('/dev/ttyUSB0', 115200, tmieout = 0.1)
        ser.write(b"HELLO\r\n")
        ser.write(b"HELLO\n")
        
      • 問題が解決しない場合はロジックアナライザを使用する(こちらに安価なもの)
  7. JTAGインターフェースを見つける
    • JTAGとは: JTAGインターフェースは、メーカーがチップのピン間の物理的な接続をテストする方法を提供します。電気技術者がJTAGを使用してチップを「デバッグ」するという場合、それは従来のソフトウェアデバッグとはまったく異なることを意味します。チップAのピンAがチップBのピンBに物理的に接続されているかどうか、そしてすべてのピンが正しく機能しているかを確認することです。JTAGはデバイスへの直接的なハードウェアアクセスを提供するため、セキュリティ研究にも優れたツールです。
    • JTAGの特性
      • 制御性: 内部ビットを0または1に設定できる
      • 可観測性: 内部ビットの値を確認できる
      • ...したがってEEPROMの読み書きが可能
      • インサーキットデバッグ: 回路上のコードをデバッグ(例えばOpenOCDとGDBを使用)
    • インターネットで検索
    • PCB上でTCK、TDI、TDO、TMS、TRST(オプション)を探す
      • TCK (テストクロック): コントローラの速度を決めるドラマーまたはメトロノーム。このピンの電圧はリズミカルで安定したビートで上下にパルスします。クロックの各「ビート」ごとに、コントローラは1つのアクションを実行します。
      • TMS (テストモード選択): モード選択ピンの電圧がJTAGの動作を制御します。このピンの電圧を操作することで、JTAGに何をしてほしいかを指示します。
      • TDI (テストデータ入力): チップにデータを供給するピン。JTAG標準ではこのピンを介した通信プロトコルは定義されていません。それはメーカーに委ねられています。JTAGにとって、このピンは1と0がチップに入るための単なる入口です。チップがそれらをどう処理するかはJTAGには関係ありません。
      • TDO (テストデータ出力): チップからデータが出るピン。データ入力ピンと同様、通信プロトコルはJTAGによって定義されていません。
      • TRST (テストリセット、オプション): この信号はJTAGを既知の良好な状態にリセットするために使用されます。
    • PCB上の5/6ピンの列、または10、12、14、20ピンの二列を探す
      1. GNDへの参照を見つける
        • 以前に見つけたコンポーネントを使用
        • 通常、金属プレートはGND
      2. VCCへの参照を見つける
        • 以前に見つけたコンポーネントを使用
        • コンデンサを探す。通常、コンデンサの一方の端子はVCC
      3. 以下の表を埋めながらJTAG候補ピンをテストする(箇条書きは表の各列に対応)
        1. JTAGピンのGNDに対する抵抗をテストする(マルチメータを抵抗測定に、通常200k)
        2. JTAGピンのVCCに対する抵抗をテストする(マルチメータを抵抗測定に、通常200kΩ)
        3. デバイスを起動し、JTAGピンのGNDに対する電圧をテストする(マルチメータを電圧測定に、通常20V)
        • 表
ツールをダウンロード