バイナリ解析環境構築メモ
Virtual Boxを使用し、仮想環境でUbuntuを起動できる状態を前提とします。
構築環境
入れていくもの
構築開始
Linuxコマンド
各種コマンドがあるか確認(Ubuntu16.04の場合上記コマンドは全て入っていた)
トレーサ
各種コマンドがあるか確認(Ubuntu16.04の場合上記コマンドは2つとも入っていた)
デバッガ
$sudo apt-get install buld-essential gcc-multilib git gdb
逆アセンブラ
$sudo apt-get install binutils
その他
radare2
$sudo apt-get install radare2
rp++
$mkdir $HOME/bin
$wget https://github.com/downloads/0vercl0k/rp/rp-lin-x64 -O $HOME/bin/rp
checksec.sh
$cd ~/Download/
$wget https://github.com/slimm609/checksec.sh/archive/1.6.tar.gz
$tar zxvf 1.6.tar.gz
$cp checksec.sh-1.6/checksec $HOME/bin/checksec.sh
peda
$sudo apt-get install build-essential gcc-multilib
$git clone https://github.com/zachriggle/peda.git ~/Download/peda
$echo "source ~/Download/peda/peda.py" >> ~/.gdbinit
$export PATH=$PATH/bin:$PATH
socat
$sudo apt-get install socat
pwntools
$sudo apt-get install python-pip python2.7-dev openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
$sudo pip install --upgrade pip
$sudo pip install pwntools
もしここで
Failed building wheel for cryptography
Failed building wheel for cffi
のようなエラーが出る場合
$sudo apt-get install libffi-dev
$sudo pip install cryptography
まとめ
まだ必要なツールはあると思うが、とりあえずここまで。いろいろ試しながらだったためミスがあると思う。(メモしとけばよかった...)
ArduinoでLCD表示
最近、Arduinoを触り始めたので(いまさら...笑)勉強がてらいろいろ試してます。ということで、今回はArduinoとLCDモニタを制御してみたいと思います。 おそらく簡単なので、さくっとやっちゃいたいと思います。
準備
今回はLCDモニタとして、秋月さんのAQM0802A-RN-GBWを使いたいと思います。結構有名なやつですね。1つ320円(税込)という初心者でもとっつきやすい価格なので安心です。
準備するもの
Arduino(今回はUNOを使用)×1 AQM0802A-RN-GBW×1 ブレッドボード×1 ワイヤー×6
以上です!
作成開始
配線
まず配線からやっていきたいと思います。今回は抵抗もなにもいらないので本当に楽です。笑 下図はデータシートにある配線例ですが、初心者にはわかりずらい。というか入ってる部品のピンとちゃうやんっ!笑
というわけでこっちが実際に接続する配線例です。
RESETは繋がなくてOKです。 電源は3.3Vを使いました。(5Vでもいけるみたい) SCLとA5、SDAとA4を接続。そしてGNDを接続すれば完成です!! 簡単ですね!
プログラム
それでは続いてプログラムを書いていきます。 I2C接続では基本Wireライブラリを使用します。が、さらに便利なST7032というライブラリをオレ工房さんが作成されていましたのでそちらも活用させていただきました。以下がソースコードです。
Wireライブラリのみ使用
ST7032ライブラリ使用
結果
早速実行したいと思います! Wireのみの結果はこうなるはずです!
そしてST7032はこのようになるはずです!
うまく表示できましたね!
というわけで今回はこれで終了です! どうもありがとうございました!!