問題タブ [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 に答える
3023 参照

c# - サードパーティ製アプリケーションの最小化を防ぐために (簡単なフックを使用して) フックする必要がある関数は何ですか?

サードパーティのアプリケーションが最小化できないようにする簡単なことを書こうとしています。これを行う最も簡単な方法だと思うので、EasyHookを使用します。

私のコードは C# になります。EasyHook リポジトリの例を見てきましたが、これを実現するためにどの Windows 関数を置き換える必要があるのか​​ わかりません。

または、これを行う別の方法があれば、それも良いでしょう。


例 (動作しない):

Program.cs

AutoMaximizeInject.cs

今、私がリストしていない PInvoke のものは、私が他のプログラムで使用して動作することを知っています。現在の問題は、EasyHook.WOW64Bypass.Install() 関数のクラッシュ ダウンであり、「EasyHook64Svc.exe」を実行しようとするプロセスがクラッシュします。

何か間違ったことをしたのか、それとも EasyHook のエラーなのかはわかりません。誰かがそれがどれであるかを知ることができれば、それは大いに役立つでしょう.

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

c# - EasyHook Inject - ArgumentException "指定された 32 ビット ライブラリは存在しません"



EasyHook を使用して dll を挿入しようとしています

残念ながら、これは ArgumentException "STATUS_INVALID_PARAMETER_4: The given 32-Bit library does not exist! (Code: 2)" をスローしますが、パスが正しく、参照されている dll が 32 ビット ライブラリであることを 100% 確信しています (プラットフォーム ターゲット: x86)。


その前に、次を使用してGACにdllを登録します


私の間違いはどこですか?

0 投票する
3 に答える
957 参照

c# - EasyHook 指定された 32 ビット ライブラリが存在しません。ユーザー ライブラリは適切な実行ファイルをエクスポートしません

私が行った場合:

次のエラーが表示されます。

STATUS_INVALID_PARAMETER_4: 指定された 32 ビット ライブラリは存在しません!

管理者権限でVSを使用しています。bin フォルダーには、必要なすべてのファイルがあります。

EasyHookFilesNeeded

easyhook.dll と easyload32 と 64 を参照として追加しました (なぜこれら 2 つの新しいファイルがあるのでしょうか? それらについて説明しているドキュメントを見たことがありません)。ありがとう!

PD: 同じ結果でこれを試しました:

0 投票する
2 に答える
389 参照

c# - easyhook と 1 つの関数を使用して dll から C# コードに情報を送信すると、外部アプリケーションがクラッシュする

easyhook を使用していますが、アプリケーションを終了した後、フックされたアプリケーションがクラッシュします。私はそれがどこで起こるか知っていますが、それを解決する方法はありません。私はDrawTextをフックしています。私は何もしません:

しかし、コメントを外すInterface.Read(...)と、C# プログラムを終了したときに、フックされたアプリケーションがクラッシュします (それ以外の場合は完全に機能します)。

関数は私の C# コードにあり、次のようになります。

この外部アプリケーションがクラッシュしないようにするにはどうすればよいですか? または、この問題を起こさずに dll から C# コードに情報を送信するにはどうすればよいですか?

ありがとう

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

c# - C# Easyhook Winsock WS2_32.dll、接続フック Socks5

winsock connect 関数をフックして、socks5 proxy /w auth 経由で TCP 接続をルーティングしようとしています。

これは、ソケットがブロッキング ソケットの場合に機能しますが、firefox (ノンブロッキング ソケット) を使用しているときに、10035、10022 の winsock エラーが大量に発生します。

ノンブロッキング/ブロッキングソケットかどうかを判断するにはどうすればよいですか?

wsock接続機能をフックし、socks5サーバーを介してtcpトラフィックをルーティングする機能を実現するためのヒントやアイデアをいただければ幸いです。

誰かがテストしたい場合は、デモ アプリケーションを github に置くことができます。( どのバージョンの firefox でも動作します )

Edit1: https://github.com/duketwo/WinsockConnectHookSocks5/

( WSockConnectHook/HookManager.cs のプロキシ情報と Injector/MainForm.cs の firefox のパスを編集する必要があります)

Edit2: 問題を引き起こしているのは easyhook です。元の関数呼び出しの後に何かが正しく機能しません。

Edit3:多くの欠陥で動作しているようです。実際には、非ブロッキングソケットとブロッキングソケットを区別する必要があります。これを達成する方法はありますか?

Edit4: Windows はソケットのブロッキング属性を取得する方法を提供していないため、ソケットのブロッキング状態を追跡するために ioctlsocket 関数をフックする必要がある場合があります。

ありがとう

}

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

c# - 画像が読み込まれて描画されるタイミングを知るには、どのフックを実行する必要がありますか? EasyHook/DLL インジェクション

easyHook を使用して DLL インジェクションを実行し、テキストがいつサードパーティ アプリケーション ウィンドウに書き込まれたかを認識しています。

このアプリケーションは、ウィンドウに画像も描画します。この画像のパス/名前を知っています (パスを次のようにしましょう: C:\ImageLoadedByExternalProgramAndDrawnInTheWindow.png)

ただし、この画像がいつ呼び出されてペイントされるかを知るために、何をフックすればよいかわかりません。どの関数をフックしますか?

API Monitor を調べたところ、次のことがわかりました。

ここに画像の説明を入力

しかし、私はそれを適切に使用する方法がわからないので、どの関数がこれを呼び出しているのかわかりません。それとも... RtlIsDosPath...をkernelbase.dllにフックする必要がありますか?

サミー