問題タブ [interception]
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.
.net - .Net での AOP プログラミング?
AspectJのラインに沿って、.NetでのAOP /クロスカットに何が良いのか疑問に思っています。Microsoft にはPolicy Injection Application Blockがあるようです。私が見るべき他の良いものはありますか?
php - PHPでオブジェクトのメソッド呼び出しをキャッチする方法は?
PHPのオブジェクトで呼び出されたメソッドをキャッチする方法を見つけようとしています。マジック関数については知って__call
いますが、呼び出されたオブジェクトに存在しないメソッドに対してのみトリガーされます。
たとえば、私は次のようなものを持っています:
そして私がこれをするとき:
この出力が欲しい:
これの代わりに:
これを行う方法はありますか?助けてください :)
debugging - DLL インジェクション後に BIG アプリケーションの実行を傍受する
多くの場所で非常に大きなアプリケーションの実行をインターセプトする必要があります。
これを行うために使用できるプログラムは何ですか? この問題に対してどのようなテクニックが存在しますか?
手動でリバース エンジニアリングを行ってフックを追加することは、この問題の最適な解決策ではない可能性があります。アプリケーションは非常に大きく、アプリケーションの一部はしばらくすると更新される可能性があるためです。この問題に対するいくつかのツールまたは優れたプラクティスを使用すると、誰でもこれをより迅速に実行できると思います。方法を知っていますか?
誰か助けて?
c# - C# (WinForms) でアプリ内のすべてのコントロールのクリック イベントをインターセプトする
アプリケーションのすべてのフォームですべての UI イベントをインターセプトし、それらをログに書き込むアプリケーションを作成したいと考えています。このデータを使用して、どのコントロールが最も使用されているか、どの順序で使用されているかなどを確認できます。問題は、既存のクラスを変更せずに、これを自動的に実行したいことです。
フォーム内のすべてのコントロールのクリック イベントにメソッドをアタッチするプロトタイプを作成しましたが、これをすべてのフォームに対して行うにはどうすればよいですか? リフレクションは、イベントを操作するときにターゲット オブジェクトを必要としますが、簡単にアクセスできるのはスタートアップ フォームだけです。
オブジェクトのコンストラクターをフックする方法はありますか? 次に、新しいフォームのすべてのイベントにメソッドを「注入」できます。または、これを行う別の方法があるかもしれません。
前もって感謝します!
wcf - WCF を使用した Ninject インターセプション拡張により、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。エラー
Ninject インターセプト拡張機能を使い始めましたが、WCF サービスで機能させることができません。WCF 拡張機能を使用すると、ninject は正常に動作します。問題を引き起こしているのはインターセプトです。多分私はそれを間違っていますか?LinFuModel をカーネル コンストラクターに追加しようとすると、既に読み込まれていることが示されるので、これで問題ないと思います。
基本的に、バインディングのすべての傍受は私の wcf サービスを壊しますが、私のメソッド傍受はサービスでのみ機能します (getData() はサービス コントラクトにあります)。
編集:以下も機能しません:
編集を終了
よろしくお願いします、リンゼ
ninject - Ninject Interception Extension (AOP) - うまく機能する例/チュートリアル?
Ninject で傍受拡張機能を使用するわかりやすいチュートリアルや例、または理想的には実際の例を見つけるのに非常に苦労しています。
以下のチュートリアルを試してみましたが、名前空間をthe Intercept()
呼び出しで機能させるのにすぐに問題が発生しました。
http://innovatian.com/2010/03/using-ninject-extensions-interception-part-1-the-basics/
linux - g++ を使用して Linux で Valgrind を使用してグローバル関数をインターセプトする
彼らの例によると、Valgrindで関数をインターセプトしようとしています。
gcc でビルドする場合はグローバル関数のインターセプトを実行できますが、同じコードを g++ でコンパイルするとインターセプトが機能しません。
指定する必要があるコンパイラ フラグに特別なものはありますか?
サンプルアプリは次のとおりです。
GCC でコンパイルすると、出力は次のようになります。
*** Before foo()
inside foo
*** After foo()
ただし、g++ でコンパイルすると、出力は単純になります。
インサイド・フー
c - 64ビットLinuxカーネル関数のインターセプト:32/64ビットでの関数ポインターの長さ?
巨大なカーネルインターセプトを再実装しようとしています(このPhrackの問題で説明されています)。
32ビット関数呼び出しを置き換えるコードは次のようになります。
ただし、元の関数の64ビットアドレスは0xffffffff12345678です(カーネルは低メモリにあります)。
では、(長い)新しい関数ポインターはmovl命令の4 \ x00バイトにちょうど収まりますか?
ところで、これをリンクしてくださいLinuxカーネル関数をモジュールに置き換えることはできますか?Linuxカーネルのモジュールで機能をオーバーライドすると、上記のハッキーな方法はより柔軟になります(外部以外の関数をインターセプトできます=>カーネルを再コンパイルする必要はありません)。
linux - Linuxカーネル:replaceを介した関数インターセプトの観点から、命令キャッシュとmp-IRQサブシステムとは何ですか?
カーネル関数インターセプトを実装しようとしています(この古いメソッド(c)Silvioを使用して、System.mapの関数へのポインターを置き換えます)。このフォーラムの投稿によると、いくつかの考えられる欠陥は、インターセプト後にフラッシュ/更新されない命令キャッシュとmp-IRQソースに関連している可能性があります。
これらのサブシステムとは何ですか?この場合、それらをどのように処理しますか?
c - Linux、kprobes / kretprobes:[レジスタから?]プローブ関数の引数を回復する方法?
質問は単純です。プローブされた(インターセプトされた)関数の引数へのポインターが必要です。レジスタからそれらを取得/回復する方法はありますか?