elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Programa persistente en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa persistente en C#  (Leído 2,694 veces)
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Programa persistente en C#
« en: 30 Mayo 2015, 18:33 pm »

Hola he visto que hay troyanos que al cerrarlos se vuelven a ejecutar pasado un tiempo, ¿como es eso posible?, ¿cómo puedo implementarlo?

¿Será otra aplicación que lo ejecuta no? ¿2 programas en uno entonces?

Saludos.


En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Programa persistente en C#
« Respuesta #1 en: 30 Mayo 2015, 20:23 pm »

Quizás KuBox conozca alguna otra metodología más apropiada, ya que lo mio no es el diseño de virus/troyanos, pero te lo comento igual...

Una manera de hacerlo sería desarrollando un servicio de Windows, instalarlo y mantener el servicio escuchando la actividad del proceso (ya sea mediante técnicas IPC cómo sockets o un mapeo de memoria compartida, o simplemente realizando una consulta a la lista de procesos actual Process.GetPRocesses() ), si se detecta inactividad (es decir, si no se encuentra el proceso en ejecución) iniciarlo de nuevo.
Esto sería practicamente lo mismo que mantener 2 procesos en ejecución cómo sugeriste, pero con sus ventajas (y su elegancia xD).

Creating a Windows Service Application - MSDN
A basic Windows service in C# - MSDN Code
+
➢  Interprocess Communications (IPC) - MSDN

Saludos!


« Última modificación: 30 Mayo 2015, 21:00 pm por Eleкtro » En línea



Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Programa persistente en C#
« Respuesta #2 en: 31 Mayo 2015, 13:15 pm »

Gracias Elektro como siempre, parece que además de tu opción que es abrir un servicio que compruebe si el programa está o no en ejecución, he encontrado otra opción que consiste en inyectar threads a otros procesos para que comprueben si mi programa está o no en ejecución y haga algo al respecto, si inyectaría eso a svchost.exe funcionaría sin necesidad de servicio, el problema es ¿realmente funcionará? y ¿cómo se hace? XD

Bueno, ya me las intentaré apañar para el resto.

http://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-Proces

Saludos y gracias.
« Última modificación: 31 Mayo 2015, 13:34 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema USB persistente
Dudas Generales
Nemur 3 3,450 Último mensaje 22 Octubre 2010, 05:55 am
por Nemur
XSS persistente - same origin
Bugs y Exploits
cascan 0 2,610 Último mensaje 16 Febrero 2012, 21:49 pm
por cascan
xss no persistente
Nivel Web
ruben_linux 8 4,311 Último mensaje 28 Agosto 2012, 23:29 pm
por ruben_linux
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines