Rundll32解密

Rundll32解密
[ 作者:Heelen | 转贴自:本站原创 | 点击数:45 | 更新时间:2005-2-20 | 文章录入:Heelen ]

平时很常听到有些朋友说:呀,我系统的注册表启动项目有rundll32.exe,系统进程也有rundll32.exe,是不是病毒呀?这是对rundll32.exe接口不了解,其实其原理非常简单,了解并掌握其原理对于我们平时的应用非常有用,特别是后面介绍的一些DLL参数应用技巧,理解了原理我们就能自己挖掘命令参数。
一、Rundll32.exe和Rundll.exe的区别
    所谓Rundll,我们可以把它猜成两部分,run(运行)和DLL(动态数据库),所以此程序的功能是运行那些不能作为程序那样单独运行的DLL文件;而Rundll32,是运行32位DLL的程序。WinNT、Windows2000和WindowsXP都是NT内核系统,其代码都是纯32位的,所以在这两个系统中,就没有rundll.exe这个程序。相反,Windows98代码夹杂着16位和32位,所以同时具有Rundll32.exe和Rundll.exe两个程序。所以这就为什么Windows98的System文件夹为主系统文件夹,而到了WinNT、Windows2000、WindowsXP时就变成System32为主系统文件夹(这时的system文件夹是为兼容16位代码设立的)
    无论是Rundll32.exe或Rundll.exe,独立运行都是毫无作用的,要在程序后面指定加载DLL文件。在Windows的任务管理器中,我们只能看到rundll32.exe进程,而其实质是调用的DLL,所以需利用procexp.exe等软件来查看它具体运行了哪些DLL文件。有些木马是利用Rundll32.exe加载DLL形式运行的,但大多数情况下rundll32.exe都是加载系统的DLL文件,可以不用太担心。另外要提起的是,有些病毒木马利用名字与系统常见进程相似或相同特点,瞒骗用户。所以要确定所运行的rundll32.exe乃%systemroot%/system32目录下的。
二、挖掘DLL的命令参数。
相信大家在论坛上很常看见那些高手给出的一些参数,如rundll32.exe shell32.dll,Control_RunDLL,取代了兀长的“开始”——“设置”——“控制面板”,作为菜鸟的我们心里一定痒痒的。分析上面的命令我们可以知道,其实就是运行rundll32.exe程序,指定它加载shell32.dll文件,而逗号后面的则是这个DLL的接入点,可以说是参数。了解了其原理,下面我们就可以自己挖掘出很多平时罕为人知的参数。
step1:运行eXeScope,打开一个某个DLL文件,例如shell32.dll,选择“导出”——“SHELL32.DLL”,在右边窗口可以就看到此DLL文件的参数了(如图1)。
step2:这些参数的作用我们一般可以从字面上得知,所以不用专业知识。这里要注意的是,参数是区分大小写的,所以在运行时一定要正确输入,否则会出错。现在我们随便找一个参数,例如RestartDialog,从字面上理解应该是重新启动的对话框。组合成一个命令,就是 rundll32.exe shell32.dll,RestartDialog ,运行后可以看见平时熟悉的重新启动确认框。

   现在,我们已经学会了利用反编译软件来获取DLL文件中的参数,所以以后看到别人的一个命令,可以从调用的DLL文件中获取更多的命令;或者自己摸索,了解更多可以用Rundll32.exe调用的DLL文件及其参数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值