2016-05-02 1 views
0

私は、特定のWindows API関数の呼び出しを検出し、呼び出しプロセス、呼び出し回数、うまくいけば引数を記録して、または悪意のある人。プログラミングの観点からwindows apiへのすべての呼び出しを見つける

GUIプログラムのAPIモニタは、私が達成しようとしている機能の良い例です。理想的には、私はそれぞれのAPI関数を個別に追跡して、ユーザー入力なしで呼び出し元のPIDとパラメータを使用したときまたは使用した後に取得したいと考えています。プログラムはどのWindows 7マシンでも実行できるはずですが、32ビットアプリケーションに限定することができます。

私は関数をフックする方法がいくつかあると理解しています。私の理解から、Microsoft detoursはこれらの関数を実装していますが、私がしたいことに最も適しているかどうかはわかりません。私は迂回路、easyhook、deviare APIフック、および非常に古い記事で言及された他のものを見たことがありますが、私はそれぞれの違いと機能について頭を悩ませています。

私の質問は、私がしようとしていることを考えれば、何をお勧めしますか?

私は中間レベルのプログラマーですが、Windowsプログラミングの初心者です。あなたの助け

+0

あなたは代わりに[APIモニタフォーラム](http://www.rohitab.com/discuss/forum/1-api-monitor/)に質問したことがありますか?それがあなたが必要とするものなので、作者から取ってみませんか? – IInspectable

+0

私もそこで試してみますが、質問はここでも投稿されています。 –

+0

これはあなたが必要とするものによって異なります。これが生産用であるのか、研究目的だけであるのかは指定していません。 Microsoft Detoursは、本番環境で使用されていない場合は無料です(詳細はライセンスに含まれていますので、関連する場合は詳細をお知らせください)。 Microsoft Detoursは技術的なものであり、サポートの欠如が問題になる可能性があります。私はそれを働かせましたが、それは学ぶのに時間がかかりました。 – user34660

答えて

1

ため

おかげで、私はNektra Deviare API Hookチームの一員です。当社のフックエンジンは、さまざまな種類のエンドユーザー製品(例:アンチウィルス、データ損失防止、AI、障害者ソフトウェア、データ分類、アプリケーション仮想化)を使用して、世界中の多くの企業によって使用されています。 Deviare-InProcはMS Detoursの置き換えであり、Deviare2は別のプロセスをフックして自分のプロセスで呼び出しを取得するために必要なすべてのRPCを組み込んでいます。

報告されたすべての問題を継続的に修正しています。あなたは私たちのGitHubでそれを確認することができます。 https://github.com/nektra/Deviare2 https://github.com/nektra/Deviare-InProc

あなたはDeviare2がNektraのSpyStudio API Monitorで実行して見ることができます。

迂回路は優れたソフトウェアですが、非常に高価です(USD 10k)。これに加えて、それは完全にサポートが欠けています。これは、Deviare InProcと比較することができます。

EasyHookは、唯一の無料オプションであったため、良いスタートポイントとなりました。しかし、現在、Deviare2ファミリーはオープンソースであり、EasyHookは現実の世界に対して多くの安定性の問題を抱えています。

+0

あなたの返事をありがとう、あなたはいくつかの非常に説得力のある点を確認します。あなたのエンジンがeasyhookよりも急な学習曲線を持っていると言うのは間違いありませんか? –

+0

EasyHookも簡単ですし、.NETの概念証明にはうまくいきますが、プロダクションではお勧めしません。 –

+0

フォローアップとして、私はDeviare2を使用して終了しました。非常に使いやすく、非常に強力で、問題を投稿するとgithubに大きなサポートがあります。唯一の欠点は、最新のチュートリアルの欠如と、ドキュメンテーションが少し簡潔であることです。 –

関連する問題