您现在的位置: 万盛学电脑网 >> 电脑基础 >> 电脑基本常识 >> 正文

ntdll.dll是什么文件?

作者:佚名    责任编辑:admin    更新时间:2022-06-22

class="area"> ntdll - ntdll.dll - DLL文件信息   DLL 文件: ntdll 或者 ntdll.dll   DLL 名称: NT Layer DLL   描述:   ntdll.dll是NT操作系统重要的模块。[1]   属于: Windows NT   系统 DLL文件: 是   常见错误: File Not Found, Missing File, Exception Errors   安全等级 (0-5): 0   间谍软件: 否   广告软件: 否   打开NTDLL.dll,惊奇的发现原来CRT的许多基本函数居然都是在这里实现的!甚至包括qsort,ceil这样的函数,还有臭名昭著的 strcpy堆的释放,进程管理,似乎都是在这。于是,我决定,仔细察看一下它,这1410个函数是做什么的   用户模式的代码在调用系统内核函数的时候,首先把一个叫做system call number的数放在EAX中,把参数放在其它的寄存器中了。然后调用INT 2E中断。但是大部分应用程序并不需要直接这么做。通常都是在调用kernel32.dll等时由他们来调用INT 2E.   内核模式的代码,做法稍微有点不同。他们通常调用由NTOSKRNL.EXE导出的NTDLL.dll中Zw开头的那一系列函数,比如 ZwWaitForSingleObject, 反之,如果是用户级代码需要调用内核,就会利用INT 2E调用WaitForSingleObject.对于许多函数的批量调用,你会明显发现 Zw族要比Rtl族效率高很多。   ntdll.dll中的大部分函数都是undocumented.   ntdll.dll控件丢失常规安装方法(仅供参考):   一、如果在运行某软件或编译程序时提示缺少、找不到ntdll.dll等类似提示,您可将从下载来的ntdll.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。   二、您从网站下载下来文件之后,先将其解压(一般都是rar压缩包), 然后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。默认都是支持32位系统的, 如果您不知道是X86还是X64,您可以看这篇文章。   三、根据软件情况选择文件版本。此步骤比较复杂,如果是Windows的dll文件,   版本号以5.0开头的或含有 nt 一般是windows2000的文件。   版本号以5.1开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。   版本号以6.0开头的或含有 longhorn、vista 信息的一般是windowsVista的文件。   版本号以6.1开头的或含有 win7 信息的一般是windows7的文件。 如果不是windows的dll文件,则需要灵活查看版本号、描述、网友提供的信息、以及相关dll的版本号去判断。   四、直接拷贝该文件到系统目录里:   1、Windows 95/98/Me系统,将ntdll.dll复制到C:\Windows\System目录下。   2、Windows NT/2000系统,将ntdll.dll复制到C:\WINNT\System32目录下。   3、Windows XP/WIN7/Vista系统,将ntdll.dll复制到C:\Windows\System32目录下。   4、如果您的系统是64位的请将文件复制到C:\Windows\SysWOW64目录   五、打开"开始-运行-输入regsvr32 ntdll.dll",回车即可解决。