Adi*_*369 5 c heap-memory
众所周知,我们可以存储DATA在动态分配的内存中.
DATA
但是,我想知道我们是否可以存储NEW INSTRUCTIONS或NEW FUNCTIONS堆积?有实际应用吗?
NEW INSTRUCTIONS
NEW FUNCTIONS
准备面试,如果这不是一个明智的问题,请耐心等待.
rli*_*bby 8
当然是.您认为即时编译器是什么?一些堆栈粉碎攻击的工作原理类似(在堆栈上执行代码,而不是堆).这是现代操作系统防止执行"数据"页面的一个原因.(合法的动态代码生成器必须禁用此类保护.)另请参阅维基百科有关自修改代码的文章.
ham*_*ene 8
现在的问题是关于C语言,所以答案应该是没有 -没有任何单独的语言定义存储一样对堆函数的任何信息.
但是,如果我们添加实现细节和操作系统(重定位表,页面保护等)的知识,那么是的,这是可能的.例如,自定义动态代码加载器(不使用OS提供的DLL/SO加载)以这种方式工作.
归档时间:
14 年,1 月 前
查看次数:
294 次
最近记录: