Hatena::ブログ(Diary)

obfuscatism このページをアンテナに追加

2009-03-15 逆アセンブルするウェブサービス

[][] 逆アセンブルするウェブサービス

 「ウェブから使える逆アセンブラがあってもいいよね」というのを合い言葉に作ったわけではなく、少し触ったら案外簡単にウェブから実行できてしまったというものですが、そんなプログラムを1年ちょっと前に作りました。実行すると、命令のジャンプ先アドレスと、参照元のアドレスが表示されます。本当は関数の呼び出し規約をチェックして、関数のリストを表示するつもりでしたがそこまでできていません。Win32/ELF32のバイナリであれば、おそらく動作します。

 Yet Another Software Aanalyzer

 http://beautiful.homelinux.net/~sky-software/analyzer/

 ペアリバースエンジニアリング! とかいうネタを考えていましたが、私がリバースエンジニアリングしないので結局お蔵入りです。CTFとかが最近流行ってる(?)のでしたら、そういう方向で使うのもありですよね。業務ではどうなんでしょうね。中の人ではないのでわかりませんが、環境が整ってないとで同時に解析できませんよね。

 ちなみにソースはここから参照できます。

 http://beautiful.homelinux.net/~sky-software/analyzer/ana_rb.txt

 セキュリティウォリアで出てくるコードはこちら(int_code.plなど)

 http://www.eccentrix.com/members/mammon/objdump/index.htm

 『セキュリティウォリア―敵を知り己を知れば百戦危うからず』という書籍で、objdump のラッパーの解析ツールをPerlで作成する話があります。そのコードを元に自分で書いたのが、「Yet Another Software Aanalyzer」です。書いたのはよいのですが、int_code.plのライセンスのが不明で、おそらくlibdisasmと同じArtistic Licenseになります。

 「Mammon_’s Tales to his Grandson - Linux on the Half-ELF」: セキュリティウォリア 3章の「Linuxリバースエンジニアリング」の参考(もしくは元)になっているらしい記事

 404 Not Found

 

 どすこい! 「どすこい本」と言って通じるか通じないかで、一流のセキュリティ技術者かどうか判別できる・・・かもしれません。

[] OCaml始めました

 難読化ツール作り直しです。今度はちゃんと論文読んで、Control Flow, Data Flowの情報を取って難読化できるようにしたいと思います。実装言語はOCamlを使用。また形ができてきたら続きを書きます。

[] LLVM 勉強会

 参加予定です。