-
-
ShellCode没有正确执行,内容在堆栈中变了,请高手指点
-
发表于:
2014-11-25 16:12
4474
-
ShellCode没有正确执行,内容在堆栈中变了,请高手指点
最近发现了某个软件的一个缓冲区溢出漏洞,按照绿皮书上的思路,可以成功溢出(缓冲区长度为155,接着的4个字节为EIP,缓冲区的入口地址为0x0012E498,因此直接利用缓冲区长度,放入弹框的shellcode,EIP的位置设为缓冲区入口地址,shellcode成功执行,弹出框框)。
现在遇到的问题是:我想让其弹出计算器来,使用看雪上那个经典弹出计算器的shellcode(144字节),按照上面类似的原理构造,最终计算器并没有弹出来。使用windbg查看堆栈内容,发现与实际shellcode不一样:原来shellcode中为 “FC 30“ 的地方,在堆栈中成了3F,接着后边又有一处不同,详细如下图所示。
请问各位前辈,为什么会出现这种情况?该如何解决?万分感谢!
[培训]科锐逆向工程师培训第53期2025年7月8日开班!