Aunque consigas evitar la carga de la dll maliciosa en el arranque de tu app, siempre se puede inyectar con un pequeño ejecutable. Esto quiere decir que no puedes quedarte en la defensa de la carga, has de ir más allá y cambiar el código de protección. Además deberás comprobar, en ese código, que no está cargada una dll no deseada. Puedes usar la API
GetModuleFileName para ello pues te da la ruta completa de la dll. También puedes explorar las funciones que exporta. Un hook a la indocumentada ldrLoadDll también te puede ayudar a evitar cargas e inyecciones. Eso puede dificultar al crack en la investigación de un nuevo crack. Pero todo esto no quita para que no fortalezas y ofusques el sistema inicial de protección, es fundamental.
Saludos.