問題タブ [api-hook]

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 投票する
3 に答える
2625 参照

javascript - JavaScriptアラート()をインターセプトしています..?それは受け入れられますか?

javascript alert() ネイティブ コールをインターセプトし、実際の実行前にユーザー コードをフックできることがわかりました。サンプルコードをチェックしてください..

したがって、alert("aa") を呼び出すたびに、alertHook ローカル関数によってインターセプトされます。しかし、小さな変更を加えた以下の実装は機能しません。

Microsoft JScript runtime error: Object does not support this action がスローされます。

この.alert = alertHook;がどうなるかわかりません。通話を傍受させてください。ただし、alert=alertHook; いいえ。??

したがって、これを使用してネイティブ js メソッドをインターセプトすると仮定します。そうですか?

そして、それは受け入れられますか?このようにして、ネイティブJS呼び出しを独自のメソッドに完全に置き換えることができるから??

アップデート:

私は尋ねました、それは受け入れられますか?これは、eval() を使用してユーザーがネイティブ関数呼び出しを置き換えることができる優れたアプローチであるためです。

そして、開発者を誤解を招く機能から保護するという言語の責任、ウィンドウ レベル (または共通のフレームワーク js ファイル) でネイティブ js 呼び出しを置き換えると、システム全体がクラッシュします..そうではありませんか??

この機能の背後にある理由を理解していないため、私の意見が間違っている可能性があります..? 開発者が独自の実装を置き換えることができる言語を見たことがありません..

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

delphi - Delphiでシステム全体のAPIフックを設定するにはどうすればよいですか?

Delphiを使用したシステム全体のAPIフックについて知っている人はいますか?

madCodeHookをダウンロードしましたが、ソースがないため、使用したくありません。自分でプログラムしたいです。

Code Projectに関する記事を見つけましたが、C++です。Delphi2010で書くのを手伝ってください。

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

c++ - COM オブジェクト関数の API フック?

StackOverflowians の皆さん、こんにちは。

ここで発見されたように、Windows 7 には、Windows Explorer インスタンスに対して DISPID_BEFORENAVIGATE2 イベントが発生しないというバグがあります。このイベントにより、ナビゲーションが行われようとしているときにシェル拡張に通知でき、(私にとって最も重要なことに) ナビゲーションをキャンセルする機会があります。私はかなり長い間回避策を探していましたが、見つけたと思います。ただ、安全性については意見を頂きたいです。

私は最近 API フックで遊んでおり、拡張機能のいくつかの関数をフックするために既に使用しています。ナビゲーションを制御する関数が IShellBrowserにあることに気付きました。最初はそのようなものをフックすることはできないと思っていましたが、COM オブジェクトのレイアウトについて読んだときに、アクティブなインスタンスの vtable から適切な関数ポインターを取得するだけで可能であることに気付きました。案の定、それは夢のように機能します。フックが設定されると、すべての Explorer ウィンドウのすべてのナビゲーションが迂回機能を介して実行され、ターゲット pidl に基づいてそれらを拒否するかどうかを決定できます。

だから私の質問は、これをしてはいけない理由はありますか? COM オブジェクト関数をフックするために使用される API フックについては聞いたことがありません。それが機能しない状況はありますか?それは危険ですか?(少なくとも、通常の API フック以上のもの)

関連するコードは次のとおりです。私はMinHookを使用しています。これは、トランポリン関数の実証済みの方法を使用する最小限のフック ライブラリです。

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

c# - カーネルモードのレジストリアクセスを含むレジストリ監視?

大学の最終学年のプロジェクトで C# レジストリ モニターを作成しましたが、それを Microsoft ProcessMonitor アプリケーション (正確な名前は思い出せませんが、MSoft に買収された会社でした) と比較したところ、レジストリ コールをキャプチャしていませんでした。 .

これは、私が C# ラッパーを使用していたためで、ユーザー モードのレジストリ アクセスのみをキャッチしていたのでしょうか?

このラッパーを使用しました: http://www.codeproject.com/KB/DLL/EasyHook64.aspx

カーネル モードのレジストリ アクセスをキャッチするには、C++ で記述する必要がありますか?

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

