問題タブ [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 投票する
1 に答える
493 参照

internet-explorer - InternetReadFile API は、読み取ったデータをどこに保存しますか?

API InternetReadFile および InternetWriteFile をフックしようとしています。InternetReadFile は、提供されたハンドルからデータを読み取ります (ドキュメントに準拠)。このデータはどこに保存されますか? メモリ/RAM内?

InternetWriteFile は、開いているインターネット ファイルにデータを書き込みます (ドキュメントに準拠)。それはデータをディスクに保存するということですか?多分一時インターネットファイルフォルダに?

Hook_InternetReadFile で InternetQueryOption 関数 (option=INTERNET_OPTION_DATAFILE_NAME) を呼び出すと、temporary-internet-files フォルダーにファイル名が返されます。一方、エラー コード 12028 (=ERROR_INTERNET_ITEM_NOT_FOUND) で Hook_InternetWriteFile から呼び出された場合、関数は失敗します。これは、InternetReadFile がデータをディスクに書き込むということですか?

私は混乱しています。助けてください。

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

.net - API フック、TerminateProcess 関数で予期しないハンドルが見つかりました

問題

TerminateProcess呼び出しをフックして、終了するプロセスを特定しましたTerminateProcessが、インターセプトしようとしている実際のプロセス ハンドルと一致しない予期しないハンドルを取得しています。

私はDeviareTerminateProcessライブラリを使用していますが、この問題は、関数がどのように機能し、適切なハンドル比較を実行するために何をする必要があるかを知るだけで解決できると思います。

質問:

プロセスの終了を特定したいプロセスのハンドルがわかっている場合hProcessTerminateProcess関数のパラメーターからそのハンドルを特定するにはどうすればよいですか?

コード:

ハンドルを比較しようとしている部分に注意してください。

同じハンドルになることはありません(私もProcess IDMainWindowHandleで試しました) ID

そのため、パラメーターの値はhProcess私にとって非常に不明です。

リサーチ:

TerminateProcessの MSDN ドキュメントを読んでいます。

それが言う部分に注意してください:

ハンドルには PROCESS_TERMINATE アクセス権が必要です

ハンドルを比較するために何かを見逃しているかどうかはわかりません。

また、私はここを読んでいますが、はっきりとはわかりませんでした:

TerminateProcess をフックし、それが提供するハンドルから情報を取得する

適切なハンドル比較を実行する必要がある場合は、この Enum も設計しました。

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

dll - DLL ファイルの乗っ取り

DLL ハイジャックについて学習しようとしています。2 つの関数を含む DLL ファイルを作成するとします。加算と減算、これが mathematics.dll と呼ばれていたとします。ここで、mathematics.dll をロードするプログラムを作成して、足し算と引き算ができるようにします。

次に、乗算と除算が可能な新しい DLL ファイルで元の dll ファイルをハイジャックしますが、何らかの理由で不明なハイジャックされた DLL の 2 つの元の関数も実装する必要があります。プログラムは元の DLL ファイルをロードできます。

それでも、コードにフックを挿入して、新しく見つけた乗算関数と除算関数を使用できるようにするにはどうすればよいでしょうか?

もしこれがナンセンスで、私がこの間違ったことを追求しようとしているのなら、私はあまり詳しくないので、この問題に光を当ててください.

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

c++ - APIフックによるアンチdllインジェクション「アクセス違反書き込み場所0x0000000000」

プログラム内でLdrLoadDll api が呼び出されたときに、迂回してアンチ Dll インジェクションを作成するために、JMP 命令テクニックを使用しています。完全に動作する Delphi コードを見つけましたが、このコードのこの VC++ 2013 バージョンは、

「アクセス違反書き込み場所 0x0000000000」

以下に示します。

では、どうすればこの問題を解決できますか? 誰かが私を助けてくれますか?

前もって感謝します。

Delphi のバージョン:

VC++ 2013 バージョンの翻訳を試みています:

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

c++ - 回り道: 別のソフトウェアを介して自分のソフトウェアのタスク キルを防止する

TerminateProcess関数の呼び出しを傍受して迂回し、ソフトウェアが他のプログラムから直接強制終了されるのを防ぐことを約束するコードを見つけました。

しかし、このコードは機能せず、他のプログラムを介してプロセスを強制終了できます。

これは、このYouTubeビデオで見つけたコードを使用した最後の試みです:

PS:victim.exe はキラー プログラムです。

DLL

インジェクター

誰かが私を助けて、どこで間違いを犯しているのか教えてもらえますか?

私のシステムは Windows 7 Ultimate 64 ビットです。

前もって感謝します。

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

windows - Windows 7でコンテキストスイッチを監視する方法は?

Windows 7 でカーネル ドライバーまたは API フックを使用してプロセス/スレッド コンテキスト スイッチを監視するにはどうすればよいですか? プロセス (Internet Explorer など) がコンテキスト切り替え時にレジューム/サスペンド状態になったときのレジスタ値をログに記録したいと考えています。

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

delphi - 画面キャプチャで IAT フックをバイパスする

私は最近 api フック メソッドについて勉強し始めました。現在、私の主な研究対象は IAT フック メソッドです。これは、このフック メソッドのみがスパイウェアに対する防御に適用されているセキュリティ アプリケーションを発見したためです。

次に、このセキュリティ アプリケーションに存在する複数のリソースの間に、通常は白いスクリーン キャプチャをもたらすスクリーン キャプチャのロックがあります。 」には、画面キャプチャをロックするこのコードが含まれています。

そこで、私は Web 上の IAT フックについて多くのことを読み、このフック メソッドをバイパスする方法を示す 2 つの Web サイトを見つけました。

iC0de.orgの IAT フック ソース コードへの回答。

IAT フックについて説明するテキストのMalwareTech 。

私が気になったバイパスの方法はGetProcAddress、元の関数の実アドレスを取得する関数を使うところです。

GetProcAdressしたがって、教訓的な目的のためにのみ、以下のこのスクリーン キャプチャ機能を実装し、最終的にこのセキュリティ アプリケーションに実装されている IAT フックをバイパスする方法を知りたいです。

どんな提案でも大歓迎です。

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

python - 上書き/置換/MITM/API フック winapi.DeleteFile

この質問が以前に尋ねられた場合は申し訳ありませんが、これに関する情報を本当に見つけることができません。

まず、次の仮定を述べます。Windows PC でファイルを削除すると、win32api.DeleteFile関数が呼び出されます。

マイクロソフトのファイルなど、securley がこのファイルを削除するプログラム/スクリプト/機能cipher.exeがあるとします。ネイティブの削除方法を「上書き」して、独自の方法を使用することは可能でしょうか? OSを削除すると、独自の関数が呼び出されるという趣旨。私はPythonでこれを実行できるようにすることを目指していますが、どの言語でも受け入れられます(C++だと思います)。

これが不明な場合はお知らせください。明確にするよう努めます。

もう一度ありがとう、スタックオーバーフロー!