sai’s diary

プログラミング関連の備忘録とつぶやきを書いています。

プログラミング

Windows用のloopbackアドレス簡易パケットキャプチャ

WindowsだとWiresharkでloopbackアドレス宛の通信がキャプチャ出来ない、ということでrawソケットを利用した簡易版pcapファイル作成プログラムを作成してみました。 C#でもunsafeを利用するとポインタが扱える、 pcapファイルは意外とフォーマットが単純だっ…

C# - Windows サービス アプリケーションのお試し

C#を扱うことになりそうなので、勉強のためWindowsのサービスアプリを動かしてみました。 ビルド環境の準備 ビルド環境はフリーのSharpDevelop 4.4を利用。 SharpDevelop 4.3用の日本語化パッチがあり、適用してみたところ大丈夫そうでした。 日本語化パッチ…

malloc_usable_size() - malloc()で確保したサイズを取得したい場合。

当時、何の用途で調べていたか忘れてしまいましたが、 malloc_usable_size()を使用するとmalloc()で確保したアドレスからサイズを取得出来ます。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> int main( int argc, char **argv ) { if ( 2 != argc ) { printf("%s size\n"</malloc.h></stdlib.h></stdio.h>…

スタックの保護・破壊検出について

試験中にある関数からreturnするとプロセスがSEGVで落ちるということがありますがコンパイラがGCCであれば "-fstack-protector"というオプションを利用するとSEGV発生時にバックトレースを表示し、発生個所を特定することが可能です。 リリース版にも適用す…