我有一个包含exe的十六进制的txt文件。我在python中读取该文件,但无法运行该.exe文件。 任何形式的帮助都会得到满足......
感谢名单
import binascii
def getExeFile():
file1=input("Enter an exe file name(path):")
with open(file1, 'rb') as f:
content1 = f.read()
bucket1=open("f1.txt", 'w')
bucket1.write(str(binascii.hexlify(content1)))
print(binascii .hexlify(content1))
bucket1.close()
def getNonExeFile():
file2=input("Enter a non-exe file name(path):")
with open(file2, 'rb') as f:
content2 = f.read()
bucket2=open("f2.txt", 'w')
bucket2.write(str(binascii.hexlify(content2)))
print(binascii .hexlify(content2))
bucket2.close()
getExeFile()
getNonExeFile()
print("End")
答案 0 :(得分:2)
将其转储到临时文件中;更改它的权限,使其可执行并在子进程中运行
示例:强>
from os import chown
from subprocess import check_call
from tempfile import NamedTemporaryFile
with NamedTemporaryFile(delete=False) as f:
f.write(get_hex_from_file("mydata.dat"))
chown(f.name, 0755)
check_call(f.name)
当然我在这里假设您在某种UNIX机器上执行此操作,并且在这种情况下“EXE”意味着某种ELF / A.OUT / COFF可执行文件! - 尽管如此;相同的原则和代码(有一些调整)可能适用于其他paltforms;例如:Windows。
请参阅:
答案 1 :(得分:0)
Python 3.4: 这是我的代码,它创建一个简单的txt文件,其中包含十六进制和exe以及一个txt文件。 现在我希望我的程序获取该hex文件并运行exe文件并打开txt文件。
import binascii
def getExeFile():
file1=input("Enter an exe file name(path):")
with open(file1, 'rb') as f:
content1 = f.read()
bucket1=open("f1.txt", 'w')
bucket1.write(str(binascii.hexlify(content1)))
bucket1.close()
def getNonExeFile():
file2=input("Enter a non-exe file name(path):")
with open(file2, 'rb') as f:
content2 = f.read()
bucket2=open("f2.txt", 'w')
bucket2.write(str(binascii.hexlify(content2)))
bucket2.close()
getExeFile()
getNonExeFile()
print("End")
感谢名单...!