es posible que al ejecutarse evite el inicio de unas funciones dll?
Si, es posible siempre que hayan programado el código fuente para ese fín; se puede hookear "X" función de "X" .dll para procesar y alterar el comportamiento de sus llamadas, así cómo cancelarlas/ignorarlas.
en programación c# es posible crear algún archivo que ejecute una dll específicamente al iniciar el exe?
¿Qué estás preguntando exactamente?, ¿puedes ser más específico?, una .dll difiere de un executable en que precisamente no es un archivo ejecutable, ya que no provee un punto de entrada (
entry point) que determine una función principal a la cual se le pase el control para iniciar su ejecución.
Si lo que pretendes es cargar una .dll y utilizar sus funciones, puedes hacerlo, sí;
en caso de que eso sea lo que pretendes, y si es un ensamblado .Net, entonces la solución más sencilla sería referenciar dicha .dll en tú solución de Visual Studio, la solución compleja sería cargar dinamicamente la .dll en tiempo de ejecución utilizando la técnica
Reflection, con los miembros de la Class
System.Reflection.Assembly, empezando por el miembro para cargar el ensamblado (
System.Reflection.Aassembly.LoadFile()) y posteriórmente los miembros para localizar las funciones de dicha dll;
si por lo contrario es una .dll desarrollada en C/C++, entonces debes crear un
wrapper, en esencia constaría de una Class de C# donde deberías declarar las mismas funciones que tiene la .dll y con sus mismas firmas (es decir, la misma parametización equivalente a .Net), es una tarea sencilla siempre y cuando conozcas cómo ha sido desarrollada dicha .dll, debes conocer los nombres de dichas funciones y también sus firmas, ya que debido a la naturaleza de C++, esto último es indescifrable mediante ingeniería inversa, no puedes saber a ciencia cierta si una función compilada toma un string cómo argumento, o un entero, a menos que hayas intentado pasarle ambos tipos de argumentos para salir de dudas, por suerte hay herramientas que facilitan en parte el análisis de una dll, cómo por ejemplo "
Dll Export Viewer" de
Nirsoft.
Saludos