Windowsでのコードインジェクションとは何ですか?

Aug 27, 2025
プライバシーとセキュリティ
未取得のコンテンツ

コードインジェクションはWindowsでは一般的です。アプリケーションは、独自のコードの一部を別の実行中のプロセスに「注入」して、その動作を変更します。この手法は善にも悪にも使用できますが、どちらの方法でも問題が発生する可能性があります。

コードインジェクションは、インジェクションされたコードが多くの場合、DLLインジェクションの形式であるため、一般にDLLインジェクションとも呼ばれます。 DLL(ダイナミックリンクライブラリ)ファイル 。ただし、アプリケーションは、DLLではない他のタイプのコードをプロセスに挿入することもできます。

コードインジェクションの用途

コードインジェクションは、Windowsであらゆる種類のトリックや機能を実行するために使用されます。正当なプログラムがそれを使用しますが、マルウェアによっても使用されます。例えば:

  • ウイルス対策プログラムは、多くの場合、Webブラウザにコードを挿入します。たとえば、ネットワークトラフィックを監視し、危険なWebコンテンツをブロックするために使用できます。
  • 悪意のあるプログラムがWebブラウザにコードを追加して、ブラウジングをより適切に追跡し、パスワードやクレジットカード番号などの保護された情報を盗み、ブラウザの設定を変更する可能性があります。
  • デスクトップをテーマにしたStardockのWindowBlindsは、 ウィンドウの描画方法を変更する
  • Stardock’sFencesはコードを Windowsデスクトップの動作方法を変更する
  • AutoHotkeyを使用すると、 スクリプトを作成し、システム全体のホットキーをそれらに割り当てます 、これを実現するためのコードを挿入します。
  • グラフィックドライバは、NVIDIAの注入DLLのようなもので、さまざまなグラフィック関連のタスクを実行します。
  • 一部のプログラムは、DLLを挿入して、アプリケーションにメニューオプションを追加します。
  • PCゲームのチートツールは、多くの場合、ゲームにコードを挿入して、ゲームの動作を変更し、他のプレーヤーに対して不当な優位性を獲得します。

コードインジェクションは悪いですか?

この手法は、Windows上のさまざまなアプリケーションで常に使用されています。これは、さまざまなタスクを実行するための唯一の実際の方法です。 AppleのiOSやGoogleのAndroidなどの最新のモバイルプラットフォームと比較すると、Windowsデスクトップは、開発者にこの種の柔軟性を提供するため、非常に強力です。

もちろん、そのすべての力にはいくつかの危険が伴います。コードインジェクションは、アプリケーションで問題やバグを引き起こす可能性があります。 Googleによると、Chromeブラウザにコードを挿入したWindowsユーザーはChromeのクラッシュを経験する可能性が15%高いため、Googleはこれをブロックするよう取り組んでいます。 Microsoftは、悪意のあるアプリケーションがコードインジェクションを使用してブラウザの設定を改ざんする可能性があると指摘しています。これは、Edgeですでにブロックされている理由の1つです。

マイクロソフトのイベントは提供します 指示 サードパーティのDLLがMicrosoftOutlookにロードされているかどうかを確認するため。これは、非常に多くのOutlookのクラッシュを引き起こすためです。

マイクロソフトの従業員として、 開発者ブログ 2004年から:

DLLインジェクションは決して安全ではありません。あなたは、プロセスの作成者によって設計、構築、またはテストされたことのないプロセスにコードを吹き込み、そのコードを実行するためのスレッドを採用または作成することについて話しています。以前は存在しなかったタイミング、同期、またはリソースの問題を作成したり、存在した問題を悪化させたりするリスクがあります。

言い換えれば、コードインジェクションは一種の汚いハックです。理想的な世界では、潜在的な不安定性を引き起こさずにこれを達成するためのより安全な方法があります。ただし、コードインジェクションは、今日のWindowsアプリケーションプラットフォームの通常の部分にすぎません。これは、WindowsPCのバックグラウンドで常に発生しています。あなたはそれを必要悪と呼ぶかもしれません。

インジェクションされたDLLをチェックする方法

Microsoftの強力な機能を使用して、システムへのコードインジェクションを確認できます プロセスエクスプローラー 応用。これは基本的に、追加機能が満載のタスクマネージャーの高度なバージョンです。

これを行う場合は、ProcessExplorerをダウンロードして実行します。 [表示]> [下部ペインビュー]> [DLL]をクリックするか、Ctrl + Dを押します。

上部のペインでプロセスを選択し、下部のペインでロードされているDLLを確認します。 「会社名」列は、このリストをフィルタリングするための便利な方法を提供します。

たとえば、「Microsoft Corporation」によって作成されたさまざまなDLLは、Windowsの一部であるため、ここに表示されるのは普通のことです。問題のプロセスと同じ会社である「GoogleInc。」によって作成されたDLLを見るのも普通です。下のスクリーンショットのChromeの場合。

「AVASTSoftware」で作成されたDLLもここにいくつかあります。これは、システム上のアバストアンチウイルスソフトウェアが「アバストスクリプトブロッキングフィルターライブラリ」のようなコードをChromeに挿入していることを示しています。

