SetWindowsHookEx LowLevel Keyboard Hooking によって検出されなくても、キーロガーによって検出されることなくアプリケーションにキーを送信する代替方法は何ですか。この目的で使用される仮想キーボードがあることは知っていますが、その技術が必要ですか? それに関連するオープンソース プロジェクトはありますか?
3 に答える
WM_SETTEXT メッセージを使用して、ターゲット アプリケーションの特定の編集ボックスのテキスト値を直接設定できますが、最初にプロセスをターゲット プロセスに挿入する必要があります。
これを行う利点は、メッセージが SetWindowHookEx を使用してフックされている場合でも、同様にプロセスを挿入しないと文字列を見つける方法がないことです。この種のメッセージを現実的に傍受するには、マルウェアはコンピューター上のすべてのプロセスをフックする必要があります。それでも、ほとんどのテキストはキーボード テキストではないため、マルウェアはキーボード テキストと何がキーボード テキストであるかを知る方法がありません。ではなかった。
もう 1 つの方法は、WM_COPYDATA を使用することですが、これは外部からフック可能です。
最良の方法は、クリップボードを介してASCII文字列を送信することです。これは、優れたKeePassXやBruceSchneierのPasswordSafeなどのプログラムで使用される巧妙な方法です。
4 桁または 6 桁の PIN を送信するだけで十分な場合、アプリケーションはランダム マッピングを通じて入力を求めることができます ->
(1) (2) (3)
zih lbg qsw
(4) (5) (6)
ukx ... ...
コード 1234 は、ibqu または zlsx として入力されます。
もちろん、これは顧客が実際に自分の PIN を数字として入力した瞬間に危険にさらされます...
この方法は、長さが長くなるとますます煩わしくなります。そのため、これは、タイトルで求められている代替手段としてのみ提供し、最良のものではありません。