2013-08-01から1ヶ月間の記事一覧

ptraceを使ってみよう!

「たのしいバイナリの歩き方」では4章で簡易的なデバッガの作成を解説しています。ただWindows環境での話でした。ptraceを使うことで、同じようなことをLinux環境(Ubuntu 12.04.2)でも実現できます。基本的な仕組みはWindowsのときと同じです。 試しにやっ…

アセンブラかるたを極めたい。

SECCON2013 横浜大会にて「アセンブラかるた」というものが扱われました。詳しくはリンク先を見てほしいのですが、一言でいうと"x86の1バイト命令を使ったかるた"です。例えば、表が0x90なら裏はNOPとか、そんな感じ。 このアセンブラかるた、極めるのは実は…

「たのしいバイナリの歩き方」が無事発売されました。

正確には8/22に発売されているのですでに発売後5日目(?)なのですが(汗)、無事発売までこぎつけることができました。 たのしいバイナリの歩き方作者: 愛甲健二出版社/メーカー: 技術評論社発売日: 2013/08/22メディア: 単行本(ソフトカバー)この商品を含…

シリツ・プログラミングキャンプ2013に参加してきました。

シリツ・プログラミングキャンプ2013に参加してきました。 シリツ・プログラミングキャンプとは、そもそも遥か昔、セキュリティ&プログラミングキャンプという学生向けのイベントがあったのですが、それが2012年以降プログラミングコースがなくなり、セキュ…

セキュリティ・キャンプ2013に参加してきました。

セキュリティ・キャンプ2013に参加してきました。 セキュリティ・キャンプとは、情報セキュリティについて本格的に学びたいという意欲を持った学生(22歳以下)向けの合宿イベントで、毎年夏に開催されています。今年は海浜幕張駅から歩いて数分のクロス・ウ…

フォーマットストリングバグ(format bug)を試してみる。

今回はフォーマットストリングバグ(format bug)について書きます。わりとマイナーな脆弱性で現在ではほとんどみないのですが、技術的に興味深いものなので知ってても損はないと思います。テスト環境はFreeBSD8.3(x86)です。 ターゲットとなるプログラム…

WindowsでASLR(Address Space Layout Randomization)を確認してみる。

ASLR(Address Space Layout Randomization)とは、OSがプロセスをロードするときに、ランダムな場所にモジュールを配置するセキュリティ機能です。実際はモジュールだけじゃなく、スタックやヒープなどもランダマイズされたりします。 ASLRはWindowsにも当…

関数先頭にあるMOV EDI,EDIって何だろう?

Windows環境において、多くのAPI関数の先頭に存在するMOV EDI,EDIという命令。たとえばMessageBoxWの先頭2バイトを次のようなプログラムで調べてみる。 // VC++ 2010 Express版 #include <stdio.h> #include <Windows.h> int main() { HMODULE user32 = ::LoadLibrary(L"user32.d</windows.h></stdio.h>…

アセンブラ短歌やってみた。

「アセンブラ短歌」は五・七・五・七・七の三十一バイト(みそひとバイト)から成る機械語コードでプログラムを書いてみるという近未来の文化的趣味であり,近年,国内のハッカー間で密かなブームが起きています.http://kozos.jp/asm-tanka/ はっかーもすなる…

出現頻度の高いアセンブラ命令を調べてみる。

x86-64のアセンブラ命令数はすでに1000前後あるみたいです。ただそんな数の命令をいちいち覚えてられないだろうという話で、実際よくみるのはほんの20命令くらい、特別なことをしないならばだいたい100命令くらい覚えていれば問題ないんじゃないの? という…

「たのしいバイナリの歩き方」という技術書を書かせていただきました。

このたび「たのしいバイナリの歩き方」という技術書を書かせていただきました。たのしいバイナリの歩き方作者: 愛甲健二出版社/メーカー: 技術評論社発売日: 2013/08/22メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る バイナリ系の技術…