|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2005-05-12, 03:24 AM | #1 |
榮譽會員
|
安全小知識:Rundll.exe是病毒嗎?DLL的連結?
安全小知識:Rundll.exe是病毒嗎?
經常聽到有些朋友說:呀!系統的註冊表啟動項目有rundll32.exe,系統工作也有rundll32.exe,是不是病毒呀?其實,這是對rundll32.exe接頭不瞭解,它的原理非常簡單,瞭解並掌握其原理對於我們平時的套用非常有用,如果能理解了原理,我們就能活學活用,自己挖掘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 功能:啟動軟碟複製視窗 Q: 那怎麼能又怎看到一個exe文件上連線了哪些動態庫文件啊? -------------------------------------------------------------------------------- 有時為了拷貝一個軟體裡的某個工具,但只拷出它的可執行文件可能還不行,有時還連線著許多的動態文件及相關文件. 我要怎麼能看到一個exe文件上連線了哪些動態庫文件啊? A: 用EXESCOPE查引exe的資源,引入表能查到靜態連接的DLL,如果想全的話,將程序執行,用PROCESS EXPLORER檢視工作內的DLL,不過要有一些經驗,因為有許多是系統DLL或是共享DLL。 前一直是用這個軟體"Wise Installation System 9.02",它是一個安裝製作軟體.有一項功能就是監視程序執行,並記錄打包所需文件我想它對發帖主可能是比較適合的... 如果想做成綠色版,一個是在軟體裡手工拷貝,或是做成安裝文件後,安裝到另一個目錄裡(系統目錄的文件還是要拷貝的).還有..Dll Show...是個標準查看 http://www.gregorybraun.com/DLLShow.html 漢化新世紀好像有漢化版本 0.53的(最新應該是0.54) 如你有安裝 MS vc6 的tool - depends...這也不錯! Dependency Walker http://www.dependencywalker.com/ 比較綠色而且小巧免費,很實用的小工具,有Dependency Walker 或是...用VC附帶的工具就可以 dumpbin /imports test.exe |
__________________ |
|
送花文章: 3,
|
2006-01-27, 11:46 PM | #2 (permalink) |
榮譽會員
|
解決「CPU使用100%」,「RUNDLL32.EXE」竟佔「70%」,電腦極近當機現象。
IE的工作列被幾個流氓軟體搞得一塌糊塗,一氣之下卸載了以後,發現電腦使一會兒就變的極慢無比,就像是當機了。 開啟「工作管理器」視窗,發現「CPU使用100%」;看「工作」,發現其中有一項「RUNDLL32.EXE」竟佔了「70%」。 試圖將其「結束工作」,卻怎麼也結束不了。 懷疑是中毒了,於是用殺毒軟體開始殺毒。但是,無論是在WINDOWS下還是在DOS下都殺不到任何病毒。 用字串串「RUNDLL32.EXE」在網上搜了一下,發現竟然遇到此問題的大有人在,其提供的最有效辦法,大概就算是:F&S了。 解釋一下:「F&S」就是:「Format AND Setup」。 不過,也有人提出通過關閉「RUNDLL32.EXE」的啟動項目解決,這個方法也許不錯。 於是,→開始→執行→按鍵輸入「msconfig」→確定→開啟「系統組態實用程序」視窗→啟動; 檢視「RUNDLL32.EXE」的啟動項目,發現有好幾條,正不知道該關閉拿條時,看到有一條竟然指向已被卸載的流氓軟體「3721」的目錄,沒商量,就是他了。 開啟檔案總管,發現「3721」雖然已卸載,但還殘存有目錄,找到「C:\Program Files\3721」目錄,將其移除。 然後,為了斬草除根,→開始→執行→按鍵輸入「regedit」→確定→開啟「註冊表編輯器」視窗;搜尋並移除所有包含「3721」的項目。 完成後,重啟電腦。 試了試,......執行正常,沒問題了。 |
送花文章: 3,
|
2006-02-04, 10:25 PM | #3 (permalink) |
榮譽會員
|
區別Rundll32.exe和Rundll.exe
Rundll32.exe和Rundll.exe的區別 經常聽到有些朋友說: 呀!系統的註冊表啟動項目有rundll32.exe,系統工作也有rundll32.exe,是不是病毒呀?其實,這是對rundll32.exe接頭不瞭解,它的原理非常簡單,瞭解並掌握其原理對於我們平時的套用非常有用,如果能理解了原理,我們就能活學活用,自己挖掘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。 有些木馬是利用Rundll32.exe載入DLL形式執行的,但大多數情況下Rundll32.exe都是載入系統的DLL文件,不用太擔心。另外要提起的是,有些病毒木馬利用名字與系統一般工作相似或相同特點,瞞騙用戶。所以,要確定所執行的Rundll32.exe是在%systemroot%\system32目錄下的,注意檔案名稱也沒有變化。 |
送花文章: 3,
|