アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語のプログラミングファイルを読み込んで、バッファオーバーランの危険性を検出するプログラムを作りたいのですが、どうしたら良いか分かりません。
どなたかご教授お願いします

A 回答 (4件)

gccにmudflapオプションつけてコンパイルすると、とりあえず検出できます。



あくまでも自分でそういうプログラムを作りたいのであれば、gccはオープンソースですから
いろいろ参考に自分で作ればいいと思います。

動的解析でもよければValgrindのソースとかも参考になると思います。

ただし、ありふれたプログラマ程度のレベルでは作成は難しいのではないかと思いますが…。
腕に覚えがあるのであれば、ぜひ挑戦してみてください。

mudflapオプションについてはここが詳しいです。
http://d.hatena.ne.jp/hshinoda/20090330/1238398164


もし学校の宿題とかでしたら、scanfとかstrcpyなどのバッファオーバーランを
引き起こす恐れのある関数を検出するだけで先生はOKくれそうな気がします。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2011/12/25 19:27

参照URLのIPAのサイトにバッファオーバーランの原因や解説、そのサンプルのソースリストもありますので、ここが参考になるでしょう。


でも理解するにはCだけでなく、CPUやレジスタなど機械語(アセンブラ)の知識も必要だと思います。

参考URL:http://www.ipa.go.jp/security/awareness/vendor/p …
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2011/12/25 19:27

C言語の仕様の把握と


コンパイラを作れるくらいの知識は身につけた方がよいかと。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2011/12/25 19:27

c言語のインタープリタをでも作って、仮想メモリ空間でエミュレートしてみれば?

    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2011/12/25 19:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!