我的 Shellcode 位于 Windows 可执行文件的不可执行部分。还有办法执行吗?

逆向工程 ollydbg 开发 二进制
2021-07-05 15:53:12

我正在尝试利用在内存中保存一些用户控制数据的测试服务器可执行文件。我可以控制 EIP 并前往那里,但是我在 OllyDBG 中遇到了访问冲突,因为它不可执行。

有没有办法在不直接编辑可执行文件的情况下解决这个问题?

1个回答

好吧,您不能执行不可执行的页面,因此您有以下选择:

  • 如果可用,请为您的 shellcode 使用可执行内存区域。
  • 以某种方式强制程序将带有 shellcode 的内存标记为可执行
  • 使用 ROP(面向返回的编程)而不是直接可执行的 shellcode。ROP 负载不需要是可执行的,因为它从进程中的现有代码区域借用了可执行小工具。