Slide 1

Slide 1 text

この冬、BusPirateを 使い倒す きとけー(kitok) k@kitok.jp

Slide 2

Slide 2 text

⾃⼰紹介 • きとけー、きとけい、⽊藤 圭亮(kitokay, kitok) • キュアカイシャイン2年⽬(新プリキュア出た) • キャンプ2009卒、2012〜15チューター • 2016年からキャンプ講師 • ハードウェアリバースエンジニアリングを講義 • 2017年はBusPirateを使ってリバースする講義 • 温泉が好きです(温泉⾏きたい not ⾜湯)

Slide 3

Slide 3 text

今⽇の発表 • ほとんどデモなので、失敗したらごめんなさい

Slide 4

Slide 4 text

「この冬、Bus Pirateを使い倒す」 • Bus Pirateとは • Open Source Hardware and Software Project • ハードウェア解析⽤の治具(?) • Mainlineはv3.6 • 千⽯電商、Switch Science • 4000円前後 • Switch Scienceのほうが少し安い

Slide 5

Slide 5 text

Bus Pirateで出来ること • 1-wire • I2C • SPI • JTAG • Asynchronous serial(UART) • MIDI • PC Keyboard(PS/2) • HD447800 LCD • 2- and 3-wire libraries with bitwise pin control • Scriptable binary bitbang, 1-wire, I2C, SPI and UART 公式サイトより引⽤ 今⽇はここをデモ

Slide 6

Slide 6 text

Bus Pirateの概要図 PC USB-UART (FT232RL) BusPirate本体 (PIC24FJ64) MOSI/MISO Vcc, AUXなど

Slide 7

Slide 7 text

基本的にSerial経由で操作 • PyserialでPython Scriptable • 基本なpythonフレームワークは公開されてる • https://github.com/BusPirate • 基本的なやりかたも公開されてる • http://dangerousprototypes.com/docs/Bus_Pirate_Scripting_in _Python • 例えば… • SPIのROMをdumpするとか • 1-wireでセンサデータを取得するとか • I2Cのデバイスの通信を取得するとか

Slide 8

Slide 8 text

とりあえず順番にデモ • UART • 1-wire • I2C • SPI • JTAG • おまけ

Slide 9

Slide 9 text

UART • UARTモード • テストとして、出⼒したものを⼊⼒する • キーボード⼊⼒したものがターミナルに表⽰

Slide 10

Slide 10 text

モード切り替え • Hi-Z(⾼インピーダンスモード)→UARTモード • 初期はHi-Z mode、モード切り替えて使⽤ • Baud rate, stop bitなどを設定 • オープンドレインでOutputの電圧を変更可能 • または3.3VのOutput • Inputはmax 5.5V • Transparent Bridgeにする

Slide 11

Slide 11 text

BusPirateの概要図 PC USB-UART (FT232RL) BusPirate本体 (PIC24FJ64) UART RX/TX PCからSerialが透過的に⾒える

Slide 12

Slide 12 text

1-wire • 1-wireの温度センサー • センサ系が多い(安価なデバイス) • DS18B20(秋⽉で変える1-wire温度センサIC)

Slide 13

Slide 13 text

I2C • I2CのROM dumpのデモ • I2Cで通信をするデバイスも多い • 例:Wiiのヌンチャク、SNESミニのコントローラ

Slide 14

Slide 14 text

こんな感じで接続 • Microchip 24LC64

Slide 15

Slide 15 text

SPI • SPIのEEPROMのdump • SPIは組込みのROMに使われることが多い • 例:ルーターのFlashROM(ファーム格納)

Slide 16

Slide 16 text

こんな感じで接続

Slide 17

Slide 17 text

ドキュメントの⽇本語化 • Bus Pirateチュートリアルを⽇本語化してます • ご協⼒いただける⼈は k@kitok.jp まで • たぶん今⽉中にどっかでアナウンスします • 他のリバエンツールも探ってます • 主にSDRツール(HackRF, YardStickとか) • IoTSecなんだから、無線もやらないとね! • 有⽤Toolsのドキュメント⽇本語化を進めたい

Slide 18

Slide 18 text

Bus Pirateをつかって • いろんな機器を分解して遊ぼう! • でも法的なところは守ろう • 知的財産権とか、著作権とか • リバースするのは違法ではないが、リバースして同 様の製品を作るのは違法 • 機器によっては、ファームウェアリバースは違法 • Let’s hacking with Bus Pirate!