Pythonベースのソフトウェア解析ツールBinary Ninjaのプロトタイプが公開されました。
バイナリエディタや逆アセンブラなどがセットになっていて、近日公開のフルバージョンではシェルコードコンパイラ(shellcode2exe.pyみたいな、シェルコードを実行形式に変換してくれるものと思われ)なんかもついているらしい。
ということでとりあえずインストールしてみました。環境はPythonインストール済みのMac OS X Yosemiteです。
手順は以下。
- PySideインストール
- PyCryptoインストール
- Binary Ninja起動
PySideインストール
ここに書いてある通りでいいのですが一応。pypi.python.org
Qtインストール
PySideの前にQtをインストールする必要があります。
$ brew install qt
(略)
Run `brew linkapps` to symlink these to /Applications.
==> Summary
🍺 /usr/local/Cellar/qt/4.8.6: 2790 files, 119M
ちなみにTXつくば駅の駅ビルの名前は「Q’t(キュート)」です。バーゲンを全力でやることで私の中で有名です。
つくばショッピングモール比較 〜 イオンモールつくば vs イーアスつくば 仁義なき戦い | トリコロールな猫
pipインストール
PySideをインストールするために、Pythonのパッケージ管理ソフトpipをインストールします。
$ sudo easy_install pip
(略)
Installed /Library/Python/2.7/site-packages/pip-6.1.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
PyCryptoインストール
こちらはpip一発。
$ sudo pip install PyCrypto
(略)
Downloading pycrypto-2.6.1.tar.gz (446kB)
100% |████████████████████████████████| 446kB 959kB/s
Installing collected packages: PyCrypto
Running setup.py install for PyCrypto
Successfully installed PyCrypto-2.6.1
Binary Ninja起動
GithubのBinary NinjaのページからZIPをダウンロードし、展開してbinja.pyを実行します。github.com
$ python binja.py
無事起動しました。
せっかくなのでexeファイルを開いてみました。
Disassemblerビュー。ちゃんと出てる。
Hex editorビュー。
このフォント安心するぅ。
フルバージョンには「Execute code in a simulated environment with interactive debugging features」もついてくるそうで、Mac上で動く簡易なGUIのデバッガを探している身としては大変期待しております。