You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python键盘记录器通过PsExec远程启动后无法正常运行求助

远程运行编译版键盘记录器失败的排查与解决

以下是针对问题的具体排查方向和解决方案:

1. 确保PsExec使用交互式会话启动

PsExec默认以本地系统账户运行程序,该账户无交互式桌面权限,而键盘记录器需要挂钩用户桌面输入设备,会直接退出。解决步骤:

  • 先查询远程PC的用户会话ID:
    quser \\远程PC名称或IP
    
  • 使用-i参数指定交互式会话启动,同时用有管理员权限的账户运行:
    psexec \\远程PC -i 会话ID -u 管理员账户 -p 密码 C:\路径\keylogger.exe
    
    (替换会话ID为查询到的用户登录会话号,通常是2)

2. 检查Python编译是否完整且正确

编译后的exe可能存在依赖缺失或打包参数错误:

  • 若用PyInstaller打包,需确保包含所有依赖库(如pynput、获取窗口的ctypes模块),打包命令示例:
    pyinstaller --onefile --noconsole keylogger.py
    
    --noconsole避免弹出控制台窗口,防止远程运行时因无法显示控制台导致进程退出;--onefile生成单个exe,方便复制。
  • 本地先测试编译后的exe是否正常生成日志,确认新增的窗口名称获取逻辑无错误(比如未捕获的异常导致程序崩溃)。

3. 修正日志文件的绝对路径

键盘记录器若用相对路径写入日志,PsExec默认工作目录为C:\Windows\System32,日志可能生成在该目录而非预期位置。解决方法:

  • 将日志写入路径改为绝对路径,示例:
    log_file = r"C:\temp\keylog_output.txt"
    
  • 提前在远程PC创建目标目录(如C:\temp),并确保运行账户对该目录有写入权限。

4. 排查系统安全软件拦截

Windows Defender或第三方杀毒软件会将键盘记录器判定为恶意程序,直接查杀或阻止运行:

  • 临时将远程PC上的exe所在路径添加到杀毒软件排除列表;
  • 检查杀毒软件隔离区,确认程序是否被拦截。

5. 捕获运行时错误信息

通过重定向输出查看程序启动失败的具体原因:

  • 使用PsExec时重定向标准输出和错误:
    psexec \\远程PC C:\路径\keylogger.exe > C:\本地路径\error.log 2>&1
    
    查看error.log内容,定位是否存在依赖缺失、权限不足等报错。

内容的提问来源于stack exchange,提问作者Rafay Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:15:51