Inyeccion DLL

Iniciado por aum, 27 Junio 2008, 20:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

aum

Bueno estuve buscando informacion sobre este tema que me resulta muy interesante y logre entender de que se trata.
Modifique el Link como dice en

http://www.elguille.info/vb/avanzado/crear_dll_windows_con_vb6_explicado.htm


Mi duda es si yo quiero tomar el control de una dll como me refiero a las funciones de esa dll?

para que quede mas claro: Supongamos inyecto mi dll en ws2_32.dll y dede mi dll quiero indicar q ejecute la funcion Listen como lo haria??


si no quedo claro me explico mejor

~~

Creo que tu quieres hacer api hooking, pero te estás confundiendo, una dll no se inyecta en otra dll, tienes que inyectarla en el proceso que quieres modificar el "Listen" y modificar la memoria para que haga esa función lo que tu quieras. Aquí lo explico, y hay muchos más textos por Internet:
http://foro.elhacker.net/analisis_y_diseno_de_malware/querias_tutos_de_programacion_de_malware_pues_toma-t196251.0.html

Salu2

aum

muchas gracias recien termino de leer todo el manual!! ahora si entiendo bien como es el asunto.
Una pregunta mas, buscando por el foro me quedo mas que claro q no se puede hacer dll para inyectar en Vb. Mi pregunta es tampoco se pueden aunq hayas echo esa modificacion que dice en


http://www.elguille.info/vb/avanzado/crear_dll_windows_con_vb6_explicado.htm

cobein

Si se pueden hacer dll en VB para inyectar, no es una tara simple pero siendo cuidadoso se pueden hacer. Necesitas un control de compilador y seguir algunas reglas al programar nada mas.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

aum

gracias tenes algun material para leer sobre las reglas q tengo que seguir al programar?

cobein

La verdad que no tengo nada, pero te puedo decir algunas

Las apis en el caso de que las uses las tenes que meter en un type library

Las funciones de VB mas que nada las de manejo de cadenas NO FUNCIONAN

Tene en cuenta que no podes usar nada que dependa de las librerias de VB porque sino al inyectar la libreria va a hacer referencia a la libreria de VB la cual posiblemente no este cargada en la memoria del proceso inyectado

podes usar apis y cosas como if select case y alguna que otra cosa mas pero es bastante limitado, tenes que manejarte mas que nada con APIs.

Si buscas en este foro vas a ver ejemplos que deje.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

~~

Y si usas todo eso tranquilamente y lo primero que haces en tu dll para inyectar es un LoadLibraryA de la dll de VB??

De todas formas no recomiendo VB para estas cosas..

cobein

Probe hacer lo que decis E0N de cargar la libreria de VB pero ... no me funciono, si a alguien le funciona bienvenido es un ejemplo.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

~~

Osea, has hecho un LoadLibrary con la dll del VB y luego has hecho un GetProcAddress para obtener la dirección de memoria de esa función y la has llamdo por esa posición (dificil en VB la verdad)  y me estás diciendo que no te ha funcionado??? mucho me extraña

Si se hace así funciona seguro, solo que VB no es un buen lenguaje para esto, para otras cosas lo que queráis, pero para esto...

aum

como llamo a una funcion por la posicion de memoria??