Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Making full use of Bus Pirate
Search
kitok
January 07, 2018
How-to & DIY
1
700
Making full use of Bus Pirate
#iotsecjp
kitok
January 07, 2018
Tweet
Share
More Decks by kitok
See All by kitok
Starting radio hacking with SDR
kitok
2
260
The reversing man
kitok
1
89
Other Decks in How-to & DIY
See All in How-to & DIY
ラズパイカメラ向け ケーブル延長基板・ハウジングの開発
koheimasaki
PRO
2
360
2025年03月02日 メイカーズながおかまつり での講演 「コミュニティベースでの製品開発ものづくりフェアの役割」
takasumasakazu
0
260
家具家電付アパートの自室の冷蔵庫をスマートIoT化してみた!
scbc1167
0
130
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
390
PlatformIO IDE用M5Stack定型コード環境の紹介
3110
1
620
Within the team, I grow as a tester and continuously pursue product quality
camel_404
6
2.7k
5年間ぐらい、 スプリントレトロスペクティブは、 「+/Δ」しかしてないので、 あらためて良いのか悪いか考えてみる / Doing Plus Delta for about five years
camel_404
1
220
AIをフル活用! 猫版MBTI「CATS診断」 爆速開発の裏側【個人開発のAIツール活用 LT Night 登壇用スライド】
omori0219
0
1.2k
JAWS-UGのご紹介 JAWS-UGとは?
awsjcpm
0
5.4k
エンジニアになって2年間で学んだこと
kaiphoenix
0
210
AWSコミュニティプログラムのご紹介 -グローバル展開するコミュニティプログラム-
awsjcpm
0
210
エッジで動くNode-REDを作る実験 #noderedjp #noderedcon
n0bisuke2
0
230
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Speed Design
sergeychernyshev
32
1.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
570
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
920
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Thoughts on Productivity
jonyablonski
70
4.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Practical Orchestrator
shlominoach
190
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Transcript
この冬、BusPirateを 使い倒す きとけー(kitok)
[email protected]
⾃⼰紹介 • きとけー、きとけい、⽊藤 圭亮(kitokay, kitok) • キュアカイシャイン2年⽬(新プリキュア出た) • キャンプ2009卒、2012〜15チューター •
2016年からキャンプ講師 • ハードウェアリバースエンジニアリングを講義 • 2017年はBusPirateを使ってリバースする講義 • 温泉が好きです(温泉⾏きたい not ⾜湯)
今⽇の発表 • ほとんどデモなので、失敗したらごめんなさい
「この冬、Bus Pirateを使い倒す」 • Bus Pirateとは • Open Source Hardware and
Software Project • ハードウェア解析⽤の治具(?) • Mainlineはv3.6 • 千⽯電商、Switch Science • 4000円前後 • Switch Scienceのほうが少し安い
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 公式サイトより引⽤ 今⽇はここをデモ
Bus Pirateの概要図 PC USB-UART (FT232RL) BusPirate本体 (PIC24FJ64) MOSI/MISO Vcc, AUXなど
基本的にSerial経由で操作 • PyserialでPython Scriptable • 基本なpythonフレームワークは公開されてる • https://github.com/BusPirate • 基本的なやりかたも公開されてる
• http://dangerousprototypes.com/docs/Bus_Pirate_Scripting_in _Python • 例えば… • SPIのROMをdumpするとか • 1-wireでセンサデータを取得するとか • I2Cのデバイスの通信を取得するとか
とりあえず順番にデモ • UART • 1-wire • I2C • SPI •
JTAG • おまけ
UART • UARTモード • テストとして、出⼒したものを⼊⼒する • キーボード⼊⼒したものがターミナルに表⽰
モード切り替え • Hi-Z(⾼インピーダンスモード)→UARTモード • 初期はHi-Z mode、モード切り替えて使⽤ • Baud rate, stop
bitなどを設定 • オープンドレインでOutputの電圧を変更可能 • または3.3VのOutput • Inputはmax 5.5V • Transparent Bridgeにする
BusPirateの概要図 PC USB-UART (FT232RL) BusPirate本体 (PIC24FJ64) UART RX/TX PCからSerialが透過的に⾒える
1-wire • 1-wireの温度センサー • センサ系が多い(安価なデバイス) • DS18B20(秋⽉で変える1-wire温度センサIC)
I2C • I2CのROM dumpのデモ • I2Cで通信をするデバイスも多い • 例:Wiiのヌンチャク、SNESミニのコントローラ
こんな感じで接続 • Microchip 24LC64
SPI • SPIのEEPROMのdump • SPIは組込みのROMに使われることが多い • 例:ルーターのFlashROM(ファーム格納)
こんな感じで接続
ドキュメントの⽇本語化 • Bus Pirateチュートリアルを⽇本語化してます • ご協⼒いただける⼈は
[email protected]
まで • たぶん今⽉中にどっかでアナウンスします
• 他のリバエンツールも探ってます • 主にSDRツール(HackRF, YardStickとか) • IoTSecなんだから、無線もやらないとね! • 有⽤Toolsのドキュメント⽇本語化を進めたい
Bus Pirateをつかって • いろんな機器を分解して遊ぼう! • でも法的なところは守ろう • 知的財産権とか、著作権とか • リバースするのは違法ではないが、リバースして同
様の製品を作るのは違法 • 機器によっては、ファームウェアリバースは違法 • Let’s hacking with Bus Pirate!