文号
839556
阅读
10864
回复
7
收藏
5
请问win7里系统核心内存的地址在哪里呢?
2017/09/16
IP:湖南
求教各位大神了!谢谢哦.😁
7
9年3个月前修改于 9年3个月前IP:四川
839564
1楼
用EnumDeviceDrivers加上GetDeviceDriverBaseName函数(从psapi.dll导入)可以获得所有内核模块的基地址(64位系统要编译为64位程序才能获得正确的结果)和对应的模块名,但是因为windows是保护模式,所以即使获得了也访问不了。
但是这只是虚拟地址,不是物理地址,因为windows开启了内存分页机制。关于windows的内存管理机制,具体的可以看《Windows核心编程》一书。
引用
评论
9年0个月前IP:湖南
841505
2楼
那么,有一个问题耶!我用C++编了一个小程序,具体功能是利用指针,把一个变量地址设为处于地址0x000000,再把变量值设为0,然后把变量的地址向后偏移一个地址长度,再设变量值为0,以此类推,会对系统及正在运行的程序产生什么影响呢?
引用
评论
9年0个月前IP:江苏
841539
3楼
会蓝屏。。。。
引用
评论
9年0个月前IP:湖南
841571
4楼
那就太好了!😈谢谢呐!
引用
评论
9年0个月前IP:广东
841572
5楼
win不知道,linux上应该是会报segmentation fault
引用
评论
9年0个月前IP:湖南
841574
6楼
啊?Linux上只是报错吗?好可惜啊
引用
评论
8年11个月前IP:四川
841627
7楼
引用 Hatsune Miku:
那就太好了!😈谢谢呐!
不会蓝屏,也是段错误,因为应用也在虚拟内存上运行。表现形式就是xx已停止工作。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的