3

シグナル割り込みの問題に対処するとき、Ctrl-C SIGINTは ssh セッションを閉じます。(皆さんも聞いたことがあると思いますが、私も確かにうんざりしているので、これ以上説明するつもりはありません) SendKeys

今では、絶対に必要でない限り、多くの人が SendKeys の使用を思いとどまらせています。この方法はしばしばセキュリティ上の欠陥のためにバッシングされますが、私が見る唯一の実行可能な理由 (完全には把握していません) は、キーボード バッファーがいっぱいになる可能性があることです。

他のすべての理由は、「セキュリティの問題が発生するため、使用しないでください」という一般的なものでした。BlockInput を使用するなど、プロセス中にマウスとキーボードの両方の操作をブロックすると、大幅に役立つ可能性があることを読みました。

望ましくないシステムの結果は、最近のほぼすべての結果として生じる可能性があると感じています。具体的には、プログラミング時にこのアプローチを使用することが「悪い習慣」である理由と、これらのセキュリティ上の欠陥を実際に理解することを知りたいです。

4

1 に答える 1

2

これ、UAC 以前は有効なセキュリティ上の問題でした。たとえば、ATL+CTRL+DEL を発行したり、あるアプリケーションから悪意のあるアプリケーションに情報をコピーしたり、ユーザーの同意なしに主要なスクリプトを実行したりすることができます。

ただし、多くのアプリケーション (ダイレクト x を含む) が SendKeys をブロックし、セキュリティ例外が発生する可能性があります。

代わりにSendMessageまたはSendInputを使用してください。

.NET 3 とユーザー アカウント制御の導入により、これらのギャップは解消されました。実際、Windows 8 は今週、政府に対して安全であると評価されたばかりです。

キーを送信しようとすると、Outlook などの一部のアプリケーションで (正当な理由で) 例外が発生する場合があります。また、それを使用するアプリケーションに害はない可能性があります。潜在的な害は、悪意のあるソフトウェアが機能を悪用することです。

于 2013-09-20T16:30:02.993 に答える