タグ

ブックマーク / dsas.blog.klab.org (3)

  • DSAS開発者の部屋:Winsock API をフックする際に注意すべきこと

    ■ はじめに このブログにはこれまでに何度か Win32 API のフックに関する記事を書いてきました。 API フックを行うには通常のプログラミングとは少し異なる知識と技法が必要となることもあって 記事の大半は技術的な話題が中心でしたが、今回は題に入る前にちょっと別の視点で考えてみることにします。 そもそも、「API をフックする」とはどういうことでしょう? また、それによって一体なにができるのでしょう? API をプログラムの中から呼び出すことによって その機能を実現しています。 たとえば、画像の表示や音楽の再生、ファイルの読み込みや保存、メールの送受信や Web サーバへのアクセス、 こういった普段何気なく利用している機能は、最終的には Windows API を利用しています。 言い換えれば、API をまったく使わずに Windows プログラムを作成するのはきわめて難しいことな

    DSAS開発者の部屋:Winsock API をフックする際に注意すべきこと
  • DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識

    ■ はじめに 前回の記事では Windows のイベントをフックする方法についてお話しましたが、特定の Windows API 呼び出しををフックするにはどうすればよいでしょう? それを考えるためには、まずどのような仕組みでプログラムが API を呼び出だしているのかを調べておく必要がありそうです。 ご存知の通り、Windows API は、所定の Windows プログラムから呼び出すことの可能なエクスポート関数として OS 環境の DLL(Dynamic Link Library) 群に格納されています。そして、あるプログラムの実行に必要な API を含む DLL は、実行ファイル起動時の初期化時にプロセスへリンクされ、その後は所定の API を透過的に呼び出すことができるようになります。 DLL をプロセスへリンクするには、実行形式をビルドする際に所定のインポートライブラリをリンクし

    DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識
  • DSAS開発者の部屋:ネットワークパケットを覗いちゃえ

    レイヤを問わず (ethernet から HTTP や SMTP まで) 、ネットワーク絡みのトラブルシューティングや挙動の確認をするときにパケットの流れが見られると非常に有益です。 開眼すると「パケットの流れが目で見える」そうですが、私などはまだまだ修行が足りず裸眼では見えないので、tcpdump というツールを使って見ています。 tcpdump はその名前があまりよくないと私は思っていて、"tcp" だけでなく udp やICMP や ethernet フレームまで覗ける超強力ツールです。 というわけで tcpdump の簡単な説明を書いてみます。 tcpdumpについて tcpdump は UNIX 系の OS で使えるツールなのですが、Windows 用にはWinDumpという CUI のツールがあり、tcpdump と同じように使えます。 GUI がお好みの方は、後でも紹介するE

    DSAS開発者の部屋:ネットワークパケットを覗いちゃえ
  • 1