Successfully reported this slideshow.
Your SlideShare is downloading. ×

katagaitaictf7_hw_ysk

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 72 Ad

More Related Content

Slideshows for you (20)

Similar to katagaitaictf7_hw_ysk (20)

Advertisement

Recently uploaded (20)

katagaitaictf7_hw_ysk

  1. 1. katagaitai CTF勉強会 #7 – hardware 関東 | Med - 2017/02/25 1
  2. 2. 準備 - hardware  [SECCON CTF 2014 online] Programing 400 - The Golden Gate  http://bit.ly/2kynVKb  [Nuit du Hack 2013] misc400 - OMG, electronics ...  http://bit.ly/2kDMwwW  ICのデータシート  4555、4042、4520  2716 EEPROM  Python2/3が動く環境(講義は2前提で説明します) 2
  3. 3. はじめに3
  4. 4. 自己紹介  ysk (@y_sk256)  学生時代  電子回路、装置開発などのHW開発  装置制御、画像処理などのSW開発  社会人  ソフトウェア開発管理というSE業務。最近障害対応が収まった  IoT絡みのセキュリティ研究調査というやりがいのあるお仕事  趣味  IoT周りの解析  Arduino,ドローン,車,…  機械学習  CTF: katagaitai  主な担当はfor, ppc, misc(hw★ココ),稀にrev  最近控え気味  電波や信号を発するもの 4
  5. 5. 本講義について  非専門家なので  資料や説明に間違いがあるかもしれません。ご指摘ください  HWの説明としてレベルは高く無いです。復習にもどうぞ  本講義の運営について  演習などは進み具合をみつつスピードを調整します。  質問は挙手または、休み時間にお願いします。  途中入退出自由です。周りに迷惑をかけないようお願いします  資料について  そのうち公開予定です  資料や講義風景のSNS等への投稿はご遠慮ください。  問題文/画像/資料は各CTF、Wikipedia、企業の物を引用している箇 所があります。著作権はそれぞれの団体又は組織に帰属します。 5
  6. 6. 目次  はじめに  ITセキュリティとHW  電子部品の紹介  問題:[SECCON CTF 2014 online] The Golden Gate  回路図の紹介  問題: [Nuit du Hack 2013] misc400 - OMG, electronics  マイコン系問題のさわり  さいごに 6
  7. 7. ITセキュリティとHW7
  8. 8. HWの分類  HWの分類 (独断と偏見)  IoT(つながるHW)  昔からユビキタスなどとして存在  大きな違いは、昔数十万円した機器が数百~数千円になったこと  スマホ,センサー類,…  独自ネットワーク(Internet以外)につながるHW  工場系  PLC制御、産業用ロボット,…  インフラ(SCADA,…)  ガス,電気,電話網,交通機関,…  クルマ(CAN,LIN,…)  家電・電子機器  エアコン,防犯機器,…  防衛システム(JTIDS,Link11/22/16)  人工衛星(テレメトリ通信)  つながらないHW達  旧来の家電,機械,… 8
  9. 9. ITセキュリティとHW  ITセキュリティに見るHWの例  CTFでの出題  Misc  電子機器の写真から回路図を起こして解析  回路図からSWに起こして解析  マイコンと回路図を解析(一部Revと被る)  広義の意味では、電気・音声信号の解析,…(一部Forと被る)  カンファレンスに見るHW(Defcon)  リアル電子回路バッチ  Hardware Village:電子機器,回路  (Lockpicking Village:鍵開け) 9
  10. 10. 電子部品の紹介10
  11. 11. 電子部品1  電源:電力を供給するもの。  VCC/GNDと書かれることが多い(VCCは旧規格)  配線:電子部品を電気的に接続するもの  右図は複数配線の省略表記。同じ番号のみが接続されている  高集積の電子基板だと両面2層や3層に配線が組まれている  高周波はノイズやパーツ間の距離の影響を受けやすい  コネクタ:電気的な接続/取り外しを確実に行うもの  雄をピン、雌をジャックという  放熱フィン:機器の熱を空気に逃がす金属  整流回路や大電力を扱う部品に取り付けて使う  スイッチ(SW):電気の接続/非接続を行う入力装置  接触式SWはチャタリングが発生するため対策が必要 11
  12. 12. 電子部品2  抵抗(R):電圧や電流の調整に使う[Ω]  抵抗  半固定抵抗  カラーコードや数字で識別される。  コンデンサ(C):高周波を通しやすく、直流を遮断する[F]  セラミックコンデンサー  電解コンデンサー  可変コンデンサー  過電流を流すと破裂する(どらやき)  コイル(L):直流を通しやすく、高周波を遮断する[H]  コイル  トランス(T):電磁誘導による電気的な絶縁や昇圧/降圧を行う 12
  13. 13. 電子部品3  リレー:電気でSWをON/OFFするもの  電磁式リレー  フォトMOSリレー  真空管:電界制御で真空中の電子(電流量)を制御する  ヒータで熱して自由電子を飛ばす。温まるまで安定しない  オーディオ好きがあえて使うことも  球と呼ばれることも  FET:電界効果トランジスター  原理は真空管に類似。電界で半導体内の電子を制御する 13
  14. 14. 電子部品4  ダイオード(D):電流を一方通行にする半導体。1石と呼ばれる ことも  整流ダイオード  ダイオードブリッジ  発光ダイオード(LED)  7セグLED  トランジスタ(TR):2石と呼ばれることも  信号増幅、信号制御が主なお仕事  アナログIC(U)  差分増幅器  三端子レギュレータ  発振子  セラミック発振子:安価  水晶発振子:高精度、高周波数に対応 14
  15. 15. 論理回路1  論理回路  論理演算を行うために、電子部品(主にトランジスタ)を組み合 わせて作られる回路  1つのICにまとめられていることが多い。  ロジックIC  NOT  OR/NOR  AND/NAND  XOR 15
  16. 16. 問題 [SECCON CTF 2014 online] Programing 400 - The Golden Gate 16
  17. 17. [SECCON CTF 2014 online] Programing 400 - The Golden Gate We've found an encoder board along with cipher text. Please help us to decrypt it. The cipher text: BQDykmgZ0I6SaQnq4o/iEONudetXdPJdpl1UVSlU69o ZOtvqnHfinOpcEfIjXy9okkVpsuw2kpKS== 17 ⇒回路をリバースエンジニアリングして暗号文を復号すれば良い Download from GitHub. http://bit.ly/2kynVKb
  18. 18. 部品の特定 Q.①~⑨の部品名や型番/抵抗値を調べよう 18 5min ② ③茶黒橙 金 ④ ⑤外側のやつ ⑥ ⑦ ⑧橙橙茶 金 ⑨ ①
  19. 19. 部品の特定(回答例) Q.①~⑨の部品名や型番/抵抗値を調べよう 19 ② タ ク ト ス イ ッ チ ③抵抗10kΩ(=茶1黒0*10^橙3) ④IC 74HC00 ⑤ICソケット ⑥赤色 LED ⑦ジャンパー コード ⑧330Ω (橙3橙3茶1) ⑨ジャンパー線 ①(ユニバーサル)基板
  20. 20. IC 74HC00とは  型番がわかったが仕様がわからない  「データシート」を見れば良い。  昔は横長な本が必要だったが、現在はまずググれば良い  実際CTFの時にググった内容 20
  21. 21. とは  とはNAND  NANDとは Y = ! (A & B) の信号を出す論理回路である  TTLレベルの論理回路では+5VがHigh(1), 0VがLow(0)となる  ICの足の見方  表の切り欠きから反時計回りにピン番号が振られている  これらのピンの機能をピンアサインと呼ぶことがある  右下と左上がGND,VCC(+電源)となる場合がよくある(?) 21
  22. 22. リバースエンジニアリング  じっくり眺めて回路図を起こしていく。  裏表の写真を用意し回転や反転させると調べやすい 22
  23. 23. 方向性  写真を見やすく加工する(済)  裏表が一致するようにリサイズ、回転、鏡面反転、を行う  人によってはGIMPなどで重ねると見やすいかも  回路の類似性検証  基盤裏面を見ると繰り返しパターンがある  とはいえ配線が細かいところ違うので正確に写経する必要がある  入出力部位の抵抗は接続先に注目  タクトスイッチやLED周りの抵抗は電流調整用でセット  タクトスイッチの抵抗はプルUP/DOWN抵抗の可能性大  OFFの時にHighになるのがプルUP抵抗 ⇒ 論理式のNotと同意  暗号化回路の問題なので  可逆性がある論理回路が期待される ⇒ XORがあるハズ  (おまけ)電源電圧が気になる方へ  このタイプのIC達は普通は5V(TTLレベル)駆動  基盤実装の小さいタイプだと普通は3.3V 23
  24. 24. 繰り返し24 15min Download from GitHub. http://bit.ly/2kynVKb
  25. 25. 25 5min
  26. 26. どこを見てもXORが無い  ここで、XORが無いので不可逆にならないか心配になる  実はNANDは他の基本的な論理回路を全て表現できる  XORをNANDで表現  さっき見た回路と同じ⇒XORに置き換えられる 26
  27. 27. 27 Not Not Not Not Not
  28. 28. 28 +5V inp0 inp7 ・ ・ ・ outp7 outp0xor0 ・ ・ ・ xor6 15min
  29. 29. 変換表を作成する  2通りの解き方  逆関数を作り復号  変換表を作り復号★採用  変換表を作る  XORをプログラムにする  0~255を入力  各出力を保存 29
  30. 30. 演算結果を格納  各出力を保存  出力値をキーに入力値を保 存。処理し易くするため  0bit側がどちらかわからな いので必要に応じて入力/出 力bitをreversed()する 30
  31. 31. 変換表を使ってデコード  出力が文字化けしていると思ったあなた  ファイルに格納して fileコマンドを打つか圧縮ツールで開いてみよう 31
  32. 32. よく見る回路図32
  33. 33. 回路図を見ようwtih 78M05  三端子レギュレータ(定電圧回路)  類似の電子部品  78M05・・・5V 最大1A出力  78M12・・・12V  79M05・・・5V (真ん中pin2がプラス)  78L05・・・5V 最大100mA出力 33
  34. 34. 回路図を見ようwith PIC16F84  PIC(プログラマブルIC)  基本的に電源と発振子と入出力があれば動くマイコン  昔はとても重宝されたが、周辺回路が必要&PCと簡単に通 信できないのでソフトウェア屋にはまだ敷居が高かった(レ ベル変換すればシリアル通信が行えるPICはあった) 34 セラミック発振子PIC16F84 RA ポート RB ポート
  35. 35. 回路図を見ようwith Arduino UNO35
  36. 36. 論理回路2  フリップフロップ(Flip-Flop)  値を保持する回路  種類が複数ある。RS/JK/D/T型等  D型フリップフロップ  入力がD, C(Clock), 出力がQ  CがClock UP(Low->High)になった時のDの値をQが出力する。Q=D, Q=!D  次のClock UPが来るまでQは値を保持する  入力P(Porlality:極性)がある場合Clock UPではなくDownで評価される  記憶装置  EEPROM  LCD  バックライトの上に液晶を配置し、電源のON/OFFで光の透過性を 制御して文字や図を表現する出力装置。  電子工作でよく出てくるもの  文字列(1文字を5*7ドットで表現など)を表示するもの  画像を表示するもの 36 D Q C Q
  37. 37. 問題 [Nuit du Hack 2013] misc400 - OMG, electronics 37
  38. 38. [Nuit du Hack 2013] misc400 - OTP38 OMG, electronics ... Found some information about what seems to be an OTP. And a webpage asking for a valid token. The design draft we retrieved looks terrible, they must have got it fixed, yet the algorithm should be similar. OTPの入力画面が無いので、今回は2013/1/19 13:00:00 GMT +0100の値を求める ⇒回路をリバースエンジニアリングしてOTPを予測すれば良い Download from GitHub. http://bit.ly/2kDMwwW 20min
  39. 39. 39
  40. 40. 方向性  回路図が複雑  ブロック化(分割)して設計しているはず⇒分割して解析  知らないICは型番+「データシート」でググる  解析後にプログラムに変換しておく  HW One Time Password(OTP)の問題  OTPは他要素認証(MFA)の一つ  固有のシードを元に定期的にトークンが算出される  考えられる解き方  TestReportにマッチするようなシードを総当たりで調べ、任意時刻 の値を算出する⇒多分これ  回路自体にバグがある⇒CTFとしては難問で可能性低(?)  (おまけ)電源が無いから動かないのでは?  省略されていますが本来は記載されます。大抵5V  この問題では をGNDとしている 40
  41. 41. 答え合わせマシーン  答えがわかった方は1秒毎に答え合わせができます 41
  42. 42. 回路図からプログラムを起こす  プログラムの起こし方は2種類  回路の仕様を汲み取り粒度を荒くしてから作る⇒読み違える可能性がある が早い  回路をなるべく正確に再現する⇒細かい動きがわからいのでこちらで作成  その他  回路図と変数が対応付けられるように回路図に変数を記載  CTF中はTry&Errorでプログラムを組むのでclassは使わずグローバル変数を 使う(使った)  グローバル変数は記載していませんが一部を除き全て0初期化です  一部:pre_d = 9(信号なし), b4=0xffffffff (32bit0の反転) 42
  43. 43. ブロック化43 ① ② ③ ④ ⑤ ⑥
  44. 44. ①-1  RC発振回路  抵抗とコンデンサがある唯一アナログっぽい個所  RC発振回路の一種、ICによるマルチバイブレータ  矩形波を出力する  コメントよりこの発振回路はf = 1/4Hzに調整済み  (余談)f = 0.455/(C1 * (R1+R2)) ※マルチバイブレータの計算式  (余談) R2 = 0.455/(f*C1)–R1 = 452KΩくらいに調整済み 44 RC発振回路 1/4Hz ck p c b
  45. 45. ①-2  クロック信号の周波数変換  アップカウンター(IC 4520)によるクロック周波数の変換  Q1~4が4bitカウンター 45 クロック信号の周波数変換 1/4Hz1/8Hz 1/16Hz16秒間隔4bit カウンター ck p c b
  46. 46. ①-3  キー選定器(仮称)  前回の結果(a)を受けて次のトークン生成に使用するキー(b)を生成する  この回路特有のブラックボックス回路  c[0]-c[2]は先ほどのIC 4520により周期的(8秒毎)に0~7がセットされる  Input: a(32bit), c(3bit), Output b(4bit) = a[c*4]~a[c*4+3]  回路図中にはFile: selector.schと別の回路図があることを示唆している  ロジックが書いてあるので回路図はなくても問題ない 46 キー選定器(仮称) ck p c b
  47. 47. ①プログラム  ①-1  ckを1bit反転させるだけ。矩形波を表現  1/4Hzなので1反転(半周期)に2秒かかる計算  ①-2  クロックck=1(Clock UP)した時に、カウンターp がインクリメントされる  さらにpの2bit目がインクリメントされたときに カウンターcがインクリメントされる  ①-3  現在のトークンから、カウンターcで指定され る4bitをbに格納する 47
  48. 48. ②-1  キーとカウンターのXOR  回路記号よりXOR  b2 = b(キー) ^ c(カウンター)  トークンシード取得  EEPROM(IC 2716)から指定 されたアドレスのデータ (トークンシード)を取得する  アドレス指定は4bit  トークンシードは8bit  データシートを確認 48 キーとカウンターのXOR b 1/8Hz トークンシード 16秒間隔4bit カウンター c p2 p3 b2 a d p c
  49. 49. ②-2  タイミング信号  回路記号よりNotとAND  1/32HzがONの間は1/8Hz矩 形波が出力される。  NotがあるのでU1A/U1Bは32 秒間隔で交互に出力1/8Hz矩 形波を出す  デコーダ  2bitで指定される番号のピン に出力する。  例: c=0,1 ⇒ d=0,0,1,0 49 1/8Hz デコーダ タイミング信号 16秒毎に4秒間隔 矩形波/0V出力が 切り替わる 16秒間隔で4秒間 隔矩形波が来る b c p2 p3 d b2 a p c
  50. 50. ②プログラム  ②-1  カウンターcと現在のトークンから取得した bをXORする  トークンシードからbで指定される8bitを取 得する  トークンのシードは機器固有。test-reportに token seed = product_idと記載がある  ②-2  後でトークンシードの一部を格納するタイ ミングを示すp2を計算する  後で8bit4個のフリップフロップにタイミン グを伝えるためのp3を計算する 50
  51. 51. 現在地③51 ① ② ④ ⑤ ⑥ ③
  52. 52. ③-1  トークンシードの格納  各赤枠のD型フリップフロップ(IC 4042)に16秒間隔で交互に、トー クンシード8bitが更新される  各赤枠の上のICがトークンシード 0-3bitをそのままの出力で、下の ICが4-7bitを反転出力で保持する  フリップフロップおさらい。ク ロックUPの時の入力値を保持して 出力する 52 8bitトークンシード 16秒間隔 トークンシード格納 16秒毎にトーク ンが更新される 16秒毎に4秒間隔 矩形波/0V出力が 切り替わる a2 b3 a3
  53. 53. ③-2  トークンシード混合  回路記号よりXORを行う  前の16秒のトークンシード(8bit)と XORをとる 53 トークンシード混合 16秒毎にトーク ンが更新される 16秒毎に4秒間隔 矩形波/0V出力が 切り替わる 8bitトークンシード 16秒間隔 a2 b3 a3
  54. 54. ③プログラム  ③-1  P2の各bitがUPした時に、トークン シード一部をa2,b3に格納する  その際に上位4bitはNotを取る  ③-2  a2,b3をXORで混合する 54
  55. 55. ④  トークンシード結合  D型フリップフロッ プ(IC 4042)による データ保持機構  16秒毎トークンシー ドXORのデータをデ コーダが指定したフ リップフリップフ ロップ(赤枠)に記録す る  左上>左下>右上> 右下の順に格納され る。128秒間隔。 0~31bitに対応  全て出力はビット反 転している 55 トークンシード結合 16秒毎トークン シードXOR 16秒間隔デ コーダ出力 128秒間隔32bit トークンシード b4 a3 d
  56. 56. ④プログラム  dが指定した8bit分のフリップフロップに、先ほどのa3の値を上書きする  一度該当の8bitをANDを用いて0で初期化し、ORでa3を書き込む  32bit分全て合わせてb4として扱う 56
  57. 57. 現在地⑤57 ① ② ③ ④ ⑤ ⑥
  58. 58. ⑤  トークン算出  回路記号よりXOR  32bitのトークンシード と32bitデータ(前回トー クン)をXORしてトーク ンを求める  1bitローテートしている  OTP表示  数字を表示する7セグ LEDでOTPを表示する  32bit Big-endianと書かれ ているので、16進数8文 字となる。 58 OTP表示 トークン算出 128秒間隔32bit トークンシード 32bitデータ (前回トークン) 128秒間隔32bit トークン a5 b4 ~token
  59. 59. ⑤プログラム  現在のトークンを反転させて先ほどのb4とのXORを取る  その結果の32bit目を0bit目にローテーションさせる 59
  60. 60. ⑥  トークン保持  D型フリップフロップ(IC 4042)により、32bit トークンを保持する  クロックより256秒に1回保存される 60 トークン保持 32bitトークン 128秒間隔32bit トークン 128秒周期矩形波 token ~token
  61. 61. ⑥プログラム  カウンターcの4bit目がUPするタイミングでトークンを更新す る  トークンの更新周期は256秒毎となる 61
  62. 62. 回路図と変数の対応 62 ① ② ③ ④ ⑤ ⑥ ck p c p2 p3 d a2 b token b2 a b3 a3 b4 a5
  63. 63. タイミングチャート63
  64. 64. main  以上でOTPが相対的に得られるようになった  起点はTest report に記載のある「2013-01-18 14.05 GMT+0100」 64
  65. 65. 動作確認  以下、Test Reportの記載を満たすか確認する  動作確認  見つかった時だけ表示して、止まるように書き換える  以下、実行結果の例⇒314番目=22時間19分ほどの時間差 65 > python2 otp.py 00314 7113AAD3
  66. 66. 答えを求める  ここでは「2013/1/19 13:00:00 GMT+0100」を求めてみる  起点「2013-01-18 14.05 GMT+0100」からの経過時間は82500秒 =約322回転後(256秒周期)  時刻ズレも考慮して322回転後周辺のOTPを取得する  CTF当日はWeb画面にOTPを投げてゴール 66
  67. 67. マイコン系問題のさわり67
  68. 68. PICの解析 (さわりだけ  PIC のファームウェアを入手したときの解析  プロテクトがかかっていなければ吸い出せる  gpdasmで逆アセンブリ(正確に逆アセンブリできない場合がある)  http://www.dinceraydin.com/pic/djdasm/djdasm.htmlで逆アセンブリ 68 ;Generated by PICDIS18, Claudiu Chiculita, 2003. http://www.ac.ugal.ro/staff/ckiku/software ;Select your processor LIST P=18F252 ; modify this #include "p18f252.inc" ; and this ORG 0 rrcf 0,W DE 8Ah ;WARNING: unknown instruction! incf EECON1,W nop sublw 14h swapf 7,W,BANKED DE 8Ch ;WARNING: unknown instruction! retlw 14h DE 8Dh ;WARNING: unknown instruction! retlw 8Dh retlw 8Dh rrcf 1Fh,W decf 8Dh,W,BANKED sublw 0Dh decf 16h,f,BANKED DE 84h ;WARNING: unknown instruction! DE 18Dh ;WARNING: unknown instruction! xorlw 8Dh
  69. 69. Arduinoの解析 (さわりだけ  Arduino のファームウェアを入手したときの解析  ArduinoはAVRというワンチップマイコンやIntelのチップを用 いたものが存在する  target.hexファイルを入手しバイナリファイルtarget.binへ変換  逆アセンブリをかける  avr-objdump.exe -S target.bin  Arduinoをインストールしているとobjdumpが入ってくる  C:¥Users¥[USER_ID]¥AppData¥Local¥Arduino15¥packages¥ardui no¥tools¥avr-gcc¥4.9.2-atmel3.5.3-arduino2¥bin¥avr-objdump.exe  C:¥Users¥[USER_ID]¥AppData¥Local¥Arduino15¥packages¥Intel¥ tools¥arc-elf32¥1.6.9+1.0.1¥bin¥arc-elf32-objdump.exe 69
  70. 70. Arduinoの解析(例)70 40034140: 276f 003f clri 0 40034144: 200a 0f80 4003 4000 mov r0,0x40034000 4003414c: 206b 0940 sr r0,[int_vector_base] 40034150: 240a 3f80 a801 1fbc mov sp,0xa8011fbc 40034158: 204a 0800 mov r0,0x20 4003415c: 206b 0440 sr r0,[che_mode] 40034160: 2020 0f80 4003 4448 j 0x40034448 40034168: 2069 0040 flag 0x1 4003416c: 264a 7000 mov 0,0 40034170: 264a 7000 mov 0,0 40034174: 264a 7000 mov 0,0 40034178: 2020 0f80 4003 4168 j 0x40034168 40034180: 264a 7000 mov 0,0 40034184: 240a 3f80 a801 17bc mov sp,0xa80117bc 4003418c: 20aa 0290 lr r0,[1034] 40034190: 2042 0400 sub r0,r0,0x10 40034194: 210a 0f80 a800 e000 mov r1,0xa800e000 4003419c: 2115 0000 add2 r0,r1,r0 400341a0: 1000 0001 ld r1,[r0] 400341a4: 7960 jl_s.d [r1] 400341a6: 264a 7000 mov 0,0 400341aa: 246f 003f rtie 400341ae: 78e0 nop_s 400341b0: 2005 0043 or r3,r0,r1 400341b4: bb1e asl_s r3,r3,0x1e 400341b6: 4500 mov_s r5,r0 400341b8: 0b4d 00a5 brhs.d.nt r3,r2,0x40034204 400341bc: 2242 8043 sub.f r3,r2,0x1 400341c0: 8180 ld_s r12,[r1,0] 400341c2: 2b42 80fc asr.f lp_count,r3,0x3 400341c6: 0b11 00b6 bbit0.d.nt r3,0x2,0x400341d4 400341ca: bac1 bmsk_s r2,r2,0x1 400341cc: 1d04 0310 st.ab r12,[r5,4] 400341d0: 1104 020c ld.aw r12,[r1,4] 400341d4: 20e8 026f lppnz 0x400341e6 400341d8: 432c ld_s r3,[r1,0x4] 400341da: 1d04 0310 st.ab r12,[r5,4]
  71. 71. さいごに71
  72. 72. 回路問題のポイント  電子部品を調査する  マイコンの有無  AVR,PIC,…  通信ポート/チップの有無  MAX232,FTDI,Ether,…  記憶媒体の有無  SD,EEPROM,RAM,ROM,…  入出力の関係を調べる  スイッチ、LED、LCD等  道具で解析する  各プロトコルの通信ケーブルを使う  RS232C,SPI,CAN,…  電気信号を直接見る  テスター,オシロスコープ,スペアナ,ロジックアナライザー  その他信号を投げる  GPIO,A/Dコンバータ,シグナルジェネレータ,… 72

×