システムにコードインジェクションが見つかった場合、問題の発生を防ぐためにコードをインジェクションするプログラムをアンインストールする以外に、できることはあまりありません。たとえば、Chromeが定期的にクラッシュする場合は、Chromeにコードを挿入するプログラムがあるかどうかを確認し、それらをアンインストールして、Chromeのプロセスが改ざんされないようにすることができます。

コードインジェクションはどのように機能しますか?

コードインジェクションは、ディスク上の基盤となるアプリケーションを変更しません。代わりに、そのアプリケーションが実行されるのを待ち、その実行中のプロセスに追加のコードを挿入して、その機能を変更します。

Windowsにはさまざまなものが含まれています アプリケーションプログラミングインターフェイス(API) コードインジェクションに使用できます。プロセスは、それ自体をターゲットプロセスにアタッチし、メモリを割り当て、DLLまたはその他のコードをそのメモリに書き込んでから、ターゲットプロセスにコードを実行するように指示できます。 Windowsは、コンピューター上のプロセスがこのように相互に干渉するのを防ぎません。

詳細な技術情報については、このブログ投稿で説明しています。 開発者がDLLを挿入する方法 そしてこれを見て Windowsでの他のタイプのコードインジェクション

場合によっては、誰かがディスク上の基になるコードを変更する可能性があります。たとえば、PCゲームに付属のDLLファイルを、不正行為や著作権侵害を有効にするために変更されたファイルに置き換えるなどです。これは技術的には「コードインジェクション」ではありません。コードは実行中のプロセスに挿入されていませんが、代わりにプログラムがだまされて同じ名前の別のDLLをロードしています。

画像クレジット: ルカトメ /しゅってrsとck。こm。

What Is Code Injection On Windows?

What Is Remote Code Execution?

Windows Process Injection Fundamentals For Red-Blue Teams

Demo9 - DLL Injection Example On Windows

Please Inject Me, A X64 Code Injection

Bug Bounty Hunting - PHP Code Injection

AtomBombing: Injecting Code Using Windows’ Atoms

Dll Injection Explained (how It Works + Source Code)

Malware Analysis - Code Injection Via CreateRemoteThread & WriteProcessMemory

Windows Basics - DLL Injection Tutorial (C++)

Code Injection Attack Theory Cryptography And Network Security In Hindi For Semester Exam

Microsoft Windows NET Framework CVE 2017-8759 Remote Code Execution Vulnerability |Windows10| Kali

Metasploit - Microsoft Windows Theme File Handling Arbitrary Code Execution (MS13-071)

BSidesSF 2017 - AtomBombing: Injecting Code Using Windows’ Atoms (Tal Liberman)


プライバシーとセキュリティ - 最も人気のある記事

2018 FIFAワールドカップをオンラインで視聴する方法(ケーブルなし)

プライバシーとセキュリティ Jun 18, 2025

世界最大のスポーツイベントはロシアで開催されるFIFAワールドカップです。ケーブルなしで試合を観戦したい場合は、住んでいる場所..


Androidフォンをテザリングしてインターネット接続を他のデバイスと共有する方法

プライバシーとセキュリティ Jan 13, 2025

テザリングとは、スマートフォンのモバイルデータ接続をラップトップやタブレットなどの別のデバイスと共有し、スマートフォンの�..


Netgear ArloProカメラでマイクを無効にする方法

プライバシーとセキュリティ Jun 2, 2025

Arlo Proカメラは、動きを検出したときにビデオを記録するだけでなく、オーディオもキャプチャできます。ただし、それが実際に利用�..


あなたのiPhoneがあなたの頻繁な場所を追跡するのを止める方法

プライバシーとセキュリティ Oct 27, 2025

あなたのiPhoneがESPを持っているようにあなたのルーチンを知っているように見えるとき、それは少し不安になるかもしれません。これ�..


AndroidデバイスでGoogle設定アプリを使用してできる13のこと

プライバシーとセキュリティ Oct 12, 2025

未取得のコンテンツ Googleは、2013年にほぼすべてのAndroidデバイスにGoogle設定アプリを自動的に追加しました。それ以来、Googleはこの�..


誰かがあなたのコンピュータにログインするたびに電子メール通知を受け取る方法

プライバシーとセキュリティ Sep 4, 2025

他の人にアクセスさせたくないコンピューター、おそらくサーバーはありますか?誰かがコンピュータにログインするたびに(インタ�..


Firefoxでユーザーエージェント文字列を変更する方法

プライバシーとセキュリティ Jun 25, 2025

未取得のコンテンツ 特定のWebサイトのFirefoxでユーザーエージェント文字列をすばやく変更する方法が必要ですか? User Agent Switcher拡張機能�..


高度なウイルスリムーバーおよびその他の不正/偽のウイルス対策マルウェアを削除する方法

プライバシーとセキュリティ Sep 18, 2025

未取得のコンテンツ Advanced Virus Removerに感染したPCをお持ちの場合、これを取り除くのは難しいでしょう。ありがたいことに、この恐ろしい�..


カテゴリ