DLL注入是一種將動態程式庫(DLL)檔案強制插入到運行中的其他進程的技術。
這種技術利用了DLL在Windows作業系統中的共享機制,使得一個DLL能夠被多個進程共享,從而提高代碼重用和資源共享的效率。通過DLL注入,可以將一個不屬於某個進程的DLL檔案載入到該進程當中,使得該DLL成為進程的一部分。被注入的DLL可以利用它所在的進程的許可權執行一些特殊的任務,比如修改進程記憶體中的數據、劫持進程的執行流程、監控進程的行為等。
DLL注入技術的設計初衷是為了給第三方應用程式提供功能擴展,例如,當一款軟體的作者停止對軟體的更新維護時,可以通過將軟體的擴展功能寫入DLL檔案中,然後把這個DLL注入到目標軟體的進程當中,使其繼續正常工作。然而,這種技術也被惡意軟體用於執行潛在的惡意操作,如信息竊取或遠程控制。