c# - SysInternal の ProcessMonitor はどのように機能しますか?

どのようにしてすべてのレジストリ アクセスを監視できるのか、概要を説明していただけないでしょうか。

http://technet.microsoft.com/en-us/sysinternals/bb896645

さまざまなサブトピックをグーグルで調べて、自分のサブトピックを書き込もうとするのに十分な詳細ですか?彼らがある種の dll インジェクション/API フックを使用したことは知っていますが、どのようにしてすべてのカーネル モード アクティビティに到達したのかはわかりません。

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

c# - 外部アプリから画面上のテキストを読み上げます。APIフック?

私は Java のバックグラウンドを持っているため、C# と C++ に関しては限られた知識しかありません。基本的に、画面に表示されている別のアプリケーションからテキストを「読み取ろう」としています...

ここに画像の説明を入力

具体的には、Pokerstars からのディーラー チャット メッセージをその場で読みたいのですが...

このテキストをその場で Java プログラムに読み込む最良の方法は何ですか? APIフックについて頭を悩ませていますが、これが唯一の方法であり、Javaでこれを行うにはどうすればよいですか?

ありがとうフィル

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

windows - Windows エクスプローラーのリスト ビューでファイル名の色を変更します。

Windows エクスプローラーをカスタマイズしたいと考えています。

私がやりたいことの 1 つは、ファイルに特別な条件がある場合に、リスト ビューでファイル名の色を変更することです。
ウィンドウのサブクラス化によって可能ですか? それともAPIフックが必要ですか?
これを行う最善の方法を教えてください。

ありがとう。

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

c++ - CreateWindow(Ex) を使用せずにウィンドウ (HWND) を作成するにはどうすればよいですか?

CreateWindowExA/CreateWindowExWへの呼び出しをインターセプトするためにプロキシ DLL を使用しています。一部のアプリケーション (特に一部の Visual Basic 6 アプリケーション) は、2 つの機能のいずれも使用せずにウィンドウを作成できるように見えることを除いて、これはうまく機能します。Spy++のようなツールはウィンドウを表示できますが、フックされた関数はそれらに気づきませんでした。

私の最初の疑いは、おそらくこれらの (古い) アプリケーションはCreateWindowA/CreateWindowWを使用してウィンドウを作成するということでしたが、少なくとも私のコンパイラ (MSVC6 から MSVC10 まで) では、CreateWindow単なる #define; です。ドキュメントの備考セクションはこれを確認します。

私の 2 番目のアイデアは、Windows の作成を検出するためにCBT hookusingをインストールできるかもしれないということでした。SetWindowsHookExただし、結果は同じです。このフックは、フックされた API 関数と同じウィンドウを認識しますが、Spy++ で表示されるすべてのウィンドウを認識するわけではありません。

だから私の質問は: CreateWindowA/CreateWindowWが #define ではなく、実際の関数だった時代があったのでしょうか? user32.dllおそらく互換性の理由から、この関数はまだ によってエクスポートされていますか? この関数のハンドルを取得してフックするにはどうすればよいですか?

または、関数を作成するために使用できる他の、おそらく文書化されていない関数がありNtCreateProcessますCreateProcessか?

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

c# - Moles を使用して別のプロセスにメソッドをフックする

Visual Studio でコンパイルされた C# アプリケーションがあります。そのアプリの特定のメソッドへの呼び出しとシリアル化されたメソッド パラメーターをインターセプトしてログに記録したいと考えています。別のプロセスでメソッド呼び出しを傍受することは可能ですか (おそらくアプリ ドメインを使用して?)。に関する記事/チュートリアルはありますか?

つまり、madCodeHook と Detours が wi​​n32 で行うのと同様の目標を .NET で達成したいと考えています。

ありがとう

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

c# - C#で選択したファイルを知る方法

ソフトウェアを作りたい。
このソフトウェアは、現在選択されているファイルのパスを取得するだけです。
デスクトップ上のファイルをクリックするとします。
次に、このファイルのパスを取得します。
したがって、新しい選択が行われるたびに、新しく選択されたファイルのパスを取得するだけです。
何か案は?