那天正剪着视频,电脑突然卡成PPT了,任务管理器一打开,好家伙,一排“*”在那儿列队吃资源!我这暴脾气,差点就给它来个“结束任务”全家桶。
第一反应:又是啥流氓软件?
头一个念头,肯定是哪个鬼东西在后台作妖。赶紧点开详细,看看“命令行”那一栏——嚯!后面跟着一长串路径,还带.dll后缀的玩意儿,花里胡哨,啥名都有!这咋查?跟天书似的。
手贱搜了下其中一个.dll名,结果跳出来一堆杀毒论坛,有人说这是挖矿木马,有人说是广告插件...看得我头皮发麻。当时真以为机器中招了,连杀毒软件都顾不上信任,直接下载了俩扫描器轮番轰炸。
瞎折腾半天,发现搞错方向了
扫了快一个钟头,硬盘灯闪得跟蹦迪一样,结果屁都没扫出来!冷静下来琢磨琢磨,要真是病毒,咋可能只派一个“rundll32”出战?这货看着也太老实了,就光吭哧吭哧吃CPU,其他啥坏事也没干(暂时)。
硬着头皮点开它的属性,定位到那个.dll文件位置——好家伙,全在系统盘里躺着!有些在Windows/System32下,有些在程序安装目录里。这下明白了,它就是个跑腿的!别的软件要调用点系统里现成的功能模块(.dll),自个儿不方便露面,就找“*”出来顶包干活。
一个意外操作,真相大白
正好腾讯会议那个直播推流.dll又挂在“rundll32”上偷摸运行,我脑子一抽筋,试着直接删那个.dll想看看有啥报错(千万别学我!真删了直播就废了!)。手快取消后,好奇心彻底被勾起来了——到底是谁在指挥“rundll32”干活?
- 用“Autoruns”这个工具看开机启动项:过滤出所有“.dll”启动的,发现一大堆!有些是显卡驱动,有些是声卡控制面板,甚至鼠标宏都挂上它了。
- 用“Process Explorer”这个更猛的:盯着一个“*”进程右键“属性”,在“线程”标签页里,终于逮到了调用它的“亲爹”进程!原来是我开着视频剪辑软件里某个插件调用的硬件编码加速库,挂靠在“rundll32”名下。
折腾到这儿总算搞清楚了:rundll32就是个工具人!系统里一堆软件想用公共功能,自己懒得(或者不能)启动独立进程,就喊它出来“借个身子”用用。看着一堆名字,都是临时工,干完活(或者不需要时)它就消停了。
后怕:差点把自己电脑搞废
中间最险的那次,在某个犄角旮旯的路径里看到个不认识.dll,直接右键“结束任务”连带着把“rundll32”关了。好家伙!屏幕瞬间黑屏两秒!显卡驱动相关进程也跟着躺了,吓得我鼠标都扔了!幸好系统自己又吭哧吭哧给重启起来了…从那以后再不敢手欠乱杀“rundll32”了,管它占多少资源!
总结下来就三点教训:
- 别看见“*”多就慌,十有八九是正经软件喊来干活的
- 真想查谁捣乱,得用专业工具顺藤摸瓜找后台“亲爹”
- 管住手!千万别乱结束任务或删.dll文件!血泪教训!
对了,那天怎么解决卡顿的?简单粗暴——我把电脑重启了。那群挂在“rundll32”身上的.dll后台,估计是哪个插件抽风占着资源不释放,重启全给清空重开,世界瞬间清净!你看,有时候最土的办法反而最好使。