溢出测试时,常常需要生成一长串字符串去填充缓冲区,用循环的话比较麻烦。python中直接可以用乘号来操作字符串:
shellcode = '\x90' * 1000 执行后,shellcode的值为1000个\x90。 同时也可以用加号来操作字符串,连接两个字符串的例子如下:
import struct buffer = 'A' * 100 jmpesp = struct('<L', 0x7ffa4512) #将0x7ffa4512转化为\x12\x45\xfa\x7f的格式 buffer += jmpesp 例如:三阶的单位阵:
unit1=[[1,0,0],[0,1,0],[0,0,1]] print(unit1) for i in range(0,3): for j in range(0,3): print(unit1[i][j],end=' '
) print() for i in range(0,3): print(unit1[i])