Inyeccion en otro proceso

Iniciado por Kizar, 25 Abril 2006, 21:47 PM

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

Kizar

Alguien tiene un code en vb que permita inyectarse en otro proceso, es que hace tiempo hice un code peor no llego a funcionar correctamente porque creaba el thread en el otro proceso, pero al final daba fallo de memoria.

Alguien puede postear un code en vb de inyeccion en otro proceso?

Salu2

Hendrix

Hay un kode en este foro que konsta de dos partes...los posts son de Zealot....creo que es algo asi:

No aparecer en la taskmngr sin Hooks.

Creo que se inyectaba en un proceso...no estoy seguro.... :-\ :-\ :-\

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Kizar

No, eso no es, lo unico que hay en el foro en vb sobre inyecion es esto y me da fallos....
http://foro.elhacker.net/index.php/topic,86227.0.html

Salu2

Hendrix

sips, me akuerdo de este post....tendremos que esperar a que el maestro (Slasher) nos resuelva esta duda....

Si lo konsigues postea... ;) ;) ;)

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Eternal Idol

CreateRemoteThread para crear el hilo.
VirtualAllocEx para escribir tanto datos como codigo.

El codigo tiene que ser en assembly ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Pseudoroot

No necesariamente tiene que ser en Asm, en C++ igual se puede inyectar code, en Visual Basic , no lo se..
www.g e d z a c.com

www.espavirus.com/foro

Eternal Idol

Cita de: Pseudoroot en 26 Abril 2006, 22:39 PM
No necesariamente tiene que ser en Asm, en C++ igual se puede inyectar code, en Visual Basic , no lo se..

Depende de lo que haga el codigo, no podes pretender copiar cualquier codigo y que funcione perfectamente.
Las llamadas a la API de Windows tenes que estructurarlas de manera que no sean enlazadas estaticamente (generalmente se le pasa una estructura con punteros a las funciones que se usaran), cualquier variable de tipo cadena se crea en la zona de datos y el otro programa no la tendra, etc.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Pseudoroot

Si, pero se que se puede en C++, por eso lo digo. ademas tengo un code, que inyecta al explorer.exe codeado  justamente en C++, y se eso que comentas, por eso a veces es necesario una dll externa o no, en caso que comento no se utilizo, pero si tubo que hacer usos de estructuras tal y como comentas tu..

www.g e d z a c.com

www.espavirus.com/foro

Eternal Idol

#8
Cita de: Pseudoroot en 26 Abril 2006, 22:52 PMSi, pero se que se puede en C++, por eso lo digo. ademas tengo un code, que inyecta al explorer.exe codeado  justamente en C++, y se eso que comentas, por eso a veces es necesario una dll externa o no, en caso que comento no se utilizo, pero si tubo que hacer usos de estructuras tal y como comentas tu..

Por supuesto que se puede hacer en C++ pero si queres hacer cosas como inyectar codigo de 32 o 64 bits dependiendo del proceso a inyectar terminas haciendolo en hexadecimal como casi todo el mundo. Sin tener en cuenta todas las restricciones que te comente antes.

Por cierto no tiene nada que ver que el programa este escrito en C++, lo importante seria el codigo que inyecte. Y lo de la DLL tampoco tiene nada que ver aunque comunmente se hace eso, meter el codigo que haga un LoadLibrary.

El problema es este:


void funcion()
{
  DeleteFileA("Archivo.txt");
}


Si copias funcion al otro proceso (WriteProcessMemory), DeleteFileA llamara a cualquier lado y donde estaba "Archivo.txt" muy probablemente apunte a una direccion invalida y nunca jamas a "Archivo.txt".
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Pseudoroot

si lo se. por eso la estructura se pone dentro de la funcion. porque obvio que una funcion cualquiera nunca inyectada dentro de otro proceso nunca va a apuntar a la direccion correcta
www.g e d z a c.com

www.espavirus.com/foro