Прежде всего, вы не опубликовали код, который вы используете для внедрения DLL, или, по крайней мере, не описали, каким образом вы делаете инъекцию.
Тем не менее, у вашего кода есть большая проблема.Вы пытаетесь позвонить MessageBox
внутри DllMain .Безопасно использовать только функции из Kernel32.dll, а не форму User32.dll, которую нельзя инициализировать.На MSDN вы можете прочитать
Вызов функций, для которых требуются библиотеки DLL, отличные от Kernel32.dll, может привести к проблемам, которые трудно диагностировать.Например, вызов функций User, Shell и COM может вызвать ошибки нарушения доступа, поскольку некоторые функции загружают другие компоненты системы.