Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: engel lex en 8 Agosto 2011, 01:51 am



Título: inyeccion de dll, pero que debe llevar la dll?
Publicado por: engel lex en 8 Agosto 2011, 01:51 am
Hola! estaba con un proyecto por ahi, pero no consegui manera de que funcionaran unos comandos asi que me voy a la parte mas dura

Con respecto a la inyeccion de dll, ya bastante se ha escrito, algo consigo por ahi (aunque no lo termino de entender del todo), pero lo que no se y que ellos asumen que uno ya tiene claro (y aunque deberia xD no lo tengo xD) es que rayos meterle a la dll que voy a inyectar o como invocarla desde un programa externo... ahorita lo unico que quiero es poder hacer que un programa externo escriba a traves del teclado virtual... pero me tranque ya... me bloquea el hecho de no saber que voy a inyectar o como lo voy a usar...

si me podrian faciliatar mas links, papeles, etc agradeceria mucho :s
:S gracias!


Título: Re: inyeccion de dll, pero que debe llevar la dll?
Publicado por: fary en 19 Agosto 2011, 15:23 pm
En la DLL metes lo que tu quieras. Y eso de como invocarla desde un programa externo no lo entendi xD



Título: Re: inyeccion de dll, pero que debe llevar la dll?
Publicado por: someRandomCode en 20 Agosto 2011, 00:52 am
Mira, yo tambien ando un poco perdido con el tema de la inyeccion, pero como lo entiendo viene asi, hablando solo de este metodo que voy a describir claro, porque en el resto no  me adentre todavia.

La idea de la injeccion de una DLL implica que vos tenes que, primero que nada, obtener un manejador al proceso.

Una vez que tenes el manejador al proceso, tenes que reservar espacio adentro de ese proceso para colar una instruccion con LoadLibrary. Esto es, que el proceso que estas inyectando use LoadLibrary para cargar tu DLL en su espacio de memoria.

Habiendo reservado espacio, necesitas saber la direccion donde Windows tiene cargado LoadLibrary. Cuando la sepas, vas a poder pasarle con CreateRemoteThread al proceso que ejecute un LoadLibrary de tu DLL.

En tu DLL, la forma mas facil que le vi yo hasta ahora es tener en tu metodo DllMain, en el caso DLL_PROCESS_ATTACH, una llamada a una funcion que haga lo que vos queres.
Claro esta, que hasta ahora mas que para escribir algun pedazo de memoria, no me ha servido de mucho.

En mi proyecto actual, la idea es modificar Windows Live Messenger, como si fuera MSGPlus (www.msgplus.net), pero estoy medio perdido, asique lo que vaya aprendiendo si puedo, te lo voy comentando.


Título: Re: inyeccion de dll, pero que debe llevar la dll?
Publicado por: engel lex en 20 Agosto 2011, 05:18 am
:o cool! dale! si necesitas ayuda enviame un pm :P