经常有网友问,系统注册表启动项里看到rundll32.exe,任务管理器里也有这个进程,是不是中病毒了?其实吧,这说明你对rundll32.exe不太了解。它原理真不复杂,搞懂了平时用起来还挺方便,还能自己折腾DLL参数啥的。
先说下rundll32.exe和rundll.exe有啥区别。简单来说,rundll就是run dll的组合,意思就是运行那些不能单独运行的dll文件。而rundll32,顾名思义就是用来跑32位的dll文件的。
像Win2000、XP这些NT内核系统,代码都是纯32位的,所以系统里压根就没有rundll.exe这个程序。但Win98就不一样了,它的代码混合了16位和32位,所以里面同时存在rundll32和rundll两个程序。
这也是为啥Win98的系统文件夹叫System,到了Win2000/XP就变成了System32,因为这个时候的System文件夹其实是为兼容16位程序准备的。
那问题来了,rundll.exe是病毒吗?不管是rundll32还是rundll,它们本身都不能干啥事,必须得在后面加上具体的dll文件才能干活。所以在任务管理器里看到rundll32进程的时候,其实真正干活的是它调用的那个dll。
你可以用一些进程查看工具(比如我们杂志之前介绍过的),来查清楚它到底加载了哪些dll。有些木马确实会伪装成rundll32调用dll的形式运行,但大多数时候它调用的都是系统的dll,不用太慌。
另外提醒一句,有些病毒喜欢起个跟系统进程差不多的名字来忽悠人,所以一定要确认你看到的rundll32.exe是在C:WindowsSystem32目录下,而且文件名没被改过。
话说回来,那些高手是怎么找到合适的dll参数的?
先说下rundll32.exe和rundll.exe有啥区别。简单来说,rundll就是run dll的组合,意思就是运行那些不能单独运行的dll文件。而rundll32,顾名思义就是用来跑32位的dll文件的。
像Win2000、XP这些NT内核系统,代码都是纯32位的,所以系统里压根就没有rundll.exe这个程序。但Win98就不一样了,它的代码混合了16位和32位,所以里面同时存在rundll32和rundll两个程序。
这也是为啥Win98的系统文件夹叫System,到了Win2000/XP就变成了System32,因为这个时候的System文件夹其实是为兼容16位程序准备的。
那问题来了,rundll.exe是病毒吗?不管是rundll32还是rundll,它们本身都不能干啥事,必须得在后面加上具体的dll文件才能干活。所以在任务管理器里看到rundll32进程的时候,其实真正干活的是它调用的那个dll。
你可以用一些进程查看工具(比如我们杂志之前介绍过的),来查清楚它到底加载了哪些dll。有些木马确实会伪装成rundll32调用dll的形式运行,但大多数时候它调用的都是系统的dll,不用太慌。
另外提醒一句,有些病毒喜欢起个跟系统进程差不多的名字来忽悠人,所以一定要确认你看到的rundll32.exe是在C:WindowsSystem32目录下,而且文件名没被改过。
话说回来,那些高手是怎么找到合适的dll参数的?