能力值:
( LV2,RANK:10 )
|
-
-
2 楼
预备知识主要是windows程序设计还有保护模式汇编,还有操作系统原理中虚拟内存地址映射物理地址的原理相关内容。
保护模式汇编中主要是GDT的描述对理解这篇文章很有用。
我不是学windows编程的,所以这篇文章没有细看。我目前学的是linux。
本来作为x86区别ring0~3的物理基础是由CPU和内存中的描述符共同决定的。如果可以修改内存中描述符的表示ring 0~3一个内存空间内容,也就可以修改一个程序的执行级别。这个是有x86决定的。
这就是这篇文章内容的基本原理。
看不懂没关系,把我上边提及的计算机课程看一下就会明白差不多的。操作系统原理最好选用编程题多的外国经典大学的教材。
|
能力值:
( LV12,RANK:230 )
|
-
-
3 楼
这方面的知识点很杂,,有时候真的很烦
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
再再再次学习.
|
能力值:
( LV13,RANK:1050 )
|
-
-
5 楼
看过不少ring3无驱进入ring0的文章,不过你实现的还是很有特色的,自己查找页目录。
我看过的文章,都是把页目录根据操作系统的版本不同直接硬编码进来的。
不过,虽然自己查找页目录,但是你没有考虑PAE的情况。有时间的话,麻烦把附件附上。
|
能力值:
( LV12,RANK:230 )
|
-
-
6 楼
昨天弄的时候忘记上传源码了,,不好意思
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
请教一下,32位的win2003 Server,打开了PAE以后,最多能支持多大的内存,64G还是32G?
|
能力值:
( LV12,RANK:230 )
|
-
-
8 楼
支持最大内存64G
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
哇....ctrl+c ctrl+v 又发现一牛人 !!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我测试加不能执行成功
运行到这里程序就出错退出了
phys.QuadPart=(entry[DirectoryOffset]&0xfffff000);
|
能力值:
( LV12,RANK:230 )
|
-
-
11 楼
打SP1后可能就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
老技术了,加了点物理地址转换。
VISTA就用不了了
|
能力值:
( LV13,RANK:330 )
|
-
-
13 楼
已经知道一些,先收藏再说,看看是否还有其他方法
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
呵呵。hook 个 NtMapViewOfSection等
这个方法很容易被禁止
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
谢谢楼主的好文,学习了
|
能力值:
( LV12,RANK:460 )
|
-
-
16 楼
为什么是页目录的第0x300项呢???
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
好 学习 顶了
|
|
|