Pokaż wyniki 1 do 10 z 10

Temat: keylogger C++ pomoc

  1. #1

    Domyślnie keylogger C++ pomoc

    Witam

    Mam takie pytanie mam taki kod:
    Kod:
    #include <iostream>
    #include <windows.h>
    #include <fstream>
    using namespace std;
    int main()
    {
    
    fstream plik;
    HHOOK hKEYBOARDHOOK =0;
    plik.open("keys.txt", std::ios::in | std::ios::out);
    
    LRESULT CALLBACK LowLevelKeyboardProc( int nCode, WPARAM wPARAM, LPARAM lPARAM)
    {
    
            KBDLLHOOKSTRUCT *pKbdLLHookStruct = (KBDLLHOOKSTRUCT *)lParam;
      if (nCode >= 0)
        {
            if (wParam == WM_KEYUP)
            {
                switch(pKbdLLHookStruct->vkCode)
                {
    
     case: VK_A out << "A"; break;
    }
    
    }
    
    )
    i problem jest taki, że wyświetla takie błędy:
    1. C:\Documents and Settings\admin\Pulpit\to i tamto\key\main.cpp|13|error: a function-definition is not allowed here before '{' token|

    2. C:\Documents and Settings\admin\Pulpit\to i tamto\key\main.cpp|28|error: expected '}' at end of input|

    czy ktoś wie co może być nie tak ?

  2. #2

    Domyślnie

    Problem leży po stronie nawiasów klamrowych "{"

    Masz ich otwartych 5 a zamkniętych 3. W zasadzie to nie Ty masz a program, który ściągnałeś z netu myśląc, że to source keylogga, mam rację?
    Ostatnio edytowane przez Elitegroup : 01-11-2013 - 21:24

  3. #3

    Domyślnie

    ty myślisz, że ja go sobie skopiowałem i tu proszę o pomoc ?
    no jednak źle myślisz
    a za nawiasy klamrowe dzięki

  4. #4

    Domyślnie

    te nawiasy po dodaniu też nie działają bo dodałem i wyszło 5 otw 5 zam
    i to samo nadal.

  5. #5

    Domyślnie

    Co do internetu to ciekawi mnie, że mając tak dużą wiedzę zrobiłeś błąd z klamrami ? No ale nieistotne.

    To, że wstawiłeś nawiasy nie oznacza, że:

    1. wstawiłeś je w dobre miejsce
    2. nie ma innego błedu np: merytorycznego w kodzie. Ciężko mi coś ci poradzić z takim opisem.

  6. #6

    Domyślnie

    prawidłowy już poprawiony kod:
    Kod:
    #include <iostream>
    #include <windows.h>
    #include <fstream>
    using namespace std;
    
    LRESULT CALLBACK LowLevelKeyboardProc( int nCode, WPARAM wPARAM, LPARAM lPARAM);
    
    int main()
    {
    
    fstream plik;
    HHOOK hKEYBOARDHOOK =0;
    plik.open("keys.txt", ios::out);
    plik.close();
    return 0;
    }
    LRESULT CALLBACK LowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lParam)
    {
     KBDLLHOOKSTRUCT *pKbdLLHookStruct = (KBDLLHOOKSTRUCT *)lParam;
      if (nCode >= 0)
        {
            if (wParam == WM_KEYUP)
            {
                switch(pKbdLLHookStruct->vkCode)
                {
    
    case 'VK_A' : cout <<"A"; break;
    
                }
            }
        }
    }

  7. #7

    Domyślnie

    a komunikat błędu ? jest identyczny w tych samych numerach linii ? : P

  8. #8

    Domyślnie

    w poprawionym kodzie nie ma błędu.

  9. #9

    Domyślnie

    Jeśli w poprawionym kodzie kompilator tworzy EXE a on nie działa zgodnie z założeniami (rejestracja wciskanych klawiszy do pliku) to musisz poczytać o obiekcie: LRESULT CALLBACK LowLevelKeyboardProc, którego nie widzę nigdzie wywołanego w funkcji int(). Nie miałem do czynienia z tego typu obiekatami i merytorykę programu również musiałbym zgłębić w necie. Tyle co ci mogę ogólnie powiedzieć musisz sprawdzić czy program się uruchamia rezydentnie no i czy w ogóle jest w systemie (jego proces). Moim zdaniem keylogger to nie jest tych kilka linijek kodu.

  10. #10

    Domyślnie

    ba ze mi to na keyloggera nie wyglada, nie znam jezykow C ale pisze troche w php i powiem jak kiedys keyloggeea robilem to mial strukture mniej wiecej taka

    press k => save k
    press K => save K

    ale oczywiscie to ftylko formulka bo nie pamietam zadnej funkcji a jestem na komorce heh,

    poszukaj gotowego kodu keyloggera i go przerob albo naucz sie go na pamiec <lol>

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj