Да, это нормально для внедрения DLL или исполняемого файла в работающий процесс. Если у вашего приложения нет другого эффективного способа выполнить свою работу, и вы должны внедрить DLL в другие процессы, обязательно сделайте это.
CreateRemoteThreadEx () - это функция Windows API, когда ваш поток запускается в удаленном процессе, вы просто вызываете LoadLibrary () для загрузки вашей DLL в процесс.
Это функции Windows API, поскольку ваша учетная запись является учетной записью администратора, ничто не мешает вам внедрить DLL, это хорошо документированные функции от Microsoft и множество законных программ, использующих инъекцию DLL.