e.CloseReason en Visual Basic 2010 WPF

Iniciado por Segurida, 25 Mayo 2011, 11:08 AM

0 Miembros y 1 Visitante están viendo este tema.

Segurida

Pues si puedes hacerme ese ejemplo, te lo agradezco, nunca he creado librerías, si me puedes ayudar con eso, te lo agradezco, y no encuentro nada sobre inyectar mi aplicación o una librería en ningún otro proceso o aplicación, si me puedes ayudar con eso también, te lo agradezco.
saludos!

Krähne

Cita de: Segurida en 30 Mayo 2011, 09:29 AM
Pues si puedes hacerme ese ejemplo, te lo agradezco, nunca he creado librerías, si me puedes ayudar con eso, te lo agradezco, y no encuentro nada sobre inyectar mi aplicación o una librería en ningún otro proceso o aplicación, si me puedes ayudar con eso también, te lo agradezco.
saludos!

Bueno, al parecer si te has animado por la inyección .dll, no es un tema muy difícil pero como estás iniciándote en él te costará un poco en un principio, ahora me da "miedo" mandarte a hacer esto ya que son varios temas que vamos a tocar (Jaja, mato el tigre, pero le tengo miedo al cuero :silbar:).

Como principal punto debes entender que: No puedes inyectar una .dll hecha en la plataforma .NET, ¿Por qué?, Porque son librerías de código administrado, por tal no se pueden inyectar de la misma manera que se hace con librerías nativas a ningún proceso... ¿Venga, me estáis jodiendo no?... ¿Tanto molestarme para decirme que no serviría al final?. Jeje, calma amigo... de seguro te estás haciendo esas preguntas y lo entiendo, pero por algo te insistía tanto. Justo en este punto tienes dos opciones:


  • Creas una librería nativa en C++ u otro lenguaje que las pueda compilar (Delphi, etc.) y dentro de ésta .dll haces que llame a tu librería creada en .NET (La cual por supuesto estará revisando siempre que tu aplicación esté en ejecución hasta que tu lo desees o hasta que el proceso donde se inyectó (En dado caso winlogon.exe) se cierre); Claro con llamar no me refiero que ejecute una función dentro de ella sin hacer más nada, en sí estaríamos cargando esa librería dentro del proceso donde ya inyectaste la librería nativa y ejecutando una función directamente que la librería que acabas de llamar contenga, este proceso porque como he dicho anteriormente no puedes inyectar una librería de código administrado.
  • O simplemente crear una librería nativa en C++ o el lenguaje que quieras que compile nativas, la cual se encargue de revisar tu aplicación y haga lo mismo que haría la de .net.

Ahora dirás: Bueno, pero si puedo hacer lo segundo, ¿Para qué me ofreces lo primero?, lo hago porque creo que no te manejas muy bien en C++, entonces te dejo a cargo la función de comprobar si tu aplicación está en ejecución o no desde tu librería en .NET.

Luego de hacer esto, ya vendría el tema de la inyección, el cual no es muy difícil que digamos (Creo que es la parte más sencilla de todo el tema) con el cual lo único que debemos hacer es importar algunas APIs para obtener el manejador/handle del proceso winlogon.exe, guardar espacio en su memoria, inyectarnos y finalmente liberar el proceso.

Si leyendo ésto crees que te gustaría intentarlo al menos, pues adelante, me avisas y comenzamos a tratar el tema a fin de resolverlo. :)

Un saludo, y... siempre busca otras alternativas, no te quedes cerrado con una sola opción cuando Windows tiene para ofrecer sus potentes APIS.
Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.

Segurida

Claro que quiero intentarlo, pero voy a necesitar mucha ayuda, como ya te dije no se crear dll, si me ayudas con el código, no me importa que sea c++, he visto que es algo mas rápido de ejecución que vb, así que, ¡vamos a por ello!
gracias y saludos!

Segurida

Krähne al final me ayudas a hacerlo o no? necesito hacerlo, y sigo sin una respuesta que solucione mi duda.
Muchas gracias y saludos!

[D4N93R]

Hola,

Es muy muy dificil que alguien te ayude con el código, a menos de que esa persona tenga mucho tiempo libre.

Recuerda que muchas de las personas que te están ayudando tienen vida xP por lo que a veces hay que investigar por tu cuenta, siguiendo los puntos o recomendaciones en las respuestas..

Otra cosa, no pongas dos Posts seguidos.. gracias!

Segurida

Llevo intentado esto desde mucho antes de publicar la duda, y continúo buscando algo que me sirva, y sigo sin encontrar respuesta, creo que voy a preguntar esto en la sección de virus, a lo mejor allí saben cómo poder hacerlo, muchas gracias y saludos!