如何运行包含在文本文件中的可执行文件(exe的十六进制)

时间:2015-05-15 10:44:27

标签: python hex exe hexdump

我有一个包含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")

2 个答案:

答案 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")

感谢名单...!