Windows图形编程笔记

学习袁老大的<<Windows图形编程>>,此记之。

1.1 Windows C/C++编程基础

      ...

      两个"const TCHAR" 数组定义确保这些常量字符串最终被编译链接到二进制代码的只读数据区中。

      如果你调用ShellExecute时直接用_T("print") 这样的字符串,在最终的二进制代码中它还是在可读写数据区。

      放置常量到只读数据区可以确保它们真的是只读的,尝试去改写它会引发通用保护错误。

      同时如果有多个同样模块的实例被系统加载时,它们可以被不同实例共享,以减少物理内存的使用。

      ...

    1.4 Win32 可执行文件格式

      在Win7 64位下,导出表的例子程序有两处需要修改。

      首先,SetExportAddress 中,判断ord范围不超过最大值时要减去pExport->Base;

      其次,HackWriteProcessMemory中修改页面属性要用PAGE_EXECUTE_READWRITE;

                否则执行到wsprintf会出错(c0000005);跟踪发现在mov edi, edi 就错了,是因为上面修改了页面属性无法继续执行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值