コードインジェクションはWindowsで一般的です。アプリケーションは、自身のコードの一部を他の実行中のプロセスに「注入」して、その動作を変更します。このテクニックは善と悪のどちらにも使用できますが、どちらの方法でも問題を引き起こす可能性があります。. 注入されたコードは多くの場合DLL(ダイナミックリンクライブラリ)ファイルの形式であるため、コード注入は一般にDLL注入とも呼ばれます。ただし、アプリケーションはDLLではない他の種類のコードをプロセスに挿入することもできます。. どのようなコードインジェクションが使用されていますか コードインジェクションは、Windows上であらゆる種類のトリックと機能を実現するために使用されます。合法的なプログラムがそれを使用していますが、それはマルウェアによっても使用されています。例えば: ウイルス対策プログラムは多くの場合、Webブラウザにコードを挿入します。彼らはそれを使用して、ネットワークトラフィックを監視し、危険なWebコンテンツをブロックすることができます。. 悪意のあるプログラムは、ブラウジングをよりよく追跡し、パスワードやクレジットカード番号などの保護された情報を盗み取り、ブラウザの設定を変更するためのコードをWebブラウザに追加する可能性があります。. デスクトップをテーマにしたStardockのWindowBlindsは、ウィンドウの描画方法を変更するためのコードを注入します。. Stardock's Fencesは、Windowsデスクトップの機能を変更するためのコードを注入します。. スクリプトを作成してシステム全体のホットキーを割り当てることができるAutoHotkeyは、これを達成するためのコードを注入します。. NVIDIAのようなグラフィックスドライバは、さまざまなグラフィックス関連のタスクを達成するためにDLLをインジェクトします。. アプリケーションにメニューオプションを追加するためにDLLを注入するプログラムもあります。. PCゲームの不正行為ツールは、ゲームの動作を変更し、他のプレイヤーよりも不当な優位性を得るためにゲームにコードを注入することがよくあります。. コードインジェクションが悪いですか? この手法は、Windows上のさまざまなアプリケーションで常に使用されています。それはさまざまなタスクを達成するための唯一の本当の方法です。 AppleのiOSやGoogleのAndroidのような現代のモバイルプラットフォームと比較すると、Windowsデスクトップは非常に強力です。開発者にこの種の柔軟性を提供するのであれば. もちろん、そのすべての力でいくつかの危険があります。コードインジェクションは、アプリケーションに問題やバグを引き起こす可能性があります。 Googleは、Chromeブラウザにコードを注入したWindowsユーザーの方が、Chromeがクラッシュする可能性が15%高くなると言っています。そのため、Googleはこれをブロックしています。マイクロソフトは、悪意のあるアプリケーションがブラウザの設定を改ざんするためにコードインジェクションを使用する可能性があると述べています。これが、Edgeで既にブロックされている理由の1つです。. Microsoftは、サードパーティのDLLがMicrosoft Outlookにロードされているかどうかを確認する方法についても説明しています。. マイクロソフトの従業員として、2004年から開発者ブログにそれを入れました: DLLインジェクションは決して安全ではありません。プロセスの作成者によって設計、構築、またはテストされたことがないプロセスにコードを潮吹きさせ、そのコードを実行するスレッドを選択または作成することについて話しています。あなたは、以前にはなかったタイミング、同期、またはリソースの問題を引き起こしたり、そこにあった問題を悪化させる危険を冒します。. 言い換えれば、コードインジェクションは一種の汚いハックです。理想的な世界では、これを達成するためのより安全な方法があり、それは潜在的な不安定性を引き起こさなかったでしょう。しかし、コードインジェクションは、今日のWindowsアプリケーションプラットフォームの単なる正常な部分です。それはあなたのWindows PCのバックグラウンドで常に起こっています。あなたはそれを必要悪と呼ぶかもしれません. 注入されたDLLを確認する方法 Microsoftの強力なProcess Explorerアプリケーションを使用して、システムにコードインジェクションがあるかどうかを確認できます。それは基本的に追加の機能が満載のタスクマネージャの高度なバージョンです. これを行うには、Process Explorerをダウンロードして実行してください。 View>...