内存相关操作

1. 最近做一些hook的东西,对某些内存做操作时引发访问违规,于是利用内核函数更改了页面属性,在winxp下没有问题,但在win7下程序运行异常,只是简单的一句push ebp,检查esp、ebp都没发现什么问题,后!address eip发现代码页为PAGE_WRITE*属性,而正常的代码段属性为PAGE_EXECUTE_READONLY,于是推测之前的操作将代码段的属性修改后未复原,后经将代码段属性恢复,程序在win7上运行正常。

2. windbg内核调试时,就算页面属性为ReadOnly,也可以修改此页面的内存,但是用户模式调试器缺不能,不解,有高手解答下?

3. 在远程注入相关代码中,使用 Wr i t e P r o c e s s M e m o r y函数,而不是
I n t e r l o c k e d E x c h a n g e P o i n t e r函数是因为Wr i t e P r o c e s s M e m o r y能够改变字节,而不管这些字节拥
有什么页面保护属性。例如,如果页面拥有 PA G E _ R E A D O N LY保护属性,那么 I n t e r l o c k e d
E x c h a n g e P o i n t e r函数将会引发访问违规,而 Wr i t e P r o c e s s M e m o r y函数则能够处理页面保护属性
的所有变更,并且仍然能够正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值