問題タブ [detours]

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 に答える
1820 参照

c++ - 迂回識別子が見つかりません

エラーが発生します

エラーのあるコード:

私の完全なヘッダーファイル:

そして、私は問題を見つけることができません。
リンカーオプションの追加のインクルードにdetours.libのディレクトリを追加しました。

迂回路を使用する1.5


アップデート

そこで、迂回ファイルをプロジェクトにローカルに追加してみました。

それでも同じエラー。

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

c++ - フックされた関数の戻り値

アプリを保護するためにいくつかの関数をフックしています。Detours(CDetour)を使用しています。CreateThreadをフックています。フック関数は元の関数とまったく同じである必要があります。

フックは正常に機能しますが、問題はmsdnによるとIf the function succeeds, the return value is a handle to the new thread.、関数がフックされているため、戻り値は私が返すものになります。フックされた関数をvoidまたは別のタイプに変更すると、呼び出しに戻り値がなくなるだけで、ほとんどの場合、クラッシュ。元の関数によって返されるはずの値を返すにはどうすればよいですか?

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

c++ - MS Detours Express 3.0 が CreateFile win32 API 関数を正しくフックしていない

MS Detours を使用して win32 API 関数「CreateFile」をフックしようとしていますが、MS Word を使用して *.doc ファイルを開いてテストすると、MS Word によってロードされた DLL およびフォント ファイルとディレクトリの CreateFile 呼び出しが迂回先にリダイレクトされます。その *.doc ファイルではありませんが、メモ帳を使用して *.txt ファイルを開くと、その *.txt ファイルの CreateFile 呼び出しが回り道した関数に届きます。

CreateFile をフックするために次のコードを使用しています。

前もって感謝します。

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

delphi - Delphi と Detours ライブラリの相互運用方法

Delphi のサンプルを探していますが、C++ のサンプル コードしか見つかりません。

たとえば、Delphi で以下のフックを定義する方法は?

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

c++ - CopyFile2 が迂回しない

ハマった。何らかの理由で、Windows 8 のファイル システムのコピー機能をブロックする必要があります。Windows 7 までは、ShFileOperation と CopyFile がトリックを行っていました。ただし、Windows 8 では、API モニターをスキャンできるように、新しい API である CopyFile2 を使用してジョブを実行しています。そのため、CopyFile2 を迂回する必要があります。

Windows SDK 6.x、7.x、およびWin8 SDKに沿ってDetour 2.xおよび3.xを使用してこれを試しました。以下はコードスニペットです -

DetourAttach は 0 (成功) を返しますが、Trampoline 関数への呼び出しを受け取りません。他の API が迂回されているため、dll が Explorer に読み込まれていることはわかっています。また、ProcessExplorer でも確認しました。

Microsoft Detour Library は win8 API をサポートしていますか? はいの場合、私は何か間違ったことをしていますか? 「いいえ」の場合、これをバグとして報告しますか?

-- さらに、CopyFile2 を呼び出すサンプル アプリケーションを作成します。Dll がロードされ、DetourAttach が 0 を返しています。ただし、Detour_CopyFile2 へのトレースをまだ取得できません。

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

c++ - C++ Detours 3.0 Express で MVS 2012 エラー「識別子が見つかりません」

私のコンパイラ: Microsoft Visual Studio 2012.
私のコードは detours 2.1 で機能しますが、私のコンパイラではもうコンパイルできません (モジュールは SAFESEH イメージに対して安全ではありません)。MVS2005 のような古いコンパイラを使用する必要がありますが、使用したくありません。

そのため、コードを更新して detours 3.0 を使用する必要があります。

いくつかのものを編集し、4 つのエラーが発生しました。

これはコードブロックです:

ここで DetourFunction エラー

迂回ここでエラーを削除


アップデート

そのため、DetourAttach と DetourDetach に変更しようとしましたが、PBYTE から PVOID へのエラーが発生します。

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

c++ - detours DLL フックを使用した関数内からのデータの読み取り

関数内でデータを読み取ることができるかどうか疑問に思っていました。
回り道を使用して関数をフックし、パラメーターを自由に変更できることを知っています。
しかし、迂回路を使用して理解しているのはそれだけです。

例えば:

そのコードは、ゲーム内から暗号鍵関数を迂回し、呼び出される前に引数を変更します。そのため、呼び出されたときに引数が変更されました。

引数ではなく関数内からのデータがあればどうなるか考えていました。
変更または表示するにはどうすればよいですか?

関数全体を書き直す必要がありますか?

私が取得しようとしているのは、ゲーム自体を使用してパケットを暗号化および復号化することです。
これを行う関数をフックしましたが、できることは引数を変更することだけです。
そして、ゲームはただそのことを続けています。

暗号化される前にパケットを変更したため、別のパケットが送信されます。しかし、これは、パケットを送信して変更した場合にのみ発生します。ゲームによって呼び出されるのを待たずに関数を文字通り呼び出して、値を変更したかったのです。
ゲームを使用して自分の暗号化されていないパケットを入力し、暗号化を押して暗号化された値を確認したり、その逆を行ったりします。

チュートリアルへの説明またはリンクは素晴らしいでしょう。


私が次のようになったらどうなりますか:

そして、次のようにリターンを呼び出します。

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

c++ - 迂回した関数が printf でクラッシュする

アプリケーションに DLL フックを作成しました。
次のような関数を迂回しました:

そこで、迂回した関数の引数内の値を次のように表示しようとしました。

しかし、関数が呼び出されて引数を表示するたびに、アプリがクラッシュします。
しかし、関数をそのままにしておくと、次のようになります。

正常に動作します。なぜこうなった?

OLLY コードリッパー: