Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Belial & Grimoire en 18 Septiembre 2011, 03:51 am



Título: Re: puedo colocar struct dentro de typedef? y necesito ayuda con inyeccion sin dll
Publicado por: Belial & Grimoire en 18 Septiembre 2011, 03:51 am
hola

(lo vuelvo a escribir porque en el post anterior no se que paso que solo aparecio el titulo pero sin contenido)

alguien sabe si puedo usar un struct dentro de un typedef?

typedef struct tdatos
{
    struct sockaddr_in cl;
    struct hostent *oste;
}datos;

estoy intentando hacer una inyeccion sin dll pero tengo varias dudas,

la primera es necesario llamar a la aip WSASTARTUP? ya que intento meter en la estructura todo lo que pueda para que no haga falta a la hora de ejecutarlo

ya que hago esto

Código
  1. typedef int (WINAPI *WSASTARTUP)(WORD, LPWSADATA);
  2.  
  3. typedef struct tdatos
  4. {
  5.    WSASTARTUP stp;
  6.     WSADATA wsa;
  7.  
  8. }datos;
  9.  
  10. DWORD inyectada (datos *data)
  11. {
  12.  
  13.    data->wsa;
  14.    data->stp;
  15.  
  16.  
  17. return 0;
  18.  
  19.  

y lo inicio en una funcion asi

datos    dat;

Código
  1. dat.stp = (WSASTARTUP)GetAdres("Ws2_32.dll","WSAStartup");
  2.  
  3. dat.stp = (MAKEWORD(2,2),&dat.wsa );


Hay algun problema si hago esto o seria innecesario?

cuando lo hago asi lo ejecuto sobre block de notas y no me aparece ningun error ni se cierra ni nada... al principio crei que que lo habia hecho bien, pero se me hizo extraño ya que nunca lo habia intentado asi que hice un segundo codigo, este con un socket simple... utilice printf para ver que me aparecia...

en gethostbyname en el programa simple me aparece un numero variable "5682633" pero en el que yo hice me aparece algo como esto, incluso parece un overflow

"aaaaaaAAAaaAAaaAaGCCLIBMINGW" o algo asi

alguien sabe que podria seceder, porque como les menciono no me menciona ningun error y tampoco se cierra el block de notas, como comunmente me pasaba....

y no entiendo si estoy usando bien hostent, WSAStartup e incluso MAKEWORD, ya que lo intente poner en la funcion a inyectar y me aparecia un error, y en vez de inyectarlo lo inicio y el contenido lo guardo en la estructura me funciona

y pues no se si voy bien, o voy mal, porque no hay mensajes de error mas que el de gethostbyname pero entonces como lo hago  funcionar adecuadamente?

espero me puedan ayudar, y si hay algo que no lo entendan avisenme porfavor y tratare de ser mas claro

salu2

EDITADO----

No se que pasa que no se muestra lo que escribo


Título: Re: puedo colocar struct dentro de typedef? y necesito ayuda con inyeccion sin dll
Publicado por: Eternal Idol en 18 Septiembre 2011, 12:43 pm
Tenes que aprender a depurar si o si, abri el WinDbg, hace un attach al proceso que queres inyectar y pone el breakpoint donde corresponda para ir siguiendo instruccion por instruccion al codigo que inyectas.


Título: Re: puedo colocar struct dentro de typedef? y necesito ayuda con inyeccion sin dll
Publicado por: Ca0s en 21 Septiembre 2011, 13:39 pm
Al inyectar sin DLL tienes que pasar en la estructura tanto las direcciones de las funciones GetProcAddress y GetModuleHandle como cualquier cadena de texto que vayas a usar. Luego ya, en la inyectada, haces lo que sea, sacas las direcciones de las funciones que vayas a usar (teniendo sus nombres y demás en la estructura de datos).
En mi blog (está en mi perfil) tienes un pequeño texto con ejemplo.