社区
Windows Server
帖子详情
NTDLL.dll搞什么?
kingandy82
2004-04-20 09:42:24
请问:
我在XP下运行一个程序时弹出了如下错误对话框:
Unhandled exception in VIEW3DS.exe (NTDLL.DLL):0xC0000005: Access Violation.
怎么解决?
...全文
254
3
打赏
收藏
NTDLL.dll搞什么?
请问: 我在XP下运行一个程序时弹出了如下错误对话框: Unhandled exception in VIEW3DS.exe (NTDLL.DLL):0xC0000005: Access Violation. 怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
回炉重造,学习编程中。。。
2004-04-21
打赏
举报
回复
1.首先使用新版杀毒软件检查计算机上是否有病毒。
2.如果Windows 2000可以启动,请检查"事件查看器"中的信息,以确定导
致故障的设备或驱动程序。启动"事件查看器"的方法是:"开始"\"设置"\
"控制面板"\"管理工具"\"事件查看器"\"系统日志"。
3.如果不能启动计算机,试着用"安全模式"或"最后一次正确的配置"启
动计算机,然后删除或禁用新安装的附加程序或驱动程序。如果用"安全模式"
启动不了计算机,可使用修复控制台。修复控制台可以禁用一些服务、重新命名
设备驱动程序、检修引导扇区或主引导记录。
4.拆下新安装的硬件设备(RAM、适配卡、硬盘、调制解调器等等)。
5.确保已经更新了硬件设备的驱动程序,以及系统有最新的BIOS。
6.运行由计算机制造商提供的系统诊断工具,尤其是内存检查。
7.检查Microsoft兼容硬件列表(HCL),确保所有的硬件和驱动程序都与Wi
ndows 2000兼容。Hcl.txt在Windows 2000 CD-ROM的\Support文件夹中。
8.在BIOS中禁用内存缓存功能。
9.重新启动计算机,在启动屏幕处,按F8进入"高级启动选项",然后选择
"最后一次正确的配置"。(注:使用"最后一次正确的配置"的方式启动计算机
,计算机的所有设置被重置为最后一次成功启动时的配置。)
GERY2003
2004-04-20
打赏
举报
回复
..............................................
...000000000000000000............00...........
...000000000000000000............00...........
...00...............0....00000000000000000....
...00...............0....00000000000000000....
...000000000000000..0........00.....00........
...00...............0..000000000000000000000..
...00...............0..000000000000000000000..
...00.0000000000....0......00.........00......
...00.0000000000....0......00.........00......
...00.00......00....0......0000000000000......
...00.00......00....0......0000000000000......
...00.00......00....0......00.........00......
...00.00......00....0......00.........00......
...00.0000000000....0......0000000000000......
...00.0000000000....0......0000000000000......
...00.00......00....0....00..00..00.....00....
...00.00......00....0....00..00..00.....00....
...00...............0....00..00....0..00..00..
...00...............0....00..00....0..00..00..
...00...........00000..00....00000000000..00..
..............................................
yangzi7908
2004-04-20
打赏
举报
回复
内存的问题
换个插槽或者换内存
其次也有可能是主板的问题
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
易语言-易语言
DLL
劫持
以一个D3D为例子,表现
DLL
劫持 由于输入表中只包含
DLL
名而没有它的路径名,因此加载程序必须在磁盘上搜索
DLL
文件。首先会尝试从当前程序所在的目录加载
DLL
,如果没找到,则在Windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。利用这个特点,先伪造一个系统同名的
DLL
,提供同样的输出表,每个输出函数转向真正的系统
DLL
。程序调用系统
DLL
时会先调用当前目录下伪造的
DLL
,完成相关功能后,再跳到系统
DLL
同名函数里执行。这个过程用个形象的词来描述就是系统
DLL
被劫持(hijack)了。 利用这种方法取得控制权后,可以对主程序进行补丁。此种方法只对除kernel32.
dll
、
nt
dll
.
dll
等核心系统库以外的
DLL
有效,如网络应用程序的ws2_32.
dll
、游戏程序中的d3d8.
dll
,还有大部分应用程序都调用的lpk.
dll
、sxs.
dll
,这些
DLL
都可被劫持。 伪造的
dll
制作好后,放到程序当前目录下,这样当原程序调用原函数时就调用了伪造的
dll
的同名函数,进入劫持
DLL
的代码,处理完毕后,再调用原
DLL
此函数。 这种补丁技术,对加壳保护的软件很有效,选择挂接的函数最好是在壳中没有被调用的,当挂接函数被执行时,相关的代码已被解压,可以直接补丁了。在有些情况下,必须用计数器统计挂接的函数的调用次数来接近OEP。此方法巧妙地绕过了壳的复杂检测,很适合加壳程序的补丁制作。 一些木马或病毒也会利用
DLL
劫持技术
搞
破坏,因此当在应用程序目录下发现系统一些
DLL
文件存在时,如lpk.
dll
,应引起注意。 首先 运行exe他会把需要的
DLL
加载进来,加载的目录如无特别的制定的话,现在当前目录找,然后再去系统目录找 我的附件中自带了一个D3D9的绘图程序,是VC写的 调用的是系统的D3D9.
DLL
(因为目录下没有) 只解压那个exe文件,是不会有文字出现的 如果把其他的
DLL
一起解压,就会出现下图文字 hello D3D hook! 那么我们如何劫持了D3D9.
dll
呢 d3d9_Ex.
dll
这个文件其实就是D3D9.
dll
了,但是我们改名字了,程序就不认识了 我们先用 把D3D9.
DLL
的输出表找到,弄到易语言里,并且生成D3D9.
DLL
到目录 这样他调用的就是我们的
DLL
,但是这样会报错,因为我们的
DLL
没有内容只是一个壳子 只要我们再把他要调用的函数调用一下不就行了吗 源码中的汇编指令是把函数传递到原来的D3D9。现在的D3D9_Ex里 这样调用就是调用我们的
DLL
->原来的
DLL
,中间就可以加些我们需要的代码了
DLL
劫持源码-易语言
以一个D3D为例子,表现
DLL
劫持
DLL
劫持原理[url=]编辑[/url] 由于输入表中只包含
DLL
名而没有它的路径名,因此加载程序必须在磁盘上搜索
DLL
文件。首先会尝试从当前程序所在的目录加载
DLL
,如果没找到,则在Windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。利用这个特点,先伪造一个系统同名的
DLL
,提供同样的输出表,每个输出函数转向真正的系统
DLL
。程序调用系统
DLL
时会先调用当前目录下伪造的
DLL
,完成相关功能后,再跳到系统
DLL
同名函数里执行。这个过程用个形象的词来描述就是系统
DLL
被劫持(hijack)了。 利用这种方法取得控制权后,可以对主程序进行补丁。此种方法只对除kernel32.
dll
、
nt
dll
.
dll
等核心系统库以外的
DLL
有效,如网络应用程序的ws2_32.
dll
、游戏程序中的d3d8.
dll
,还有大部分应用程序都调用的lpk.
dll
、sxs.
dll
,这些
DLL
都可被劫持。 伪造的
dll
制作好后,放到程序当前目录下,这样当原程序调用原函数时就调用了伪造的
dll
的同名函数,进入劫持
DLL
的代码,处理完毕后,再调用原
DLL
此函数。 这种补丁技术,对加壳保护的软件很有效,选择挂接的函数最好是在壳中没有被调用的,当挂接函数被执行时,相关的代码已被解压,可以直接补丁了。在有些情况下,必须用计数器统计挂接的函数的调用次数来接近OEP。此方法巧妙地绕过了壳的复杂检测,很适合加壳程序的补丁制作。 一些木马或病毒也会利用
DLL
劫持技术
搞
破坏,因此当在应用程序目录下发现系统一些
DLL
文件存在时,如lpk.
dll
,应引起注意。 首先 运行exe他会把需要的
DLL
加载进来,加载的目录如无特别的制定的话,现在当前目录找,然后再去系统目录找 我的附件中自带了一个D3D9的绘图程序,是VC写的 调用的是系统的D3D9.
DLL
(因为目录下没有) 只解压那个exe文件,是不会有文字出现的 如果把其他的
DLL
一起解压,就会出现下图文字hello D3D hook! 那么我们如何劫持了D3D9.
dll
呢 d3d9_Ex.
dll
这个文件其实就是D3D9.
dll
了,但是我们改名字了,程序就不认识了 我们先用 把D3D9.
DLL
的输出表找到,弄到 易语言 里,并且生成D3D9.
DLL
到目录 这样他调用的就是我们的
DLL
,但是这样会报错,因为我们的
DLL
没有内容只是一个壳子 只要我们再把他要调用的函数调用一下不就行了吗 源码中的汇编指令是把函数传递到原来的D3D9。现在的D3D9_Ex里 这样调用就是调用 我们的
DLL
->原来的
DLL
,中间就可以加些我们需要的代码了
window内核监控工具源代码
一:SSDT表的hook检测和恢复 ~!~~~ 二:IDT表的hook检测和恢复 ~~~~~~(idt多处理器的恢复没处理,自己机器是单核的,没得
搞
,不过多核的列举可以) 三:系统加载驱动模块的检测 通过使用一个全局hash表(以DRIVEROBJECT为对象)来使用以下的方法来存储得到的结果,最终显示出来 1.常规的ZwQuerySystemInformation来列举 2通过打开驱动对象目录来列举 3搜索内核空间匹配驱动的特征来列举(这个功能里面我自己的主机一运行就死机,别的机器都没事,手动设置热键来蓝屏都不行,没dump没法分析,哎,郁闷) 4从本驱动的Modulelist开始遍历来列举驱动 四:进程的列举和进程所加载的
dll
检测 采用以下方法来列举进程: 1ZwQuerySystemInformation参数SystemProcessesAndThreadsInformation来枚举 2进程EPROCESS 结构的Activelist遍历来枚举 3通过解析句柄表来枚举进程 4通过Handletablelisthead枚举进程 5进程创建时都会向csrss来注册,从这个进程里面句柄表来枚举进程 6通过自身进程的HANDLETABLE来枚举进程 7通过EPROCESS的SessionProcessLinks来枚举进程 8通过EPROCESS ---VM---WorkingSetExpansionLinks获取进程 9暴力搜索内存MmSystemRangeStart以上查找PROCESS对象 进程操作: 进程的唤醒和暂停通过获取PsSuspendProcess和PsResumeProcess来操作的 进程结束通过进程空间清0和插入apc。 采用以下方法查找
DLL
: 1遍历VAD来查找
dll
2挂靠到对应的进程查找InLoadOrderLinks来枚举
dll
3暴力搜索对应进程空间查找pe特征来枚举
dll
DLL
的操作:
Dll
的卸载是通过MmUnmapViewOfSection和MmmapViewOfSection(从sdt表中相应函数搜索到的)来实现的(本来想直接清0
dll
空间,有时行有时不行)(只要将这个进程的
nt
dll
卸载了,进程就结束了,一个好的杀进程的办法撒,绿色环保无污染),注入
dll
使用的是插入apc实现的。(注入的
dll
必须是realse版的。Debug版会出现***错误,全局
dll
注入貌似也是)插入apc效果不是很好,要有线程有告警状态才执行。 五:线程信息的检测 遍历ThreadList来枚举线程 线程的暂停和唤醒都是通过反汇编获取PsResumeThread和PsSuspendThread直接从r3传来ETHREAD来操作的,通过插入APC来结束线程 六:shadow sdt表的hook检测与恢复 没有采用pdb来解决函数名问题,直接写入xp和03的shandow表函数名(主要是自己的网不稳定,连windbg有时都连不上微软) 七:系统所有的过滤驱动的检测 查看各device下是否挂接有驱动之类的,可直接卸载 八:系统常用回调历程的检测和清除 只检查了PsSetLoadImageNotifyRoutine PsSetCreateThreadNotifyRoutine PsSetCreateProcessNotifyRoutine CmRegisterCallback这几个,至于那个什么shutdown回调不知道是啥玩意,就没
搞
了,有知道的顺便告诉我下撒,谢谢 九:文件系统fat和
nt
fs的分发函数检测 直接反汇编fat和
nt
fs的DriverE
nt
ry得到对应的填充分发的偏移,然后和当前已经运行的文件系统的分发相比是否被hook,并附带恢复 十:文件查看功能 自己解析
nt
fs和fat的结构,来实现列举文件和直接写磁盘删除。附带有普通的删除和发生IRP来删除。不过这里面有点问题,
nt
fs删除有时把目录给
搞
坏了,大家凑合着吧,
Nt
fs网上删除这些操作的代码不多,就是sudami大大的利用
nt
fs-3g来实现的,看了下,太多了,充满了结构。然后自己对照着系统删除文件时目录的变化来自己实现的。只处理了$BITMAP对应的位清除,父目录的对应文件的索引项的覆盖,删除文件对应的filerecord清0. 另外偷懒时间都没处理,呵呵,y的,一个破时间都都
搞
好几个字节移来移去的。 十一:常用内核模块钩子的检测和恢复 这里只检测了主要的内核模块nkrnlpa**.exe的.win32k.sys,hal.
dll
,比对它们的原始文件从而查找eat inline hook,iat hook ,和inline hook。Inline是从TEXT段开始一段位置开始比较的。(有点慢貌似,等待显示扫描完成就好了) 十二:应用层进程所加载
dll
的钩子 应用层钩子检测和内核模块钩子检测原理一样,不过为了能读写别的进程的空间,并没有使用openprocess去打开进程,而是通过KiattachProcess挂靠到当前进程,然后通过在r0直接读写进程空间的。
nt
dll
.
dll
蓝屏故障如何解决,Windows中
nt
dll
.
dll
错误模块修复方法
在使用 Windows 系统时,不少朋友可能遇到过
nt
dll
.
dll
错误的困扰。今天,咱们就来详细聊聊如何修复这个让人头疼的问题。首先,咱们得
搞
清楚
nt
dll
.
dll
错误是怎么出现的。常见的原因有系统文件损坏、病毒感染、软件冲突,或者是硬件故障等。当
nt
dll
.
dll
文件出现问题时,确实可能导致蓝屏死机。
【原创】vegas提示
NT
DLL
.
DLL
出错的解决办法
nt
dll
.
dll
是什么?
nt
dll
.
dll
出错怎么办?
nt
dll
.
dll
位置在哪?
nt
dll
.
dll
下载之后放在哪里?请看本文详解。
nt
dll
.
dll
下载地址:点击下载
nt
dll
.
dll
文件分析
nt
dll
-
nt
dll
.
dll
-
DLL
文件信息
DLL
文件:
nt
dll
或者
nt
dll
.
dll
DLL
名称:
NT
Layer
DLL
描述:
nt
...
Windows Server
6,872
社区成员
177,936
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章