elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 [379] 380 381
3781  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 27 Abril 2006, 15:40 pm
Ya sabia, pero entonces los programas k se inyectan en otro proceso inyectan el exe entero en otro proceso, eso es lo k quiero saber hacer...

Yo no conozco ningun software que haga eso, puede que los haya pero no tiene sentido, una DLL es practicamente lo mismo que un EXE (los dos son PE aunque con diferencias).
3782  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 27 Abril 2006, 15:20 pm
Y si en vez de inyectar un cacho de code quiero inyectar un proceso entero??
Supongo que tendre que ejecutar el exe y copiar todo su contenido en memoria en el remote thread pero no estoy seguro...
Seria asi?

No se puede inyectar un proceso como tal. Un proceso es un contenedor de una serie de recursos (espacio de memoria virtual, codigo del ejecutable, lista de handles, pid, hilos, etc).

Lo que se puede inyectar es el codigo de un programa pero no tiene gran sentido cuando uno tiene la posibilidad de inyectar una DLL con un minimo esfuerzo. Creando un hilo remoto que llame a la funcion LoadLibrayA/W y pasandole como parametro el nombre de la libreria (VirtualAlloc + WriteProcessMemory para escribirlo en el proceso que queramos) conseguimos cargar la DLL que queramos y en la misma se implementa la funcionalidad requerida.
3783  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 26 Abril 2006, 23:30 pm
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

La estructura se le pasa como parametro a la funcion ...  en fin que estamos en el foro de VB y el codigo tendra que ser la representacion en hexadecimal de codigo en assembly.

Habria que hacer algo asi como esto para que funcionara desde C:
Código:
#include <windows.h>

typedef BOOL (__stdcall DeleteFileA_Ptr)(char *);

typedef struct _DelData
{
  DeleteFileA_Ptr *DeleteFile;
  char *file;
}DelData, *PDelData;

void funcion(PDelData Data);

void main(int argc, char **argv)
{
  int procid = atol(argv[1]);
  HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, procid);
  if (hProc)
  {
    LPVOID Code = VirtualAllocEx(hProc, 0, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    LPVOID Data = VirtualAllocEx(hProc, 0, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    DWORD tid = 0;
    DelData Params;
    Params.DeleteFile = (DeleteFileA_Ptr*)GetProcAddress(GetModuleHandle("Kernel32.dll"), "DeleteFileA");
    Params.file = (char*)((BYTE*)Data) + sizeof(DelData);
    DWORD written = 0;
    char *File = "C:\\BASURA.TXT";
    WriteProcessMemory(hProc, Code, &funcion, 32 /*a ojo*/, &written);
    WriteProcessMemory(hProc, Data, &Params, sizeof(DelData), &written);
    WriteProcessMemory(hProc, ((BYTE*)Data + sizeof(DelData)), File, strlen(File), &written);
    CreateRemoteThread(hProc, 0, 0, (LPTHREAD_START_ROUTINE)Code, Data, 0, &tid);
  }
}

void funcion(PDelData Data)
{
  Data->DeleteFile(Data->file);
}
3784  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 26 Abril 2006, 22:57 pm
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..

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:

Código:
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".
3785  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 26 Abril 2006, 22:45 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.
3786  Programación / Programación Visual Basic / Re: Inyeccion en otro proceso en: 26 Abril 2006, 21:35 pm
CreateRemoteThread para crear el hilo.
VirtualAllocEx para escribir tanto datos como codigo.

El codigo tiene que ser en assembly ...
3787  Programación / .NET (C#, VB.NET, ASP) / Re: Java VS C#, No lo creo, Son lo mismo pero... en: 26 Abril 2006, 09:40 am
Y tu aporte cual es?

¿Te jode? ¿No queres leerme? ¿Entonces para que carajo me nombras? Hace tu, patetica, vida.

Entonces por favor deja de escribir en este tema si no piensas aportar nada.

Por cierto, tu aporte es decir obviedades y mentiras, nada mas y nada menos. Ademas de tu hipocresia, me decis troll que gracia, el tipo que abre hilos para desprestigiar lenguajes y no aporta una minima prueba tangible ... por favor.

Jamas pense en aportar nada y si escribi en este tema fue por tu culpa, ahora no te hagas el inocente, por algo me nombraste. No lo hubieras hecho, sabias perfectamente lo que significaba hacerlo.
3788  Programación / .NET (C#, VB.NET, ASP) / Re: Java VS C#, No lo creo, Son lo mismo pero... en: 26 Abril 2006, 09:15 am
Me pregunto si tu y idol me hubieran insulteteado al escribir algo como eso...

¿Que pasa? ¿Estas obsesionado por haber quedado en ridiculo? No hace falta que me nombres.

En cuanto al tema te comento que Java y .NET me importan tanto como vos: NADA.
3789  Programación / Ingeniería Inversa / Re: como uso el SoftIce? quiero crackear un .exe en: 24 Abril 2006, 20:15 pm
El OllyDbg es un depurador bastante completo para modo Usuario, SoftIce tambien funciona en modo Kernel. Si el codigo que tenes que crackear esta en un .exe seguramente tendras todo lo necesario en el OllyDbg.
3790  Programación / Ingeniería Inversa / Re: VER QUE TIENE DENTRO UN ARCHIVO .EXE en: 24 Abril 2006, 20:13 pm
No pero puede llegar a ser muy dificil, hay que ver que tipo de documento es y como esta grabado (puede que este cifrado y/o comprimido).
Páginas: 1 ... 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 [379] 380 381
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines