首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
0
0
[求助]PPTE怎么获取啊
发表于: 2011-5-31 16:15
4401
[求助]PPTE怎么获取啊
wlaiq
2011-5-31 16:15
4401
//GetPteAddress
//pte的计算公式
//PAE和非PAE有些差别。目前看不懂
PPTE GetPteAddress( PVOID VirtualAddress )
{
PPTE pPTE = 0;
__asm
{
cli
pushad
mov esi, PROCESS_PAGE_DIR_BASE
//#define PROCESS_PAGE_DIR_BASE 0xC0300000
mov edx, VirtualAddress
mov eax, edx
shr eax, 22
lea eax, [esi + eax*4]
test [eax], 0x80
jnz Is_Large_Page
mov esi, PROCESS_PAGE_TABLE_BASE
//#define PROCESS_PAGE_TABLE_BASE 0xC0000000
shr edx, 12
lea eax, [esi + edx*4]
mov pPTE, eax
jmp Done
Is_Large_Page:
mov pPTE, eax
Done:
popad
sti
}
return pPTE;
}
我想用这个函数获取 ring3的某个地址的PPTE 我该怎么传数据给此函数啊 我传0x401000 结果驱动调用 就蓝了 应该怎么用啊?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
#调试逆向
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
1
)
RootSuLe
雪 币:
601
活跃值:
(256)
能力值:
( LV11,RANK:190 )
在线值:
发帖
11
回帖
344
粉丝
4
关注
私信
RootSuLe
4
2
楼
开PAE的话,0x401000 划分为 : 00 0000000001 0000000001 000000000000 四个域,CR3保存PPTE的基地址,PPTE是有4个成员的PTE,最高两位00,是使用PPTE第0个成员的PTE,就是和没开PAE时候的CR3的内容一样了,我是这么理解的
2011-5-31 16:28
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wlaiq
2
发帖
2
回帖
10
RANK
关注
私信
他的文章
VMProtect加密程序 知道了伪代码 怎么抓取被加密那段伪代码?
4575
[求助]PPTE怎么获取啊
4402
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部