タグ

2012年8月29日のブックマーク (7件)

  • DDEサーバーを作る

    このうち、アドバイズトランザクションを使うと、サーバーとクライアントの間にアドバイズループというものが作られてサーバーからデーターを受け取り続けることが出来ます。 これは、サーバーの処理が並列で行われているとき、その処理が終わるまで待つときなどに使います。 それでは、クライアントから受けたトランザクションの種類を表示するようなDDEサーバーを作ってみます。 トランザクションの表示にはリストボックスを使用しますが、使いやすくするためにいくつかの関数を定義します。 #include <windows.h> #define ID_LIST 100 extern HANDLE Instance; HWND hlist; CHAR listbuf[300],*listadr; /*画面のクリア*/ void ClearConsole(void) { listadr=listbuf; SendMess

    urza358
    urza358 2012/08/29
  • 第152章

  • アレ用の何か

    PE(Portable Executable)ファイルフォーマット その3 ~ IAT 書き換えによるインポートシンボル(API)のフック ~ サンプルソースのダウンロード(HookImp.zip) 概要 今回はインポートアドレステーブルに格納されているインポートシンボルのアドレスを書き換えることでフックを行います。単にインポートシンボルのフックと書かないのは他にも方法があるからですが、それに関しては別の機会に。 PEFile クラスへの機能追加 前回実装した PEFile クラスでは HMODULE を引数にとるコンストラクタと、インポートシンボルをフックする HookImportSymbol() メソッドが追加されています。 PEFile.h //! PE ファイルから情報を取得するためのクラス。 class PEFile { public: //! コンストラクタ explicit

    urza358
    urza358 2012/08/29
    わかりやすい。重要
  • Hook

    システムのいろいろな処理を「横取り」するプロシージャをインストールする関数です。特に、システムに存在する 全てのウインドウに対するメッセージ処理を「横取り」する事によって、自前のスパイ処理を行なう事ができます #include "stdafx.h" #include "LboxHook.h" #include <lightbox.h> HINSTANCE hInst; BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH:

    urza358
    urza358 2012/08/29
  • コールバック関数とオブジェクト指向

    コールバック関数とオブジェクト指向 1. スレッドをC++クラスでラップしたい! ワーカースレッドを作る際には、MFCでは普通、AfxBeginThreadにスレッド制御関数へのポインタを渡してスレッドを開始させます。でも、スレッド制御関数に渡せるパラメータは32ビットのポインタ1つだけです。まあ、グローバル変数を使って情報をやり取りすればいいんだけど、それじゃあ、オブジェクト指向っぽくなくてかっこ悪いような気がするし、構造体の中に渡したいパラメータをまとめて、それへのポインタを渡すのもいいけど、もっとかっこいいやり方があります。 ワーカースレッドについて、必要なもの全てをまとめて、1つのクラスを作ってしまえばいいのです。でも、ここで1つ問題が出てきます。スレッド制御関数もクラスのメンバに加えたいのですが、メンバ関数をスレッド制御関数にすることはできないのです。これは、一般的に言えることで

  • C# メッセージキューにメッセージを送信する

    準備 1. 参照設定を追加します。 – System.Messaging デザイン 1. フォーム (Form1) にボタン (button1) を配置します。 サンプルコード (C#) // 名前空間の追加 using System.Messaging; // コード private void button1_Click(object sender, EventArgs e) { MessageQueue mq = new MessageQueue((@".\Private$\testqueue")); System.Messaging.Message msg = new System.Messaging.Message(); msg.Body = "これはテストメッセージです。"; msg.Label = "テストキュー"; mq.Send(msg); } 解説 実行マシンのメッセージ

    C# メッセージキューにメッセージを送信する
  • C言語

    C言語をやってみよう,ふと思い立った.かなり久しぶりだ.大学当時Cは講義であった.学生時代怠けまくった結果(?)私はCよりも,趣味でやっていたJavaの方が書いたコードの行数は多い.だが,やはり「たしなみ」としてC言語はやっておかねばなるまい. 基(?)ライブラリ編 プロセス制御 シグナル パイプ IPC Pthread Socket 端末制御 curses CUnit OpenSSLを使用したCプログラミング その他 基(?)ライブラリ編とりあえず,ライブラリにある関数をいろいろ試してみる.もちろん(?)Debian環境で. ファイル操作 2003-07-20T15:13+09:00 matsu GNU/Linuxシステムでのファイル操作について.ここでは特にシステムコールを用いてファイル操作する方法について. 標準入出力ライブラリでのファイル操作 2003-07-20T15:13+

    urza358
    urza358 2012/08/29