AVTokyo バッジを使ったワークショップのテキストです
このバッジは何? AVTOKYOの バッジサポートページhttp://ja.avtokyo.org/avtokyo2017/badge
流れ:1.開発環境インストール 2.LED点滅 3.画面表示 4.CTF問題作成 5.BadUSB
1.開発環境インストール
ボードの解説、開発環境セットアップ、サンプルの実行inside of 「AVTOKYO 10th HACK BADGE」
https://qiita.com/lowlevel/items/0fd3402e0dd4584de65f
なお、今回のワークショップではST-Linkは使いません。Windowsの方は「ST-Linkを使う場合はST-Linkのドライバのインストールも必要となります」の箇所は、省略して下さい。
2.LED点滅
先のページに掲載の、サンプルプログラムを実行してみます。
3.画面表示
OLEDディスプレイに描画するサンプルプログラムを動かします。
「SPI SD1306 OLED を STM32Duino ( Arduino IDE + One of BluePill : Robotdyn STM32F103 Dev.Board )で動かす」
こちらを参照してください
https://qiita.com/nanbuwks/items/25ccb1ac38ebb237f94a
4.CTF問題作成
「software description of AVTOKYO 10th HACK BADGE」
https://qiita.com/lowlevel/items/12c55ce9260e7d369989
に、AVTOKYOに配布したもののソースコードが記載されています。
これを書き込むと本来のソフトが復元します。
また、miniCTFの問題はハードコーディングされています。問題を書き換えて自分のCTFを作ってみましょう。
5.BadUSB
STM32でHIDデバイスの機能が使えるようになりました。この技術を使えば、キーボードから入力があったように振る舞うことができます。
当然、悪いこともしまくりです(BadUSB)。
「STM32F103でHIDデバイス」
https://qiita.com/nanbuwks/items/f7f2377c2b252e936baa
この記事ではキーボードのエミュレーションのみですが、マウスやUSBストレージなどもエミュレーションできます。自信のある方はチャレンジしてみてください。
より詳しく知りたい
以下の勉強会で取り上げています。月例の勉強会でご質問などお聞きします。MLやSlackもありますのでご参加下さい。
日本Androidの会秋葉原支部ロボット部
https://groups.google.com/forum/#!forum/robot-android-group-japan-akb
低レベル勉強会
https://lowleveltokyo.connpass.com/