首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发技术POP RET不起作用

开发技术POP RET不起作用
EN

Stack Overflow用户
提问于 2014-04-02 14:03:39
回答 1查看 619关注 0票数 1

我有一个使用Windows专业版SP3 x86西班牙语的虚拟机,并且禁用了DEP。

好吧,为了"Easy到MP3转换器“(是的,教程Corelan的程序),我执行了开发MP3,但是没有工作,所以我做了两个测试:

第一个也是成功的,将跳转到外壳代码开头的JMP ESP替换为"CCCC“(\X43\X43),并生成试图执行此方向的错误。来源 屏幕截图

第二,向JMP ESP提供一个有效的方向和许多断点的外壳代码。这里会产生一个错误,原因是程序试图执行的方向,而JMP ESP没有指向所放置的断点。来源 屏幕截图

最初的堆栈是:

缓冲区将填充As。

RET地址将被POP POP RET的方向所替代。

4字节的垃圾将取代"XXXX“。

这里指出ESP在执行POP POP RET指令之前,它将被4个NOPs替换

4字节的垃圾,它将取代4 NOPs

4字节的垃圾,ESP将指向后面,并将被替换为JMP ESP,这将从堆栈中获取我们所放的RET指令。

下面是外壳代码的开头,是执行JMP ESP的位置

EN

回答 1

Stack Overflow用户

发布于 2014-04-02 19:41:53

你的外壳代码正确吗?

如果是的话,检查你的外壳代码是否有任何奇怪的字符。该特定程序将停止复制空字符(0x00)以及其他几个输入。最简单的方法是找到正确复制的外壳代码中的最后一个字符,并排除后面那个字符。可以使用metasploit生成除特定字符之外的外壳代码。

如果没有,请检查您的偏移量和衬垫。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22813976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档