给定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") 

但是,无需每次指定每个动作,不知道的数它被分成

+0

你计划编码nd将它解码为bytearray,或者你只是想在每n个字符处分割字符串? –

+0

只是想要在每个第n个字符处分割字符串,然后就像我的例子一样,通过反复多次未知的块来完成一个动作。 – walkamile

+1

这是一个不错的方法:https://*.com/a/9475538/15890 –

块看看下面的代码可以帮助你,它分割字符串在每个第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) 
+0

'subprocess.call'可以用来在shell上运行任何命令 –

+0

不要遍历索引(你错过了'范围'为此),只是直接循环块。 –

+0

感谢评论添加了更改 –