inyeccion de dll, pero que debe llevar la dll?

Iniciado por engel lex, 8 Agosto 2011, 01:51 AM

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

engel lex

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!
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

fary

En la DLL metes lo que tu quieras. Y eso de como invocarla desde un programa externo no lo entendi xD

Un byte a la izquierda.

someRandomCode

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.

engel lex

:o cool! dale! si necesitas ayuda enviame un pm :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.