
出现这样的问题,你先用下面的方法试试,
不行的话,你再发消息给我:
1.用IceSword、Wsyscheck这些软件按提示中的路径到这个文件夹下查看有无这个dll文件,有的话,在软件里右击这个文件,删除它们!然后断开网络,全盘查杀病毒!并最好是到安全模式下或WinPE模式下查杀!---建议采用WinPE下杀毒的方法。
2.如果没有,则说明这个dll因为一些不可知的原因已经被删除了(最大的可能是因为它是病毒释放的文件,但已经被杀毒软件清除了),但留在注册表里的加载信息却没有得到清除,导致系统不断地尝试加载这个文件却又找不到文件,出现加载出错提示!
这样的话,只要清除注册表里的加载信息即可。在开始运行里输入Regedit打开注册表,搜索并删除这个dll的键值即可。
如果你嫌一个一个搜索-删除麻烦,也可以用Autoruns这个软件来清除,安装后,直接在这个软件的“所有项目”下的“映像路径”中找到这个dll文件(一般也是提示:没有找到文件:**.dll),右击--删除即可。然后重启一般就可以了。
Stud PE通过添加一个新节并将导入表连同添加的内容一并复制到新节的方法来实现对DLL的导入。exe是微软 *** 作系统的可执行文件后缀。dll是微软 *** 作系统的动态链接库文件。
exe是可执行程序也就是我们说的软件的主程序DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。
关于修改EXE文件的导入表,实际上是一个很古老的话题了(如果您是此中高手,请不要在这篇文章浪费时间了,如果您发现了其中的问题,还请多多指教).一些PE相关的软件,也都实现了这样的功能,例如Stud_PE.Stud_PE通过添加一个新节并将导入表连同添加的内容一并复制到新节的方法来实现对DLL的导入.
使用这样的方法只要是PE格式的EXE文件,都可以实现导入DLL的功能,但此方法,实现了通用性,却增加了文件的大小.
对于存放在磁盘上PE文件,其中存在着大量的空隙,我们知道PE中的数据是按照一定的文件对齐来组织.IMAGE_OPTIONAL_HEADER结构中的FileAlignment成员保存着文件对齐的大小,这个成员是在链接的时候由链接器指定,如果使用VC来编写程序,可以使用link中的/filealign来调整文件对齐的大小.
这里,就是利用这些空隙来使EXE在启动时载入DLL(类似于一些病毒的技术),同时并不改变文件的大小.如何实现?还是要修改导入表.然而这种方法的缺点也是很明显的,并不是每个EXE都有足够的空间让我们来插入数据,按照我的测试,在Windows 2003 Enterprise sp1中,lsass.exe以及services.exe都是有足够的空间进行插入,而在Windows 2000 Advance Server sp4中,lsass.exe无法插入,services.exe可以插入.这些EXE文件的FileAlignment为0x200H.为什么选择这些exe文件?说到这里我的意图已经很明显了,黑客之门便是利用这种方法实现自启动的木马.
上面说了堆废话,现在直接贴上代码,具体实现请见程序的注释.这里假定您对PE格式有一定的了解. 复制内容到剪贴板
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)