1

我正在开发一个小型 python 脚本来获取 base64 编码的 zip,对其进行解码,然后运行仅在 RAM 中的 zip 内的 EXE(因此无需写入磁盘)。如果有意义的话,这就是我到目前为止所拥有的,除非我遇到了子流程的问题。我怎样才能完成在 RAM 中运行它?任何帮助表示赞赏!

from StringIO import StringIO
import base64
import zipfile
import subprocess

base64zipped = base64NonsenseHere

zippass = "thisisjustforme123"

zipdata = StringIO()
zipdata.write(base64.decodestring(base64zipped))
myzipfile = zipfile.ZipFile(zipdata)
myzipfile.setpassword(zippass)
subprocess.Popen(myzipfile.open('Application 1.exe'))

错误:

Traceback (most recent call last):
  File "C:\Users\user\Desktop\DD\Main.py", line 780, in <module>
    subprocess.Popen(myzipfile.open('Application 1.exe'))
  File "C:\Python27\lib\subprocess.py", line 679, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 896, in _execute_child
    startupinfo)
TypeError: must be string without null bytes or None, not str
>>>
4

0 回答 0