第9课教程,主要讲的是特殊DLL,文件关联以及挂钩启动的知识内容。
特殊dll文件ws2_32.dll
(注:本文中的“\”,如有需要体验或者使用,请替换成半角斜线)
一.一个特殊dll文件ws2_32.dll
在软件安装目录下新建一个文本文件,改名为ws2_32.dll,此时将导致该软件无法运行.
解释如下:ws2_32.dll是Windows Sockets应用程序接口,用于支持Internet和网络应用程序.程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件位于系统文件夹中.Windows在查找动态链接库文件时会先在应用程序当前目录搜索,如果没有找到会搜索Windows所在目录;如果还是没有会搜索system32和system目录。一些病毒可能会利用此原理在杀毒软件目录中建立名为ws2_32.dll文件或文件夹,在杀毒软件看来这是程序运行需要的文件而调用,而这个文件又不具备系统ws2_32.dll文件的功能,所以杀毒软件等就无法运行了而提示:应用程序或DLL为无效的 windows映像,请再检测一遍您的安装盘,我随便测了一个程序。
我现在拿一个程序做个试验…
找到一个程序,如我的ACD See,增加一个ws2_32.dll文件…
如:
删除ws2_32.dll就可以正常运行~~
二.一个特殊的程序rundll32.exe
这个文件的作用,从文件名应该就可以猜到了,用于运行32位的DLL文件,位于%systemroot%\system32\rundll32.exe
下面来看看这个命令的格式:
Rundll32.exe DLL文件名,DLL文件中的引出函数 引出函数的具体参数
这里说的DLL文件名其实也可以是exe文件名,引出函数的具体参数是可选的.
大家打开开始,运行对话框,复制下面一行的命令粘贴进去,然后点确定.先不说效果,自己操作下哈.
rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen C:\WINDOWS\Web\Wallpaper\Bliss.bmp
是不是被这么长的命令吓怕了,其实很简单,看看上面的格式,都能对上号吧
rundll32.exe这是命令名,可以不写扩展名.
C:\WINDOWS\system32\shimgvw.dll这个就是DLL文件名
ImageView_Fullscreen这个是前面这个DLL文件的引出函数,功能是最大化显示图片,注意它和前面的DLL文件名是用逗号分隔的.
C:\WINDOWS\Web\Wallpaper\Bliss.bmp引出函数的具体参数,这里就是所要打开的图片文件路径.
rundll32这个命令是相当复杂的,不要求大家记住所有DLL文件的引出函数(也不可能记住),但要知道它的格式.
来看个短一点的命令吧
rundll32.exe shell32.dll,Control_RunDLL desk.cpl
打开了桌面属性对话框.
说了这么多,好像和病毒没有关系?呵呵,关系很大,病毒可以通过这个命令来运行,配合注册表中的几个自启动位置...是不是很强大了,举个例子:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
键main,值rundll32.exe C:\progra~1\intern~1\use6.dll mymain
这里的C:\progra~1\intern~1\use6.dll就是病毒文件,很好地实现了开机自动运行,并且还看不到病毒的进程,因为它只是一个 DLL文件,但可以看到rundll32.exe进程,这个进程应当结束.打开控制面板中的一些项目时,也会出现这个进程,此时是正常的(刚刚打开桌面属性对话框时也会有这个进程啊).
网友评论