PTY模块介绍
Creato il: 18 gennaio 2025
Creato il: 18 gennaio 2025
import base64
opcode='''(cbuiltins
eval
S'import('pty').spawn(['open','-a','Calculator'])'
o.'''.encode()
print(base64.b64encode(opcode).decode())
中的pty是什么?
在 Python 中,pty
是一个提供对伪终端(pseudo-terminal)接口支持的内置模块,主要用于在类 Unix 系统上创建和操控伪终端。简单来说,它能帮助你在脚本里以“带交互式终端”的方式去执行或控制其他程序。
pty.spawn()
来启动并控制交互式子进程(比如某些需要用户输入或能实时输出的命令)。在你的示例里,__import__('pty').spawn(['open','-a','Calculator'])
就是通过调用 pty.spawn()
来执行 open -a Calculator
(MacOS 上打开应用的命令)并获得一个伪终端环境。因此,示例里 pty
模块的作用,就是让 Python 可以用伪终端的方式去执行并与那个命令进行交互(虽然在这里只是简单地打开了一个应用)。