给定python中的字符串,我将如何在第n个字节分裂,并自动执行每个块的操作?
buf = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80";
鉴于此shellcode字符串(只是一个例子),我想分成多个第n大小的块。给定python中的字符串,我将如何在第n个字节分裂,并自动执行每个块的操作?
一旦其被拆分,给出块的未知第n个号码,我会然后像它自动执行机能的研究如
os.system("echo " + chunk[1] + ">>/tmp/final")
os.system("echo " + chunk[2] + ">>/tmp/final")
但是,无需每次指定每个动作,不知道的数它被分成
块看看下面的代码可以帮助你,它分割字符串在每个第n个字符:
nbuf = [buf[i:i+n] for i in range(0, len(buf), n)]
for st in nbuf:
cmdk = 'os.system("echo "' + st + '">>/tmp/final")'
subprocess.call(cmdk,shell=True)
'subprocess.call'可以用来在shell上运行任何命令 –
不要遍历索引(你错过了'范围'为此),只是直接循环块。 –
感谢评论添加了更改 –
你计划编码nd将它解码为bytearray,或者你只是想在每n个字符处分割字符串? –
只是想要在每个第n个字符处分割字符串,然后就像我的例子一样,通过反复多次未知的块来完成一个动作。 – walkamile
这是一个不错的方法:https://*.com/a/9475538/15890 –