zoukankan      html  css  js  c++  java
  • virtualProtect

    // VirtualProtect.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include "windows.h"
    typedef void (*FUN)();
    
    FUN fun = NULL;
    int _tmain(int argc, _TCHAR* argv[])
    {
        char* p2 = "Helloworld";
        char p[100] = {0xE9,0x01,0x20};
        DWORD Old = 0;
        VirtualProtect(p, 5, PAGE_EXECUTE_READWRITE, &Old);//修改完属性就可以执行了
    
        fun = (FUN)&p;
        //fun();          //栈区的属性是可读可写不可执行
    
        VirtualProtect(p2, 4, PAGE_EXECUTE_READWRITE, &Old);//修改完了,常量区也就可以写了
    
        p2[8] = 'W'; //常量区属性是可读不可写  
    
    
        return 0;
    }
  • 相关阅读:
    C++基础学习6:内联函数
    lvm
    yum源
    mysql性能优化
    PXE
    dns配置
    进程命令
    ssh免密登陆和加密解密
    RAID阵列
    快速部署postfix邮件服务器
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5334815.html
Copyright © 2011-2022 走看看