Pregunta

Me preguntaba si es posible inyectar un hilo en un dominio de aplicación remota que se ejecuta en un proceso separado.

Supongo que podría hacer esto usando las interfaces de depuración (ICorDebug) pero me preguntaba si hay otra forma.

¿Fue útil?

Solución 3

Esto se puede hacer, hay un código de muestra en snoop Configura un enlace y usa c ++ administrado le dice al dominio de aplicación que cargue un ensamblado. Realmente impresionante ...

Otros consejos

Recientemente hubo un anuncio de una nueva instalación que Mono proporciona para hacer precisamente esto. Vea esta publicación en inyección de ensamblaje .

Mike Stall tiene un interesante muestra sobre cómo usar CreateRemoteThread para inyectar hilos remotos en aplicaciones administradas.

Esta respuesta aún está incompleta, porque me gustaría ejecutar un nuevo código en el dominio de aplicación remoto. Supongo que podría intentar crear 1 nuevo hilo que cargue una biblioteca para mí, y otro que llame a un lugar en mi nueva biblioteca para hacer el trabajo.

Hay otra forma usando SetThreadContext y cambiando el EIP del proceso de destino. Sin embargo, no sé cómo haría eso en C #.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top