关于网友提出的“ 如何通过非常手段修改“常量存储区””问题疑问,本网通过在网上对“ 如何通过非常手段修改“常量存储区””有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何通过非常手段修改“常量存储区”
描述:
比如:
void fun()
{
char *p = "abcd";//如何用非常规手段修改常量区的"abcd"
}
解决方案1: 可以通过编译器修改.data节的属性,具体是
cl /link /section:.data,rew
解决方案2: BOOL WINAPI VirtualProtect(
__in LPVOID lpAddress,
__in SIZE_T dwSize,
__in DWORD flNewProtect,
__out PDWORD lpflOldProtect
);
设置上
PAGE_EXECUTE_READWRITE
PAGE_EXECUTE_WRITECOPY
PAGE_READWRITE
PAGE_WRITECOPY
之中任何一个属性即可修改了
以上介绍了“ 如何通过非常手段修改“常量存储区””的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2922875.html