
Process manipulation functions such as CreateRemoteThread or code injection techniques such as AtomBombing, can be used to inject a DLL into a program after it has started.DLL must be signed by a valid certificate. That is the right way to use legal DLL injection on current version of Windows - Windows 10. DLLs listed under the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDLLs are loaded into every process that calls the Win32 API functions CreateProcess, CreateProcessAsUser, CreateProcessWithLogonW, CreateProcessWithTokenW and WinExec.Starting with Windows 8, the entire AppInit_DLL functionality is disabled when Secure Boot is enabled, regardless of code signing or registry settings. Beginning with Windows 7, the AppInit_DLL infrastructure supports code signing. Beginning with Windows Vista, AppInit_DLLs are disabled by default.


