当前位置: 代码迷 >> 汇编语言 >> 程序各个区段是否EXECUTEABLE,该如何解决
  详细解决方案

程序各个区段是否EXECUTEABLE,该如何解决

热度:9935   发布时间:2013-02-26 00:00:00.0
程序各个区段是否EXECUTEABLE
今天写了个example程序跑了一下,把代码写到.data?.data .const 堆栈中,都能执行成功。
而之前我只知道堆栈是可读可写可执行的,但不知道(在默认情况下)数据段是否可执行。是否有理论支持?以确定这些段都能执行代码。
请教,希望有知道的朋友告诉一下。谢谢!
如下,我并没有看到除了.text段的其它段有EXECUTE属性啊。
->Section Header Table
  1. item:
  Name: .text

  Characteristics: 0x60000020
  (CODE, EXECUTE, READ)

  2. item:
  Name: .rdata

  Characteristics: 0x40000040
  (INITIALIZED_DATA, READ)

  3. item:
  Name: .data

  (INITIALIZED_DATA, READ, WRITE)




------解决方案--------------------------------------------------------
关注
------解决方案--------------------------------------------------------
你的程序运行在什么环境中?DOS?还是Windows? DOS是没有保护机制的,除非你进入DOS保护模式
  相关解决方案