在python中将列表分成4个项目列表?

时间:2013-11-01 09:36:08

标签: python list shellcode

我正在编写一个python脚本来为编程类生成shell代码。该程序将采用未格式化的shell代码“aabbccdd”,将其分解为2个字符列表项,并将\ x插入每个字节。问题是它在一个小端处理器上,所以我需要反转4个项目块中的列表项。我认为最简单的方法是将列表加入字符串并使用带有“\ x”的string.split作为参数,但我无法弄清楚如何一次只做4个/然后放在单独的列表中,所以我可以在每个列表上使用list.reverse,将它们连接在一起,然后返回到字符串进行打印。我的方法看起来很笨拙,我无法弄清楚如何让它发挥作用,会喜欢你们其中一个聪明人的帮助!

编辑 - 我弄清楚了。我以为我错误地编码了我的shellcode,实际上我遇到了两个问题 - NX Byte被打开了,我用我的shellcode的最后一部分填充SFP而不是使用垃圾字节来填充它。这使得我的shellcode在完全执行之前终止,因为SFP不可执行。谢谢你的回答!

1 个答案:

答案 0 :(得分:2)

已经内置(Python 2):

>>> s = "aabbccdd"
>>> s.decode("hex")
'\xaa\xbb\xcc\xdd'

我还不明白你的意思是“颠倒4个项目块中的列表项目”。