Kimi's NutShell

          我荒廢的今日,正是昨日殞身之人祈求的明日

          BlogJava 新隨筆 管理
            141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks
          ? 早上來上班,裝了一個主題,結果讓我explorer.exe無法正常起來,桌面看不到,只能用任務管理器來做一些事情。
          ?解決方法: 下載了新的explorer.exe,覆蓋,搞定。費神!
          ————————————————————————

          Rundll32.exe, 顧名思義,“執行32位的DLL文件”。它的作用是執行DLL文件中的內部函數,這樣在進程當中,只會有Rundll32.exe,而不會有DLL后門的進程,這樣,就實現了進程上的隱藏。如果看到系統中有多個Rundll32.exe,不必驚慌,這證明用Rundll32.exe啟動了多少個的DLL文件。當然,這些Rundll32.exe執行的DLL文件是什么,我們都可以從系統自動加載的地方找到。

          Rundll32.exe使用的函數原型:
          Void CALLBACK FunctionName (
          HWND hwnd,
          HINSTANCE hinst,
          LPTSTR lpCmdLine,
          Int nCmdShow
          );

          其命令行下的使用方法為:Rundll32.exe DLLname,Functionname [Arguments]
          DLLname為需要執行的DLL文件名;Functionname為前邊需要執行的DLL文件的具體引出函數;[Arguments]為引出函數的具體參數。


          利用rundll32重啟機器的實驗 : 點擊“開始-程式-Ms-Dos方式”,進入Dos視窗,然后鍵入rundll32.exe user.exe,restartwindows,再按下回車鍵,這時你將看到,機器被重啟了!

          RUNDLL.EXE
          這里要注意三點:1.Dll檔案名中不能含有空格,比如該檔案位於c:\ProgramFiles\目錄,你要把這個路徑改成c:\Progra~1\;2.Dll檔案名與Dll入口點間的逗號不能少,否則程式將出錯并且不會給出任何資訊!3.這是最重要的一點:Rundll不能用來呼叫含返回值參數的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一條執行外部程式的指令Shell,格式為:
          Shell “命令列”
          如果能配合Rundll32.exe用好Shell指令,會使您的VB程式擁有用其他方法難以甚至無法實現的效果:仍以重啟為例,傳統的方法需要你在VB工程中先建立一個模組,然后寫入WinAPI的聲明,最后才能在程式中呼叫。而現在只需一句:

          Shell “rundll32.exe user.exe,restartwindows”就搞定了!

          實際上,Rundll32.exe在呼叫各種Windows控制面板和系統選項方面有著獨特的優勢。
          命令列: rundll32.exe shell32.dll,Control_RunDLL
          功能: 顯示控制面板
          命令列: rundll32.exe shell32.dll,Control_RunDLL Access.cpl,,1
          功能: 顯示“控制面板-輔助選項-鍵盤”選項視窗
          命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
          功能: 顯示“控制面板-輔助選項-聲音”選項視窗
          命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
          功能: 顯示“控制面板-輔助選項-顯示”選項視窗
          命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
          功能: 顯示“控制面板-輔助選項-滑鼠”選項視窗
          命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
          功能: 顯示“控制面板-輔助選項-傳統”選項視窗
          命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
          功能: 執行“控制面板-添加新硬體”向導。
          命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
          功能: 執行“控制面板-添加新印表機”向導。
          命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
          功能: 顯示 “控制面板-添加/刪除程式-安裝/卸載” 面板。
          命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
          功能: 顯示 “控制面板-添加/刪除程式-安裝Windows” 面板。
          命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
          功能: 顯示 “控制面板-添加/刪除程式-啟動盤” 面板。
          命令列: rundll32.exe syncui.dll,Briefcase_Create
          功能: 在桌面上建立一個新的“我的公文包”。
          命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll
          功能: 顯示復制軟碟視窗
          命令列: rundll32.exe apwiz.cpl,NewLinkHere %1
          功能: 顯示“建立快捷方式”的對話框,所建立的快捷方式的位置由%1參數決定。
          命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
          功能: 顯示“日期與時間”選項視窗。
          命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
          功能: 顯示“時區”選項視窗。
          命令列: rundll32.exe rnaui.dll,RnaDial [某個撥號連接的名稱]
          功能: 顯示某個撥號連接的撥號視窗。如果已經撥號連接,則顯示目前的連接狀態的視窗。
          命令列: rundll32.exe rnaui.dll,RnaWizard
          功能: 顯示“新建撥號連接”向導的視窗。
          命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
          功能: 顯示“顯示屬性-背景”選項視窗。
          命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
          功能: 顯示“顯示屬性-螢屏保護”選項視窗。
          命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2

          posted on 2007-08-01 09:59 Kimi 閱讀(256) 評論(0)  編輯  收藏 所屬分類: OS
          主站蜘蛛池模板: 靖远县| 广东省| 贵德县| 天水市| 庆云县| 东山县| 阳谷县| 南城县| 成安县| 隆化县| 措美县| 玉林市| 乐陵市| 舟曲县| 鲁山县| 高阳县| 靖西县| 石河子市| 建始县| 莫力| 兴城市| 吉水县| 梁平县| 紫阳县| 手游| 县级市| 吴桥县| 富锦市| 呼玛县| 益阳市| 蓬莱市| 鹿邑县| 舞阳县| 怀远县| 寿阳县| 盐池县| 长沙市| 乌兰察布市| 五河县| 泾源县| 修水县|