python监控键盘按下事件 python 监听键盘事件

注:文章只为娱乐 , 请勿滥用

python监控键盘按下事件 python 监听键盘事件

文章插图
键盘记录 , 通过插入键盘hook记录键盘的操作 , 进而盗取他人的隐私信息 , 如果在加上截屏 , 那就更加防不胜防了 。今天 , 01就用python模拟一个键盘记录并截屏的程序 。#键盘记录#
原理
什么是键盘hook?
键盘hook(钩子) , 是一种可以监控键盘操作的钩子的本质是一段用以处理系统消息的程序 , 通过系统调用 , 将其挂入系统指令 。每当特定的消息发出 , 在到达目的窗口之前 , 钩子先行截获该消息、得到对此消息的控制权 。此时在钩子函数中就可以对截获的消息进行加工处理 , 甚至可以强制结束消息的传递 。而键盘钩子 , 只是为了截获键盘消息的 。全局钩子可以捕获在Win平台下任意窗口上的键盘操作 。
键盘记录的原理?
键盘记录便是使用user32.dll创建SetWindowsExA()函数 , 将特定指针注册到Hook Chain中 , 等消息到来时进行记录 , 并完成其他函数操作(比如截屏) 。
python监控键盘按下事件 python 监听键盘事件

文章插图
实现
我们模拟一个记录所有键盘的输入 , 当前进程的名字并每隔5个输入进行截屏的python程序 。
python库依赖:
python监控键盘按下事件 python 监听键盘事件

文章插图
我们使用pynput库来记录输入 , ctypes库来得到进程的名字ID , 使用PIL库进行截屏 。并初始化所有导入的库函数 。“all”b用来记录输入的数量 。
得到进程ID的函数:
python监控键盘按下事件 python 监听键盘事件

文章插图
这涉及到ctypes的知识 , 大家可以在官方文档学习相关使用 , 或看其他整理的文章 。
键盘记录并截屏的函数:
python监控键盘按下事件 python 监听键盘事件

文章插图
这里我将txt和截屏放到了D盘 。如果键盘输入是字符 , 就调用key.char , 如果是enter一类的输入 , 就直接输出 , 并都调用get()函数记录进程ID 。
最后 , 调用Listener循环监听键盘输入 。
python监控键盘按下事件 python 监听键盘事件

文章插图
测试
我们在pycharm中测试一下 , 输入6个1
python监控键盘按下事件 python 监听键盘事件

文章插图
D盘 , 有一个截屏和一个txt文件 。
python监控键盘按下事件 python 监听键盘事件

文章插图
txt文件
python监控键盘按下事件 python 监听键盘事件

文章插图
截屏测试成功!功能:发送邮件 , 打包exe啥的 , 大家看完可以尝试一下(注意:我国有完整的刑法) 。
今天的内容就到这了 , 我是01 , 我们明天再见!(听说小可爱都点了关注)
python监控键盘按下事件 python 监听键盘事件

文章插图
【python监控键盘按下事件 python 监听键盘事件】Tags:


    推荐阅读