
SetWindowsHookEx(dllインジェクション)を使ってAPIフックを実装するdllを作っています。
そこそこ使えるレベルまで完成したのですが、どうしてもInit時のフックができません。
フック作動中に新しいプロセスが作られると、フックが実行されdllがアタッチされると思いますが、Init以前にアタッチさせることはできるのでしょうか?
といってもダイアログのコンストラクタまで見たいわけではなく、WM_INITDIALOG時に呼ばれるAPIが見たいのです。WM_INITDIALOG以前にアタッチさせる方法はあるのでしょうか?
No.1ベストアンサー
- 回答日時:
>APIフックを実装するdllを作っています。
「API関数の実体はDLL」なので、プロセスが「このDLLを使います」とDLLにアタッチしに行かない限り、フックは実行されません。
で、DLLにアタッチしに行くのは、WM_INITDIALOGが起きた後だった筈です(未確認)
>WM_INITDIALOG以前にアタッチさせる方法はあるのでしょうか?
フックされるのはプロセスがDLLにアタッチしに行ってからなので、プロセスがDLLにアタッチする前の時点(WM_INITDIALOGが起きる前の時点)では無理なのでは?
「フックされるのはプロセスがDLLにアタッチした直後ですが、プロセスがDLLにアタッチする前にフック出来ますか?」ってのは「缶切りが缶詰の中に入っています。この缶切りで缶は開きますか?」と同じなので、どうしようもないと思います。
どうにかするとしたら「缶詰めにフタをする前」つまり「CreateProcessをフックして、プロセスの生成前から処理を追いかけて追跡する」しか…。
ご回答ありがとうございます。
CreateProcessまで監視するのは現実的でないので、WM_INITDIALOG時のフックはできないものとしてあきらめました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- ボウリング A.J. Johnson選手の2フレーム目2投目(4:30〜)ですが、ボールがものすごくフック回転し 1 2023/02/13 19:34
- テレビ テレビ壁寄せスタンドの転倒防止方法は? 1 2022/04/17 23:11
- 家具・インテリア 購入したカーテンが レールカーテンだと思わず 買ってしまいました。 一目惚れで買ったものなので 返品 5 2022/06/26 01:14
- その他(買い物・ショッピング) 壁掛け金具の内容について 1 2022/05/30 21:52
- 家具・インテリア 壁フック 3 2023/02/04 12:25
- その他(車) 普通の交差点で、左折時にフックをして曲がるというのは教習所で習うのですか? 1 2022/03/26 15:07
- バッグ・財布 この紐の付け方 2 2023/07/17 14:59
- DIY・エクステリア 日除けのオーニングの隙間について 4 2022/06/25 15:06
- 釣り あとずけのウエストフック 1 2022/09/14 13:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIからCGIを、CGI環境変数付き...
-
execvpでのcdコマンドについて。
-
ウインドウのプロセス終了について
-
sleep関数の精度について
-
remove関数(?)でプロセスが停...
-
怪しいプロセス教えてください。
-
IMEを再起動したい
-
ソニーやキオクシア、マイクロ...
-
フレームワークとプロセスの違...
-
googleの2段階認証が設定でき...
-
execlしない・・・
-
ソケットの共有について
-
CPUの使用率について
-
物事を達成しやすい主義
-
UNIX times関数を用いた時間計測
-
UNIX_Cにおける「名前つきパイ...
-
iPodの取り外しの際のエラーメ...
-
_fcloseall
-
Core 2 Duo T8100はなぜT7500の...
-
プロセスIDの再利用
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
VB6.0 SHELLで起動...
-
プロセスIDの取得方法について
-
C#でのbatファイル実行結果取得
-
タスクマネージャーのプロセス...
-
プロセスのアタッチ・デタッチ...
-
vb.netでEXCEL起動がうまくでき...
-
SendMessageが失敗するときがある
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
explorer.exeが異様にメモリを食う
-
怪しいプロセス教えてください。
-
Process.Startの戻り値を後で取得
-
プロセスIDからウィンドウハ...
-
Linuxでのスレッド間メッセージ...
-
警告『 別のプロセスで使用され...
-
Visual C++からpingを実行して...
-
WSH.Runで待機できません
-
c言語でプロセスIDを調べたい
-
API関数 GetExitCodeProcess
おすすめ情報