問題タブ [easyhook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
252 参照

inject - easyhook64.dll が見つかりません

easyhook パッケージ「EasyHook 2.7.6789.0 Binaries .NET 3.5/4.0 (zip)」をダウンロードし、dll を Visual Studio 2015 のプロジェクトにリンクします (最初に、このパス C/C++->General->Additional Include Directories に easyhook を追加し、次に、.lib ファイルを [リンカー] -> [入力] -> [追加の依存関係] に追加します)。ビルドではエラーは発生しませんが、実行すると「easyhook64.dll が見つかりません」というエラーが発生しました。

0 投票する
0 に答える
127 参照

winapi - Easyhook C++ を使用してキーストローク メッセージ (WH_KEYBOARD_DLL または WH_KEYBOARD) を監視するフック プロシージャをインストールする方法

キーストロークをフックするためにEasyhookを使用していますが、Easyhook の仕組みがわかりません。KeyboardProc (コールバック関数)をフックするフックをインストールする方法。これは LhInstallHookの API です:

0 投票する
1 に答える
173 参照

c# - (EasyHook) 同じプロジェクト内から DLL が認識されない

これがばかげた質問である場合はお詫びします。私は Visual Studio にあまり詳しくありません。また、新しいバージョンについてもまったく詳しくありません。

Visual Studio 2019 で、おおよそこのチュートリアルに従って、EasyHook を使用して Windows アプリケーションから TextOutA への呼び出しをフックしようとしています。 C++ を使用しています。残念ながら、C# は EasyHook の C++ よりもはるかにサポート/文書化されています。)

チュートリアルに従って、コンソール アプリケーションとクラス ライブラリを同じソリューション内の 2 つのプロジェクトとして使用しています。Visual Studio ソリューションをコンパイルするのはやや困難でした。.csproj ファイルを .NET Framework 4.8 に手動で編集する必要があり (この質問に従って)、それを機能させるには多少の調整が必要でした。でも今は、いじりすぎたのではないかと心配しています。

何が起こるか: コードはエラーや警告なしでコンパイルされ、一見正常に実行されます。ただし、DLL では何も呼び出されないようです。そのコードは実行されていないように見え、Run() のブレークポイントにヒットすることはなく、Run() コードを完全に削除してもコンパイルされます。

これは、これまでのところ、コンソール アプリのコードです (ファイル名は編集されています。このコードには他の問題がある可能性がありますが、実行して確認する必要があります)。

そして、これがクラス ライブラリです。

プロセスのコンソール出力は期待どおりであり、パスの出力も同様です: C:\Users[自分のユーザー名]\source\repos[プロジェクト名]\build\net48\ [DLL 名].dll --これは実際にdllが出力される場所です。しかし、上記のように、Run() では実際には何も呼び出されていないようで、TextOutA は確かに抑制されていません。

私が試したこと:

  • .dll とクラス ライブラリ プロジェクトの両方を (個別に) コンソール アプリへの参照として追加する
  • .dll と実行可能ファイルの両方を同じフォルダーに出力するように設定する
  • パスを取得すると思われるコード行を微調整する
  • このコードを基本的に、私が見つけることができる同等の EasyHook プロジェクトと比較すると、明らかに問題があるようには見えません
  • フックではなく、コンソール アプリ内から GetProcAddress を呼び出します。期待どおりに動作するので、問題はないようです

どんな助けでも大歓迎です。

0 投票する
1 に答える
326 参照

c++ - ReadFile の LPVOID バッファに値を代入する方法

win32 API フック プログラムを開発しています。私の理解では、プログラムが特定のファイルに対して ReadFile を呼び出すと、そのファイルの内容が lpBuffer にコピーされます (以下の定義を参照)。

ReadFile 定義:

今、私の目標は、この lpBuffer を変更し、私が提供したコンテンツで満たすことです! EasyHook を使用して ReadFile をフックしています。私はLPVOIDタイプに精通していません。次のコードを使用して、GetCurrentDirectory のコンテンツを変更できました。

GetCurrentDirectory 定義:

ReadFile (LPVOID lpBuffer) に同様の値を割り当てるにはどうすればよいですか?