VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1095回复:6

问问题咯,关于"Zw"和"Nt

楼主#
更多 发布于:2002-06-26 09:58
2K下”Zw“开头的函数的实现其实就是用int 2eh去调用”Nt“开头的,而int 2eh是一个从ring3到ring0的中断门。问
1,”Zw“和”Nt“的真实参数和功能及返回是一样的哈?
2,在ring0也可以调用”Zw“的哈?
3,”Zw“其实就是给”Nt“裹了一个可以给ring3调用的皮而已的哈?
ntoskrnl还有很多什么”Ps“”Rtl“开头的哈,那些不是用int 2eh调用的,但也在ntdll.dll里有它们的皮,对不对哈?
或者说ntdll就是ntoskrnl的一个ring3的皮,对不对哈?

[编辑 -  6/26/02 by  Koms Bomb]
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-26 15:53
大兄弟,看我的ExAllocatePool帖子,急啊
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-26 15:51
ZW*的函数可在Native API中找到的
-------------------------------------------------------------------------
有一半多的Native API未在ntoskrnl.exe导出。



可我怎知道有什么NT*函数呢?
------------------------------------------------------------------------------
从导出表中搜呗。在softice中用exp ntoskrnl!看
guard2002
驱动中牛
驱动中牛
  • 注册日期2002-05-21
  • 最后登录2017-03-07
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望65点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-06-26 15:09
ZW*的函数可在Native API中找到的
可我怎知道有什么NT*函数呢?
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-26 12:12
ntdll.dll导出的Zw*与Nt*实际指向同一函数。2000下此类函数利用int2e进入ring0,由KiSystemService分发服务。
http://www.driverdevelop.com/forum/html_15137.html?1025064700

ntoskrnl.exe导出的Nt*是为内核程序准备的,他们没有外包装,一开始就是函数的实现;Zw*进行了包装,它们的实质是用int2e重进入内核(对NT/2000而言),让KiSystemService分发,最后一般仍会进入同名的Nt*函数(若有的话)。
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-26 10:15

Zw:Misc...
Nt:Nt Native...
Rtl:something are marcos,something are function calls.

大兄弟,我都知道,但我问的问题我不知道
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-26 10:07
2K下”Zw“开头的函数的实现其实就是用int 2eh去调用”Nt“开头的,而int 2eh是一个从ring3到ring0的中断门。问
1,”Zw“和”Nt“的真实参数和功能及返回是一样的哈?
2,在ring0也可以调用”Zw“的哈?
3,”Zw“其实就是给”Nt“裹了一个可以给ring3调用的皮而已的哈?
ntoskrnl还有很多什么”Ps“”Rtl“开头的哈,那些不是用int 2eh调用的,但也在ntdll.dll里有它们的皮,对不对哈?
或者说ntdll就是ntoskrnl的一个ring3的皮,对不对哈?

[编辑 -  6/26/02 by  Koms Bomb]

Zw:Misc...
Nt:Nt Native...
Rtl:something are marcos,something are function calls.
Taiwan's Driver Developer
游客

返回顶部