none
关于ring3、native函数和ntdll.lib RRS feed

  • 问题

  • 问一下大家ntdll.lib是一个怎样的东西,ring3、native函数和ntdll.lib这三者又有什么样的关系?
    • 已更改类型 0度转身 2010年5月17日 8:50 没答复
    2010年5月16日 13:47

答案

  • 简单回复一下吧

    ntdll.lib没啥花头,有花头的是ntdll.dll,这个是处理nt相关操作的核心dll,如安全什么的。而更重要的是kernal.dll,任何程序(win32下,win7是不是叫这个名字不清楚)都是基于kernal.dll的。

    ring3是软中断,ring0是硬中断(惭愧的是不知道有没有ring1和ring2……),软中断即是软件的中断,这个功能应该是由kernal.dll来实现的。

    native函数具体意义不是很明确,我还没见过这种叫法。

    不知道你问这个的目的是啥,暂时没看出来这几个有什么联系。


    霸王
    • 已标记为答案 0度转身 2010年5月23日 7:07
    2010年5月17日 12:30
  • 接下来说的这些你可能是了解的,但是我觉得需要稍微解释一下,以避免让其它论坛用户误会、产生错误的认知:未公开函数也不一定就是native函数,但是提到“内部”的话,意思就应该差不多了。

    根据以前一些人的说法,native函数的数量很少,它们的使用方式倒有点像汇编编程中的中断调用——一个函数可以实现很多种效果,很多Win32API都是通过一个或者几个这样的函数来达到目的的。

    是不是也可以把它们叫做“核心函数”之类的呢?


    Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。
    • 已标记为答案 0度转身 2010年5月23日 7:06
    2010年5月18日 3:48

全部回复

  • 简单回复一下吧

    ntdll.lib没啥花头,有花头的是ntdll.dll,这个是处理nt相关操作的核心dll,如安全什么的。而更重要的是kernal.dll,任何程序(win32下,win7是不是叫这个名字不清楚)都是基于kernal.dll的。

    ring3是软中断,ring0是硬中断(惭愧的是不知道有没有ring1和ring2……),软中断即是软件的中断,这个功能应该是由kernal.dll来实现的。

    native函数具体意义不是很明确,我还没见过这种叫法。

    不知道你问这个的目的是啥,暂时没看出来这几个有什么联系。


    霸王
    • 已标记为答案 0度转身 2010年5月23日 7:07
    2010年5月17日 12:30
  • 可能是有些人用“native函数”指代其它Win32API最终需要调用的那些未归档函数。


    Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。
    2010年5月17日 12:47
  • 哦,是指那些没公开的内部函数么,有一定可能吧,毕竟功能太强的函数风险也太大。

    按照这种解释的话,也许会变成 “ring3是由ntdll.dll中的native函数来实现”,真实性还需要商榷。。。


    霸王
    2010年5月18日 2:57
  • 接下来说的这些你可能是了解的,但是我觉得需要稍微解释一下,以避免让其它论坛用户误会、产生错误的认知:未公开函数也不一定就是native函数,但是提到“内部”的话,意思就应该差不多了。

    根据以前一些人的说法,native函数的数量很少,它们的使用方式倒有点像汇编编程中的中断调用——一个函数可以实现很多种效果,很多Win32API都是通过一个或者几个这样的函数来达到目的的。

    是不是也可以把它们叫做“核心函数”之类的呢?


    Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。
    • 已标记为答案 0度转身 2010年5月23日 7:06
    2010年5月18日 3:48