古詩詞大全網 - 成語查詢 - rundll32.exe是什麽

rundll32.exe是什麽

動態鏈接庫函數啟動器——Rundll32

它是壹個動態接口,它的原理非常簡單,了解並掌握其原理對於我們平時的應用非常有用,如果能理解了原理,我們就能活學活用,自己挖掘DLL參數應用技巧。

Rundll32.exe和Rundll.exe的區別

所謂Rundll.exe,可以把它分成兩部分,Run(運行)和DLL(動態數據庫),所以,此程序的功能是運行那些不能作為程序單獨運行的DLL文件。而Rundll32.exe則用來運行32位DLL文件。Windows 2000/XP都是NT內核系統,其代碼都是純32位的,所以在這兩個系統中,就沒有rundll.exe這個程序。

相反,Windows 98代碼夾雜著16位和32位,所以同時具有Rundll32.exe和Rundll.exe兩個程序。這就是為什麽Windows 98的System文件夾為主系統文件夾,而到了Windows 2000/XP時就變成System32為主系統文件夾(這時的System文件夾是為兼容16位代碼設立的)。

Rundll.exe是病毒?

無論是Rundll32.exe或Rundll.exe,獨立運行都是毫無作用的,要在程序後面指定加載DLL文件。在Windows的任務管理器中,我們只能看到rundll32.exe進程,而其實質是調用的DLL。我們可以利用進程管理器等軟件(本刊2004年21期有介紹)來查看它具體運行了哪些DLL文件。

有些木馬是利用Rundll32.exe加載DLL形式運行的,但大多數情況下Rundll32.exe都是加載系統的DLL文件,不用太擔心。另外要提起的是,有些病毒木馬利用名字與系統常見進程相似或相同特點,瞞騙用戶。所以,要確定所運行的Rundll32.exe是在%systemroot%system32目錄下的,註意文件名稱也沒有變化。

例如rundll32.exe shell32.dll,Control_RunDLL,取代了冗長的“開始→設置→控制面板" 分析這個命令可以知道,其實就是運行Rundll32.exe程序,指定它加載shell32.dll文件,而逗號後面的則是這個DLL的參數。了解了其原理,下面就可以自己挖掘出很多平時罕為人知的參數了。

第壹步:運行eXeScope軟件,打開壹個某個DLL文件,例如shell32.dll。

第二步:選擇“導出→SHELL32.DLL”,在右邊窗口就可以看到此DLL文件的參數了。

第三步:這些參數的作用壹般可以從字面上得知,所以不用專業知識。要註意的是,參數是區分大小寫的,在運行時壹定要正確輸入,否則會出錯。現在隨便找壹個參數,例如RestartDialog,從字面上理解應該是重啟對話框。組合成壹個命令,就是Rundll32.exe shell32.dll,RestartDialog ,運行後可以看見平時熟悉的Windows重啟對話框。

現在,我們已經學會了利用反編譯軟件來獲取DLL文件中的參數,所以以後看到別人的壹個命令,可以從調用的DLL文件中獲取更多的命令。自己摸索,妳就能了解更多調用DLL文件的參數了。

常用的rundll32參數

命令: rundll32.exe shell32.dll,Control_RunDLL

功能: 顯示控制面板

命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1

功能: 顯示“控制面板→輔助選項→鍵盤”

命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1

功能: 執行“控制面板→添加新硬件”

命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter

功能: 執行“控制面板→添加新打印機”

命令:rundll32.exe DISKCOPY.DLL,DiskCopyRunDll

功能:啟動軟盤復制窗口