偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用 Python 寫一個電腦監(jiān)控程序

開發(fā) 后端
今天就帶大家嘗試用幾行 Python 代碼,監(jiān)控電腦上的操作。

繼打游戲、看視頻等摸魚行為被監(jiān)控后,現(xiàn)在打工人離職的傾向也會被監(jiān)控。最近有網(wǎng)友表示,所在企業(yè)安裝了行為感知系統(tǒng),該系統(tǒng)可以提前獲知員工跳槽念頭。

一時間,“打工人太難了”“毫無隱私可言”的討論層出不窮。

有些小伙伴就問了:這種監(jiān)控技術上可行嗎?復雜嗎?今天就帶大家嘗試用幾行 Python 代碼,監(jiān)控電腦上的操作。

監(jiān)控鍵盤

如果公司偷偷在我們的電腦上運行了一個后臺進程,來監(jiān)控我們的鍵盤事件,最簡單的 python 寫法大致是這樣的:

from pynput import keyboard

def on_press(key):
    print(f'{key} :pushed')


def on_release(key):
    if key == keyboard.Key.esc:
        return False


with keyboard.Listener(on_press=on_presson_release=on_releaseas lsn:
    lsn.join()


隨意敲擊鍵盤,你就會從控制臺看到這樣的輸出:

代碼內(nèi)容就是兩個方法,一個是監(jiān)聽按鍵事件,另一個是監(jiān)聽退出事件——敲擊 ESC 按鍵后釋放就退出了。

監(jiān)控鼠標

如果還要監(jiān)聽鼠標事件,那么上這段代碼就行了:

from pynput import mouse

def on_click(xybuttonpressed):
    if button == mouse.Button.left:
        print('left was pressed!')
    elif button == mouse.Button.right:
        print('right was pressed!')
        return False
    else:
        print('mid was pressed!')


# 定義鼠標監(jiān)聽線程
with mouse.Listener(on_click=on_clickas listener:
    listener.join()


這段代碼主要是監(jiān)聽鼠標的左右鍵點擊操作,運行之后操作鼠標,就可以看到控制臺打印如下結果:

細心的你一定會發(fā)現(xiàn),每次點擊事件,都打印了兩次。這是因為按下和松開都會觸發(fā)鼠標事件。

記錄監(jiān)控日志

鍵盤事件和鼠標事件都有了,是時候?qū)⒍呓Y合起來,把用戶的操作記錄到日志了。這里我們用 loguru 這個模塊來記錄日志。

整個代碼如下:

from pynput import keyboardmouse
from loguru import logger
from threading import Thread

# 定義日志文件
logger.add('moyu.log')


def on_press(key):
    logger.debug(f'{key} :pushed')


def on_release(key):
    if key == keyboard.Key.esc:
        return False


# 定義鍵盤監(jiān)聽線程
def press_thread():
    with keyboard.Listener(on_press=on_presson_release=on_releaseas lsn:
        lsn.join()


def on_click(xybuttonpressed):
    if button == mouse.Button.left:
        logger.debug('left was pressed!')
    elif button == mouse.Button.right:
        logger.debug('right was pressed!')
    else:
        return False


# 定義鼠標監(jiān)聽線程
def click_thread():
    with mouse.Listener(on_click=on_clickas listener:
        listener.join()


if __name__ == '__main__':
    # 起兩個線程分別監(jiān)控鍵盤和鼠標
    t1 = Thread(target=press_thread())
    t2 = Thread(target=click_thread())
    t1.start()
    t2.start()


運行之后,你就可以在同級目錄下的日志文件中,看到這樣的內(nèi)容了:

總結

本文主要通過 ??pynput?? 這個 python 模塊,演示怎么記錄鍵盤和鼠標的操作。這幾行簡單的代碼對于簡單的輸入監(jiān)控是可行的,但是對于聊天記錄之類的復雜語句,你還需要針對日志用 NLTK 語言處理,才能復原你的聊天記錄。

當然,我們這里僅僅是從技術上討論可行性,各位切莫做有損別人隱私的事情。再說了,僅憑這個代碼,別人一眼就會發(fā)現(xiàn)有程序在記錄操作……

責任編輯:龐桂玉 來源: 菜鳥學Python
相關推薦

2019-09-17 14:53:39

2023-04-07 15:45:13

Emojicode開源編碼語言

2018-10-31 10:11:24

Python編程語言語音播放

2021-05-14 10:45:21

PythonNoSQL數(shù)據(jù)庫

2017-05-18 12:16:03

LinuxPythonNoSql

2017-06-08 15:53:38

PythonWeb框架

2023-04-10 14:20:47

ChatGPTRESTAPI

2022-01-11 09:59:23

Python關機程序文件

2021-08-04 11:55:45

Python天氣查詢PySide2

2018-12-04 15:10:56

Python微信備忘錄

2021-04-23 16:40:49

Three.js前端代碼

2014-03-24 09:19:43

Python編輯器

2020-10-15 15:01:54

Python 開發(fā)編程語言

2022-09-02 14:53:40

Python爬取板塊資金流代碼

2020-09-15 14:05:21

Python代碼預測模型

2010-05-12 16:52:11

Oracle備份工具

2020-02-02 17:21:18

語言編程文言文

2009-07-02 10:02:40

JSP程序

2019-08-14 16:56:38

Python職責模式請假

2022-12-22 08:22:17

Python圖像圖像處理
點贊
收藏

51CTO技術棧公眾號