|
 
- 帖子
- 52
- 积分
- 613
- 管庄币
- 531 元
- 注册时间
- 2007-2-1
- 最后登录
- 2008-5-22
|
6#
发表于 2007-2-1 14:16
| 只看该作者
19.RUNDLL32.EXE
2 \8 V( |. E( Z* ZRUNDLL32.EXE 是什么程序Rundll32.exe是什么?
# Y, Z+ b& z1 T4 `4 q1 K! y; B( E顾名思意,“执行32位的DLL文件”。它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有 Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个Rundll32.exe,不必惊慌,这证明用 Rundll32.exe启动了多少个的DLL文件。当然,这些Rundll32.exe执行的DLL文件是什么,我们都可以从系统自动加载的地方找到。现在,我来介绍一下Rundll32.exe这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。系统中还有一个 Rundll.exe文件,他的意思是“执行16位的DLL文件”,这里要注意一下。在来看看Rundll32.exe使用的函数原型: VoidCALLBACKFunctionName(HWNDhwnd,HINSTANCEhinst,LPTSTRlpCmdLine,IntnCmdShow); 其命令行下的使用方法为:Rundll32.exeDLLname,Functionname[Arguments]DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。) ^6 f+ x5 Z! X5 h% g# M
# `4 h1 m0 B7 l& _% M) z& O7 Z& N
略谈Rundll32.exe 的作用(我是菜鸟)
$ g- T5 z( v- i. p0 M n常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个档案不会陌生吧,不过,由於这两个程式的功能原先只限於在微软内部使用,因而真正知道如何使用它们的朋友想必不多。那么好,如果你还不清楚的话,那么就让我来告诉你吧。首先,请你做个小实验(请事先保存好你正在执行的程式的结果,否则...):点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入 rundll32.exeuser.exe,restartwindows,再按下回车键,这时你将看到,机器被重启了!怎么样,是不是很有趣?当然, Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库,Rundll32.exe与Rundll.exe的区别就在於前者是呼叫32位的链结库,而後者是运用於16位的链结库,它们的命令格式是: RUNDLL.EXE,,这里要注意三点:1.Dll档案名中不能含有空格,比如该档案位於c:\ProgramFiles\目录,你要把这个路径改成 c:\Progra~1\;2.Dll档案名与Dll入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!3.这是最重要的一点:Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在VisualBasic中,提供了一条执行外部程式的指令Shell,格式为:Shell“命令列”如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句:Shell“rundll32.exeuser.exe,restartwindows”就搞定了!是不是方便多了?实际上, Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。' t p( n3 l2 z/ }$ A3 y3 {# b" N2 L
) ^# B3 r2 X( B! V
下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多呼叫WindowsAPI的时间!!),供大家在程式设计中引用:
; W! I# c/ t, J" n1 q命令列: rundll32.exeshell32.dll,Control_RunDLL功能:显示控制面板# f+ ], k5 w; Q. y: E; G
命令列: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,1功能:显示“控制面板-辅助选项-键盘”选项视窗
2 U+ G$ r K. n4 D i- @命令列:rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,2功能:显示“控制面板-辅助选项-声音”选项视窗9 h8 o/ f Z6 w
命令列:rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,3功能:显示“控制面板-辅助选项-显示”选项视窗
2 {( F T# r- y) F0 [; @命令列:rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,4功能: 显示“控制面板-辅助选项-滑鼠”选项视窗) d! g) Q- V+ w1 A' L# v
命令列:rundll32.exeshell32.dll, Control_RunDLLaccess.cpl,,5功能:显示“控制面板-辅助选项-传统”选项视窗
3 B: Y; O M$ j [- s命令列: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl@1功能:执行“控制面板-添加新硬体”向导。$ E {; {8 j* w/ ^8 x1 w" H
命令列:rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLAddPrinter功能:执行“控制面板-添加新印表机”向导。" z0 W5 R$ [0 T+ z8 |! P7 ^& v
命令列:rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,1功能:显示“控制面板-添加/删除程式-安装/卸载”面板。
) U% U0 H- k5 U2 O# i2 j8 A$ Q命令列:rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,, 2功能:显示“控制面板-添加/删除程式-安装Windows”面板。$ C3 d3 {) X/ a. K5 `; b
命令列:rundll32.exeshell32.dll, Control_RunDLLappwiz.cpl,,3功能:显示“控制面板-添加/删除程式-启动盘”面板。
7 W5 I- a5 X( Z" W命令列: rundll32.exesyncui.dll,Briefcase_Create功能:在桌面上建立一个新的“我的公文包”。' `4 M( H! N4 l% U) J7 l" y
命令列: rundll32.exediskcopy.dll,DiskCopyRunDll功能:显示复制软碟视窗
# x" e! |% t* J7 v* b命令列: rundll32.exeapwiz.cpl,NewLinkHere%1功能:显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。
# k6 w. q; @; ~) q: E: ?) V* j命令列:rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,0功能:显示“日期与时间”选项视窗。
' L" Z" k) x0 N* g0 J* I6 d命令列:rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,1功能:显示“时区”选项视窗。9 J( y& d; D; }, h6 F1 N- Y
命令列:rundll32.exernaui.dll,RnaDial[某个拨号连接的名称]功能:显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。3 F# C5 j" a4 J8 h: f) H ]3 @
命令列:rundll32.exernaui.dll,RnaWizard功能:显示“新建拨号连接”向导的视窗。
% Z s5 O7 z7 S( i命令列: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,0功能:显示“显示属性-背景”选项视窗。5 o+ X1 w2 ^- l/ p1 |) Z S r
命令列: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,1功能:显示“显示属性-萤屏保护”选项视窗。
* C/ r. p& S# X, p$ _- ~- t命令列:rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,2功能:显示“显示属性-外观”选项视窗。
3 U5 A3 u# v* _0 |命令列:rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,3功能:显示显示“显示属性-属性”选项视窗。
9 c3 ^9 }# W- y; L% S命令列:rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLFontsFolder功能:显示 Windows的“字体”档案夹。5 {0 k' @5 h' X9 V0 j
命令列:rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3功能:同样是显示Windows的“字体”档案夹。9 e) G( a( P: a0 |% J
命令列:rundll32.exeshell32.dll,SHformatDrive功能:显示格式化软碟对话框。4 k" g, M7 ?5 o. D; a+ G* d
命令列:rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,0功能:显示“控制面板-游戏控制器-一般”选项视窗。
1 a! E( e0 X% S命令列:rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,1功能:显示“控制面板-游戏控制器-进阶”选项视窗。% ?8 C; I6 _6 M9 q3 N2 {1 A/ ^1 c
命令列:rundll32.exemshtml.dll,PrintHTML(HTML文档)功能:列印HTML文档。
. O4 ^' @6 `7 _' E( A2 `命令列:rundll32.exeshell32.dll,Control_RunDLLmlcfg32.cpl功能:显示 MicrosoftExchange一般选项视窗。" Z0 ~8 i# [! K, l4 k5 i/ k/ P
命令列:rundll32.exeshell32.dll, Control_RunDLLmain.cpl@0功能:显示“控制面板-滑鼠”选项。
. t% v2 d! P# ~* T命令列:rundll32.exeshell32.dll, Control_RunDLLmain.cpl@1功能:显示“控制面板-键盘属性-速度”选项视窗。
& B0 y5 X N. v) A% E. M命令列: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@1,,1功能:显示“控制面板-键盘属性-语言”选项视窗。$ P0 O! D) n( g; Q) ~5 K
命令列:rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2功能:显示Windows“印表机” 档案夹。3 V5 T4 K! q$ I2 \& r! Y8 m
命令列:rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3功能:显示Windows“字体” 档案夹。
+ D9 C3 K# h) @命令列:rundll32.exeshell32.dll,Control_RunDLLmain.cpl@4功能:显示“控制面板-输入法属性-输入法”选项视窗。
" N& e0 ]3 [! a命令列:rundll32.exeshell32.dll,Control_RunDLLmodem.cpl,,add功能:执行 “添加新调制解调器”向导。
0 p# `4 h2 Y) |2 v命令列:rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,0功能:显示 “控制面板-多媒体属性-音频”属性页。6 k& p7 O1 ?& Z: b9 b
命令列:rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,, 1功能:显示“控制面板-多媒体属性-视频”属性页。- |! J$ e) @# B
命令列:rundll32.exeshell32.dll, Control_RunDLLmmsys.cpl,,2功能:显示“控制面板-多媒体属性-MIDI”属性页。
+ Y3 q. W4 Y3 j/ C5 x/ w命令列: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,3功能:显示“控制面板-多媒体属性-CD音乐” 属性页。
Z; I2 U4 m) ^* J2 f. d; O2 `命令列:rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,4功能:显示“控制面板-多媒体属性-设备”属性页。( H" k- J- i- v) W" H
命令列:rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl@1功能:显示“控制面板-声音”选项视窗。
9 ]: ~: A' w1 F( y7 @; F命令列:rundll32.exeshell32.dll,Control_RunDLLnetcpl.cpl功能:显示“控制面板-网路”选项视窗。# A3 d$ Y4 B# x' s1 ~0 P
命令列:rundll32.exeshell32.dll,Control_RunDLLodb无党派人士32.cpl功能:显示 ODBC32资料管理选项视窗。
4 i3 ~% z* v: p$ |命令列:rundll32.exeshell32.dll,OpenAs_RunDLL{drive:\path\ filename}功能:显示指定档案(drive:\path\filename)的“打开方式”对话框。
4 {1 I+ { u0 T1 n: X命令列: rundll32.exeshell32.dll,Control_RunDLLpassword.cpl功能:显示“控制面板-密码”选项视窗。
- K+ f Q: V4 ^# e0 q命令列:rundll32.exeshell32.dll,Control_RunDLLpowercfg.cpl功能:显示“控制面板-电源管理属性”选项视窗。
8 d% {1 o) ^7 o" q! H ~8 b命令列:rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLPrintersFolder功能:显示 Windows“印表机”档案夹。(同rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2)1 J/ V I2 x- u2 U$ ~+ q5 N
命令列: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,0功能:显示“控制面板-区域设置属性-区域设置” 选项视窗。, H3 p" z3 w1 w* v) M
命令列:rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,1功能:显示“控制面板-区域设置属性-数字”选项视窗。- W( ?! p! o* r/ _
命令列:rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,2功能:显示“控制面板-区域设置属性-货币”选项视窗。" A: q% B; z6 ~( A3 f/ q6 {7 U9 n V! I
命令列:rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,3 功能:显示“控制面板-区域设置属性-时间”选项视窗。" r- V; ~3 j) k/ b& f
命令列:rundll32.exeshell32.dll, Control_RunDLLintl.cpl,,4功能:显示“控制面板-区域设置属性-日期”选项视窗。
! i" m+ Q- O4 ?9 u, t0 b* ~命令列: rundll32.exedesk.cpl,InstallScreenSaver[萤屏保护档案名]功能:将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性视窗。
. L0 Q, g8 E" S4 z2 c# O" C7 B/ R命令列:rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,0功能: 显示“控制面板-系统属性-传统”属性视窗。
" i) h- m. w0 j, t命令列:rundll32.exeshell32.dll, Control_RunDLLsysdm.cpl,,1功能:显示“控制面板-系统属性-设备管理器”属性视窗。
M8 W) H( }2 E u$ u% \! j$ c命令列: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,2功能:显示“控制面板-系统属性-硬体配置档案”属性视窗。
' H0 T: h, f$ u( {$ `命令列:rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,3功能:显示“控制面板-系统属性-性能”属性视窗。9 A( ?' ~0 l2 E7 z. E! m! m7 {
命令列:rundll32.exeuser.exe,restartwindows功能:强行关闭所有程式并重启机器。% p1 Q7 m3 p8 i; e
命令列:rundll32.exeuser.exe,exitwindows功能:强行关闭所有程式并关机。 I+ N1 N) C$ n$ p$ A
命令列: rundll32.exeshell32.dll,Control_RunDLLtelephon.cpl功能:显示“拨号属性”选项视窗" q; V6 h' T2 p1 F* {, H* o- n5 f
命令列: rundll32.exeshell32.dll,Control_RunDLLthemes.cpl功能:显示“桌面主旨”选项面板当然,不止是 VisualBasic,象Delphi.VisualC++等其他程式设计语言也可以通过呼叫外部命令的方法来使用Rundll的这些功能,具体方法这里就不再详细叙述了。灵活的使用Rundll,一定会使你的程式设计轻轻松松,达到事半功倍的效果!! y5 q) }) X# H1 c# R, ?; E( U4 s
! W* E q$ K# y3 d Z[ 本帖最后由 cbmtclhb 于 2007-2-1 14:21 编辑 ] |
|