『壹』 怎樣查看一個文件的腳本
查看源代碼:右鍵->查看源代碼查看腳本:文件—>另存為,保存所有,到保存的文件中找js的文件,就可以看到腳本的代碼了!
『貳』 怎樣查看和修改軟體的源代碼
exe文件信息一般不能直接更改,因為是編譯好的,並且一般都加了殼。
想改的話,得用脫殼了吧。不同的文件有可能用了不同的軟體加了殼。
用各類脫殼工具測試並脫殼後,再反編譯,有可能得到相關文件信息並更改。
(一)殼的概念
作者編好軟體後,編譯成exe可執行文件。 1.有一些版權信息需要保護起來,不想讓別人隨便改動,如作者的姓名,即為了保護軟體不被破解,通常都是採用加殼來進行保護。 2.需要把程序搞的小一點,從而方便使用。於是,需要用到一些軟體,它們能將exe可執行文件壓縮, 3.在黑客界給木馬等軟體加殼脫殼以躲避殺毒軟體。實現上述功能,這些軟體稱為加殼軟體。
(二)加殼軟體最常見的加殼軟體ASPACK ,UPX,PEcompact 不常用的加殼軟體WWPACK32;PE-PACK ;PETITE NEOLITE
(三)偵測殼和軟體所用編寫語言的軟體,因為脫殼之前要查他的殼的類型。 1.偵測殼的軟體fileinfo.exe 簡稱fi.exe(偵測殼的能力極強) 2.偵測殼和軟體所用編寫語言的軟體language.exe(兩個功能合為一體,很棒) 推薦language2000中文版(專門檢測加殼類型) 3.軟體常用編寫語言Delphi,VisualBasic(VB)---最難破,VisualC(VC)
(四)脫殼軟體。 軟體加殼是作者寫完軟體後,為了保護自己的代碼或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,當然有盾,自然就有矛,只要我們收集全常用脫殼工具,那就不怕他加殼了。軟體脫殼有手動脫和自動脫殼之分,下面我們先介紹自動脫殼,因為手動脫殼需要運用匯編語言,要跟蹤斷點等,不適合初學者,但我們在後邊將稍作介紹。
加殼一般屬於軟體加密,現在越來越多的軟體經過壓縮處理,給漢化帶來許多不便,軟體漢化愛好者也不得不學習掌握這種技能。現在脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求,涉及到很多匯編語言和軟體調試方面的知識。而自動就是用專門的脫殼工具來脫,最常用某種壓縮軟體都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,如:ASPACK,就需要UNASPACK對付,好處是簡單,缺點是版本更新了就沒用了。另外脫殼就是用專門的脫殼工具來對付,最流行的是PROCDUMP v1.62 ,可對付目前各種壓縮軟體的壓縮檔。在這里介紹的是一些通用的方法和工具,希望對大家有幫助。我們知道文件的加密方式,就可以使用不同的工具、不同的方法進行脫殼。下面是我們常常會碰到的加殼方式及簡單的脫殼措施,供大家參考: 脫殼的基本原則就是單步跟蹤,只能往前,不能往後。脫殼的一般流程是:查殼->尋找OEP->Dump->修復 找OEP的一般思路如下: 先看殼是加密殼還是壓縮殼,壓縮殼相對來說容易些,一般是沒有異常,找到對應的popad後就能到入口,跳到入口的方式一般為。 我們知道文件被一些壓縮加殼軟體加密,下一步我們就要分析加密軟體的名稱、版本。因為不同軟體甚至不同版本加的殼,脫殼處理的方法都不相同。
常用脫殼工具: 1、文件分析工具(偵測殼的類型):Fi,GetTyp,peid,pe-scan, 2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid 3、mp工具:IceDump,TRW,PEditor,ProcDump32,LordPE 4、PE文件編輯工具PEditor,ProcDump32,LordPE 5、重建Import Table工具:ImportREC,ReVirgin 6、ASProtect脫殼專用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只對ASPr V1.1有效),loader,peid(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脫殼就行了 (2)ASProtect+aspack:次之,國外的軟體多用它加殼,脫殼時需要用到SOFTICE+ICEDUMP,需要一定的專業知識,但最新版現在暫時沒有辦法。 (3)Upx: 可以用UPX本身來脫殼,但要注意版本是否一致,用-D 參數 (4)Armadill: 可以用SOFTICE+ICEDUMP脫殼,比較煩 (5)Dbpe: 國內比較好的加密軟體,新版本暫時不能脫,但可以破解 (6)NeoLite: 可以用自己來脫殼 (7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE來脫殼 (8)Pecompat: 用SOFTICE配合PEDUMP32來脫殼,但不要專業知識 (9)Petite: 有一部分的老版本可以用PEDUMP32直接脫殼,新版本脫殼時需要用到SOFTICE+ICEDUMP,需要一定的專業知識 (10)WWpack32: 和PECOMPACT一樣其實有一部分的老版本可以用PEDUMP32直接脫殼,不過有時候資源無法修改,也就無法漢化,所以最好還是用SOFTICE配合 PEDUMP32脫殼 我們通常都會使用Procmp32這個通用脫殼軟體,它是一個強大的脫殼軟體,他可以解開絕大部分的加密外殼,還有腳本功能可以使用腳本輕松解開特定外殼的加密文件。另外很多時候我們要用到exe可執行文件編輯軟體ultraedit。我們可以下載它的漢化注冊版本,它的注冊機可從網上搜到。ultraedit打開一個中文軟體,若加殼,許多漢字不能被認出 ultraedit打開一個中文軟體,若未加殼或已經脫殼,許多漢字能被認出 ultraedit可用來檢驗殼是否脫掉,以後它的用處還很多,請熟練掌握例如,可用它的替換功能替換作者的姓名為你的姓名注意位元組必須相等,兩個漢字替兩個,三個替三個,不足處在ultraedit編輯器左邊用00補。
常見的殼脫法:
(一)aspack殼 脫殼可用unaspack或caspr 1.unaspack ,使用方法類似lanuage,傻瓜式軟體,運行後選取待脫殼的軟體即可. 缺點:只能脫aspack早些時候版本的殼,不能脫高版本的殼 2.caspr第一種:待脫殼的軟體(如aa.exe)和caspr.exe位於同一目錄下,執行windows起始菜單的運行,鍵入 caspr aa.exe脫殼後的文件為aa.ex_,刪掉原來的aa.exe,將aa.ex_改名為aa.exe即可。使用方法類似fi 優點:可以脫aspack任何版本的殼,脫殼能力極強缺點:Dos界面。第二種:將aa.exe的圖標拖到caspr.exe的圖標上***若已偵測出是aspack殼,用unaspack脫殼出錯,說明是aspack高版本的殼,用caspr脫即可。 (二)upx殼 脫殼可用upx待脫殼的軟體(如aa.exe)和upx.exe位於同一目錄下,執行windows起始菜單的運行,鍵入upx -d aa.exe (三)PEcompact殼 脫殼用unpecompact 使用方法類似lanuage傻瓜式軟體,運行後選取待脫殼的軟體即可 (四)procmp 萬能脫殼但不精,一般不要用 使用方法:運行後,先指定殼的名稱,再選定欲脫殼軟體,確定即可脫殼後的文件大於原文件由於脫殼軟體很成熟,手動脫殼一般用不到。
三、壓縮與脫殼
現在脫殼一般分手動和自動兩種,手動就是用TRW2000、TR、SOFTICE等調試工具對付,對脫殼者有一定水平要求。而自動就稍好些,用專門的脫殼工具來脫,最常用某種壓縮軟體都有他人寫的反壓縮工具對應,有些壓縮工具自身能解壓,如UPX;有些不提供這功能,如:ASPACK,就需要UNASPACK對付。很多文件使用了一些壓縮加殼軟體加密過,這就需要對文件進行解壓脫殼處理後,才能漢化。這種壓縮與我們平時接觸的壓縮工具如winzip,winrar等壓縮不同,winzip和winrar等壓縮後的文件不能直接執行,而這種 EXE 壓縮軟體,EXE文件壓縮後,仍可以運行。這種壓縮工具把文件壓縮後,會在文件開頭一部分,加了一段解壓代碼。執行時該文件時,該代碼先執行解壓還原文件,不過這些都是在內存中完成的,由於微機速度快,我們基本感覺不出有什麼不同。這樣的程序很多,如 The bat,Acdsee,Winxfile等等。
要脫殼就應先了解常用壓縮工具有哪些,這樣知己知彼,如今越來越多的軟體商喜歡用壓縮方式發行自己的產品,如The bat!用UPX壓縮,ACDSEE3.0用ASPACK壓縮等。它有以下因素:一是:微機性能越來越好,執行過程中解壓使人感覺不出來,用戶能接受(給軟體加殼,類似WINZIP 的效果,只不過這個加殼壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼異常。因為軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼後的軟體運行速度的差別。)。 二是:壓縮後軟體體積縮小,便於網路傳輸。三是:增加破解的難度。首先,加殼軟體不同於一般的winzip,winrar等壓縮軟體.它是壓縮exe可執行文件的,壓縮後的文件可以直接運行.而winzip,winrar等壓縮軟體可壓縮任何文件,但壓縮後不能直接運行。很多站點不允許上傳可執行文件,而只能上傳壓縮的文件,一方面處於速度考慮,也是為了安全性考慮。用加殼軟體壓縮的文件就是體積縮小,別的性質沒改變。還是EXE文件,仍可執行,只是運行過程和以前不一樣了。壓縮工具把文件壓縮後,在文件開頭一部分,加了一段解壓代碼。執行時該文件時,該代碼先執行解壓還原文件,不過這些都是在內存中完成的,由於微機速度快,我們基本感覺不出有什麼不同。
『叄』 如何查看Procere的腳本
很多工具軟體具有很好的ORACLE腳本查看和編寫功能,如toad, 或者pl/sql developer,或者還有其他的資料庫工具,你不妨使用它們,注意支持正版。
如果使用這些工具有困難,從user_source查看也可,就是閱讀起來稍微麻煩一些。
『肆』 什麼是「腳本文件」
一、啥叫腳本呢?
其實就是一段代碼,作用就是:這些代碼通過你的瀏覽器來鼓搗一下你的機器。這樣,你就能通過點一下滑鼠就可以發點歡迎詞、發點情話啥地了。
腳本script是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。各類腳本目前被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當我們點擊網頁上的E-mail地址時能自動調用Outlook Express或Foxmail這類郵件軟體,就是通過腳本功能來實現的。又如洪恩網站�http�//www.hongen.com一些網頁的英文新聞內容旁會有一個三角符號,點擊它就可以聽到英文誦讀,這也是腳本在起作用。 也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。
解釋二
動態程序一般有兩種實現方式,一是二進制方式,一是腳本方式。
二進制方式是先將我們編寫的程序進行編譯,變成機器可識別的指令代碼(如.exe文件),然後再執行。這種編譯好的程序我們只能執行、使用,卻看不到他的程序內容。
腳本簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
我們上面提到的各種動態語言,如ASP、PHP、CGI、JSP等,都是腳本語言。
按目前的服務規則,虛擬主機網站只能採用腳本語言來實現
『伍』 linux系統中怎麼查看python腳本代碼
Python代碼文件用
文本編輯器
軟體打開就能查看了,文本編輯器軟體比較常見的有Vim和gedit,Vim是一個命令行的文本編輯器,如果新手用不好Vim,可以選擇gedit,gedit是幾乎每一種Linux發行版都自帶的軟體,是
圖形界面
的,在終端中輸入gedit就可以啟動它。
『陸』 解釋一下如何尋找腳本錯誤的文件,還有為什麼我的腳本會發生錯誤求大神幫助
腳本錯誤 ! 某個網頁可能會無法正常顯示或工作,您可能會收到一條類似於以下之一的錯誤消息: 該網頁上的問題可能使其無法正常顯示或功能不正常。以後,雙擊顯示在狀態欄中的警告圖標,就可以顯示上述消息。 如果您單擊「顯示詳細信息」,則會顯示類似於下面的錯誤詳細信息: Line:4 Char:1 Error:Object doesn』t support this property or method. Code:0 URL:http://Webserver/page.htm A Runtime Error has occured. Do you wish to Debug? Line:4 Error:Object doesn』t support this property or method. 下面的警告消息也可能出現在 Microsoft Internet Explorer「狀態」欄中: 已完畢,但網頁上有錯誤 出現此問題是因為該網頁的 HTML 源代碼不能使用客戶端腳本(如 Microsoft JScript 或 Visual basic 腳本)正確工作。發生此問題可能是因為以下原因之一: 網頁的 HTML 源代碼中有問題。 您的計算機或網路上阻止了活動腳本、ActiveX 控制項或 Java 小程序。Internet Explorer 或另外一種程序(如防病毒程序或防火牆)可以配置為阻止活動腳本、ActiveX 控制項或 Java 小程序 防病毒軟體配置為掃描您的「臨時 Internet 文件」或「已下載的程序文件」文件夾。 您計算機上的腳本引擎損壞或過時。 您計算機上的 Internet 相關文件夾損壞。 您的視頻卡驅動程序已損壞或者已過時。 您計算機上的 DirectX 組件損壞或過時。 注意:伺服器端腳本 -- 如 Active Server pages (ASp) 中的 Visual basic 腳本 -- 運行在 Web 伺服器上。因伺服器端腳本故障而發生的腳本錯誤不在 Internet Explorer 中生成錯誤消息,但也可能會創建一個不能正確顯示或工作的網頁。本文中的故障排除信息適用於伺服器端腳本錯誤。如果您懷疑伺服器端腳本有問題,請與 Web 伺服器的管理員聯系。 解決方案 使用本文中的故障排除方法時要按它們出現的順序進行。在您完成一個故障排除部分後,請進行測試以確定是否仍發生此腳本錯誤。如果問題已解決,則不必繼續下一部分。如果問題未解決,則繼續執行下一部分。 從另一個用戶帳戶、另一個瀏覽器和另一台計算機測試網頁 如果問題只在您查看一個或兩個網頁時發生,則從另一個用戶帳戶、另一個瀏覽器或另一台計算機查看這些網頁,以確定問題是否依然存在。如果腳本錯誤依然存在,則可能是網頁的編寫有問題。請與網站管理員或內容開發者聯系,告訴他們網頁存在的問題。如果從另一個用戶帳戶使用網頁時腳本錯誤未發生,則問題可能是您的用戶配置文件的文件或設置造成的。如果在從另一個瀏覽器或另一台計算機使用網頁時腳本錯誤未發生,則繼續進行故障排除操作。 確認活動腳本、ActiveX 和 Java 未被阻止 確認您計算機上的 Internet Explorer 或另外一種程序(如防病毒程序或防火牆)未配置為阻止活動腳本、ActiveX 控制項或 Java 小程序。在 Internet Explorer 的「高」安全級別,活動腳本、ActiveX 控制項和 Java 小程序被關閉。默認情況下,Internet Explorer 6 和某些 Internet Explorer 5.x 版本針對受限站點區域使用「高」安全級別。默認情況下,Microsoft Windows Server 2003 針對受限站點區域和 Internet 區域使用「高」安全級別。如要為當前網頁重置 Internet Explorer 安全設置,請按照下列步驟操作:1. 啟動 Internet Explorer。 2. 在「工具」菜單上,單擊「Internet 選項」。 3. 在「Internet 選項」對話框中,單擊「安全」。 4. 單擊「默認級別」。 5. 單擊「確定」。 請參見您使用的防病毒程序或防火牆的文檔資料,以確定如何打開腳本、ActiveX 和 Java 小程序。 確認您的防病毒程序未設置為掃描「臨時 Internet 文件」或「已下載的程序文件」文件夾 請參見您使用的防病毒程序的文檔資料,以確定如何防止該程序掃描「臨時 Internet 文件」或「已下載的程序文件」文件夾。 刪除所有臨時的 Internet 相關文件 從您的計算機中刪除所有臨時的 Internet 相關文件。為此,請按照下列步驟操作:1. 啟動 Internet Explorer。 2. 在「工具」菜單上,單擊「Internet 選項」。 3. 單擊「常規」選項卡。 4. 在「Internet 臨時文件」下,單擊「設置」。 5. 單擊「刪除文件」。 6. 單擊「確定」。 7. 單擊「刪除 Cookies」。 8. 單擊「確定」。 9. 在「歷史記錄」下,單擊「清除歷史記錄」,然後單擊「是」。 10. 單擊「確定」。
『柒』 昆侖通態軟體怎樣查看腳本
打開MCGS編輯器,就可以查看腳本信息。
MCGS是北京昆侖通態自動化軟體科技有限公司研發的一套基於Windows平台的,用於快速構造和生成上位機監控系統的組態軟體系統,主要完成現場數據的採集與監測、前端數據的處理與控制,可運行於Microsoft Windows 95/98/Me/NT/2000/xp等操作系統。
具有功能完善、操作簡便、可視性好、可維護性強的突出特點。通過與其他相關的硬體設備結合,可以快速、方便的開發各種用於現場採集、數據處理和控制的設備。用戶只需要通過簡單的模塊化組態就可構造自己的應用系統,如可以靈活組態各種智能儀表、數據採集模塊,無紙記錄儀、無人值守的現場採集站、人機界面等專用設備。
『捌』 當一個程序運行時怎樣查看這個程序啟動了哪些腳本文件
,偶們開始檢查當前進程,當前進程是什麼呢?當前進程就是現在所有正在運行的程序!查看當前進程,就是查看現在有哪些程序正在運行,如果有未知的程序呢?可能就是木馬了,因為通常木馬也是做為一個程序存在的。
怎麼看當前進程呢? 請藉助專業工具,實在沒有工具時,再同時按下Ctrl + Alt + Delete鍵調出任務管理器來查看。
那什麼樣子的程序是未知程序呢?
這里,我要再強調一下子,一定要找一個能夠對進程文件進行數字簽名驗證的進程查看工具,不然你無法區分某一進程是否為可疑進程,只憑文件名字是完全不夠用的。
如果一個進程不是系統進程,也不是你正在運行的某一程序的進程,那這個進程就是我們說的可疑進程。(不能通過數字簽名驗證的為非系統進程)
找到了可疑進程又如何呢?殺掉後刪除么?
NO,不要殺它~不殺的原因有三點:
1、殺掉它的結果是什麼,很難預料,如果其正在與其它程序或內核驅動進行交互,你殺它,很可能就是自殺,會把系統殺崩的。
2、殺掉並刪除它,並不會清除它寫入注冊表的啟動項,這樣每次開機時仍然會嘗試載入這個程序,雖然文件已經不在,無法使木馬運行,但每次的試圖載入,都是需要時間的,這也是系統變慢的一個原因所在。
3、最後,只憑上面的檢測,只能說明這個進程是可疑進程,但無法就此確認這就是木馬,所以,你現在殺掉它,很可能會誤殺~
那應該怎麼辦呢?答案是不理它,找到後,把文件名字記下來,然後進行下一步的檢查工作,暫時不要理它。
如果沒找到呢?
那說明,你的機器可能很乾凈,沒有木馬。
或者,木馬是進程隱藏或無進程木馬。
進程隱藏型的怎麼辦呢?
我們先了解一些木馬隱藏進程的手段~
當前流行的木馬隱藏進程的手段如下:
0、初級隱藏,查找任務管理器窗口枚舉子窗口找到列進程的列表框,把自己的名字抺去~,這種用一般專業工具即可查。
1、中級隱藏,HOOK Win32API 過濾掉馬兒自己的進程。只要是驅動級別的進程管理工具基本都可以查。
2、中高級隱藏,HOOK SSDT NtQuerySystemInformation,過濾掉馬兒自己的進程,具有恢復SSDT功能的驅動級工具可查。
3、次高級隱藏,INLINE HOOK SSDT,過濾掉自己進程,恢復INLINE的或直接枚舉進程鏈的可查。
4、准高級隱藏,自活動進程鏈中摘除自己的進程,基於線程調度鏈表檢測技術的工具可查。
5、高級隱藏,繞過內核調度鏈表隱藏進程,基於HOOK-KiReadyThread技術來檢測的工具可查。
對於隱藏進程,請使用具有相應功能的檢查工具來檢查~
當然了,我們也不一定死乞白咧的非要把木馬隱藏的進程找出來,實在找不出,就當沒有或當作無進程的木馬,直接進行下一步檢查就可以了。
因為,進程檢查只是檢查的手段之一,看不到、殺不掉木馬的進程,並不妨礙我們把木馬清掉。
OK,無論對進程的檢查結果如何,我們接下來都要開始下一步的檢查,模塊檢查!
參照圖如下:
下面的圖是一張進程檢查圖(請以數字簽名驗證的結果為主,以文件路徑名字為輔來判斷,瑞星殺毒軟體的進程不是系統進程,但通過文件名字與路徑,我們可以知道,這是瑞星的主控程序,呵呵,不要死心眼,要多方面結合起來判斷~ ^-^):
第二章 模塊篇
模塊是什麼?模塊,是指具備某一種或某一類功能的特殊功能模塊,其外在的表現形式通常為各種動態庫文件(通常以.dll為擴展名字)或插件文件(通常以.OCX為擴展名字)。它們由應用程序載入,來為程序提供某一特定的功能。
就像我們的電視機,如果加了一個衛星天線,就可以收到更多的節目一樣,衛星天線本身是與電視機無關的,但它一但被電視機所用,就可以為電視機提供額外的功能。衛星天線相對於電視機,也就是相當於模塊相對於程序。
每個進程都有幾個到上百個不等的模塊,每個模塊都有其特定的用途,當然了,如果某個模塊是木馬的話,也有其木馬用途。
當進程檢查流行起來,且檢查的越來越深入時,木馬的製造者們開始製作無進程木馬,木馬是做為一個模塊出現的,這樣它將不存在於進程列表中。無論你用何等高級的進程檢測技術都無法檢測到模塊木馬的存在。
一台電腦中,進程可能有十幾個或幾十個,但模塊卻有好幾百個,數量的增多也增加了我們檢測的難度。
對檢測工具的要求,仍然是需要具備數字簽名驗證的能力,否則手工從幾百個模塊文件中挑出木馬,真的很累~(木馬模塊的檢查,請看下面的圖)
找到後怎麼辦呢?
呵呵,上次有朋友遇到過這問題,結果是他用暴力手段給卸載並刪除了~,應該這樣處理么?
答案仍然是否定的!
不要暴力卸載並刪除~~原因么?原因先緩一緩再說,我們先了解一下兒模塊木馬的啟動運行機制,然後再解釋為什麼不要暴力卸載刪除。
模塊木馬分為兩種:一種是靜態載入的,一種是動態注入的。
靜態載入的,是把自己的木馬文件,在注冊表的某鍵下注冊,這樣,系統會在開機或運行某一程序時自動的載入在這一鍵下注冊的所有模塊,這樣,木馬就實現了進入到程序中,並執行其非法活動的目的。(在注冊表的哪些鍵下注冊可以讓系統載入,在後面的啟動項檢查中會有解釋)
動態載入的,這類木馬就是所謂的進程注入型木馬,它的實現不但需要有一個模塊文件,還需要有一個將模塊文件注入到進程中的注入程序。先將注入程序啟動,然後由注入程序將模塊木馬注入到其它的進程中,完成注入後,注入程序就結束了運行,這樣,你仍然無法看到進程。
現在明白為什麼不能暴力卸載並刪除了么?
暴力卸載並刪除後,如果是靜態載入的,那注冊表中仍然會留下載入項,每次開機或相關程序運行時仍然會償試載入該模塊,如果多了,會導至系統運行變慢。
如果是動態載入的,那你卸載並刪除的僅僅是模塊木馬,注入程序卻仍然留在你的機器上。如果此木馬設計的比較合理,那它應該是有模塊文件備份的,這樣,當你再次開機時,會發現,你暴力刪除的模塊文件又重新回到了你的機器上,你永遠刪不幹凈。如果此木馬設計的不合理或比較狠毒,那就只有上帝和木馬的製造者才知道會發生事情了~~ -_-!
即然不能暴力刪除,那找到後應該如何呢?與進程一樣,抄下模塊文件的路徑與名字,然後,開始下一步的檢查,暫時不要理它。
即然說到了無進程木馬,那就不得不說「線程注入型木馬」,進程注入型的木馬注入到進程中的是一個模塊,也就是說,必須有一個模塊文件的存在,這樣我們可以找到這個模塊並通過對其文件進行簽名驗證來找出注入木馬;而線程注入型的木馬,注入到進程中的卻只是一段代碼,是沒有文件存在的,雖然可以查看每個進程的各個線程,但想發現並找出哪一個線程是木馬的,不能說絕不可能,但也幾乎是不可能的了,能找出的是非常高的高人,絕不是我~看看下面的第二張圖,是EXPLORER.exe的線程列表,能看出什麼么?
(順便說一句,那張圖是ProcessExplorer的截圖,非常非常出名且非常非常好用的進程管理工具,在這里可以下載: )
那對這種線程注入型的木馬又怎麼辦呢?
幸好,線程注入型的木馬也需要有一個注入程序來配合,我們找出線程很難,但找出他的注入程序就好辦多了。
現在,無論你是否找到了可疑的模塊或線程,我們都要開始下一步的檢查,啟動項檢查!
第三章 自啟動項篇
自啟動項是什麼?自啟動項,就是程序在系統的某處進行登記之後,每次開機系統會自動將程序運行,而程序登記的項,就叫做自啟動項。
木馬都不會甘心只運行一次就結束的,它若想在你的電腦中安家,就肯定要每次開機都運行起來,這樣,才能達到自我保護、且正常進行木馬工作的目的。
一般的木馬都會有一處或多處自啟動項,這也成了查找木馬時必查的一步。(這只說的是一般的木馬,當然就還有二般的不需要自啟動項的木馬,這個我們放在後面說)
查找木馬的自啟動項,很關鍵也很重要,相對的對工具的要求也很高。
系統中到底有多少處地方可以讓程序自動運行呢?汗~~偶也不知道,偶只能說N多~~所以,要找個查的全的工具來檢查,且要找好幾個來檢查,這樣結合起來,應該就夠全了。任何一個也不敢說它能把系統中所有的啟動位置全列出來。所以,對啟動項檢查工具的第一要求是要夠全!
只全就夠了么?當然還不夠,還有一點跟上面相同,也要能進行數字簽名驗證的,免得它起個系統文件的名字矇混過去。
還有就是要能夠檢測隱藏的啟動項,同樣的,我們先了解木馬隱藏啟動項用到的技術:
0、木馬沒隱藏,只是找了個隱蔽的位置而已,這就要看所用的工具程序枚舉的項夠不夠全了。
1、木馬隱藏在應用層次,HOOK了Win32API中的相關注冊表枚舉函數,這樣的馬兒很容易檢測,任何一個驅動級別的檢測程序都可以勝任。
2、木馬隱藏在內核層,HOOK了SSDT,這樣的馬兒,一般的就不行了,得找能恢復SSDT的專業檢測程序。
3、木馬隱藏在內核層且很無恥,INLINE-HOOK了相關服務函數,這樣的馬兒絕大多數檢程序就都不行了,需要找能恢復INLINE-HOOK的程序。
4、木馬隱藏在最底層,通過查找特徵碼的方法INLINE-HOOK了微軟未公開的底層函數如Cm*系列的函數,嘿,已經很難再比它更底層了,這樣的馬兒只有採用HIVE文件掃描方式的檢測程序或專門恢復底層INLINE-HOOK的工具才能找到它。
這四種隱藏方式都是已經有流氓軟體或木馬使用先例的~,所以不要報有僥幸心理,認為木馬不會採用這種高級的技術,所以,檢查啟動項最好是多用幾個工具配合起來檢查,功能強的通常不夠全,嘿,可能高手都比較懶吧~
OK,我們開始檢查吧~ 先把HOOK、INLINE-HOOK都恢復了,再運行工具開始檢查,還記得我們前面找到的可疑模塊與可疑進程么,這時就用到了,把找出來的啟動項與那些對比一下兒,看看是不是有它們的啟動項在裡面。
有?OK,備份注冊表,然後刪除啟動項。刪除不掉?是不是忘記恢復HOOK了?恢復了,那打開注冊表編輯器,看看你有沒有許可權刪除這個鍵,在欲刪除的鍵上面按右鍵,選許可權,再選「完全控制」就可以刪除了,呵呵,這只是它玩的一個小障眼法兒。
刪除後,又有了?這也沒關系,這時你有兩個選擇,一是先結束掉它的進程,卸載掉它的模塊,以使它失去重寫的能力。二是,開啟「系統鎖定」功能,把系統臨時鎖起來,不允許任何程序對注冊表進行寫入。這時再刪除它就沒問題了。
刪除完成後,重啟計算機。
不是記下了可疑的進程與模塊了么?再檢查一下子,看它們還在不在?不在了,恭喜,你完成了你的木馬查殺工作。
還在?
呵呵,也不要怕,如果還在,證明你並沒有真正的完全清除掉它的啟動項;可能原因是:
1、這只木馬還採取了觸發式的啟動機制。
2、它還有其它的保護機制,比如影子程序或驅動;
接下來讓我們繼續解剖觸發式啟動的木馬~~
第四章 觸發式木馬
上面我說了一般木馬的查殺方法,通過上面的查殺,大多數木馬都可以清掉了。(上次忘記寫了,重啟後,如木馬已經不能啟動了,接下來當然就是把記下來的木馬文件全部刪掉了)
接著我來說一說觸發式木馬,什麼叫觸發式木馬呢?觸發式木馬是當您進行某一操作時會觸發木馬的啟動機制,使得木馬啟動,如果你永遠不進行這一操作,而木馬則永遠不會啟動。一般的木馬都是主動啟動並運行的,而安全檢查工具與殺毒軟體檢查的也大多是主動啟動式的木馬,比如對自啟動項進行檢查,查的就是開機後自動主動運行的。只對少數的常見的可以觸發木馬啟動的項進行檢查,而觸發木馬啟動的地方操作卻很多,這就是這種木馬很難殺干凈的原因。
其表現為,清除後的當時系統很正常,當時檢查機器也很乾凈,但用不了多長時間,木馬又死灰復燃,再度出現。
現在我們開始實際動手查殺這些難纏的傢伙們!
需要說明的是,這里為了講起來有條理,清楚易懂,所以是分開來講的,實際查殺起來,當然是可以一起來做的。(檢查進程、啟動項時,就可順手檢查下面的這些)
最常見的也是我們首先要檢查的當然就是Autorun.inf了,這是個什麼東西呢?這是一個配置文件,看名字,翻譯過來不就是「自動運行」么,是的,這個正常用途是用於光碟的自動播放,就是將光碟插入光碟機後,系統會自動運行Autorun.inf裡面指定的程序。
後來被一些人用於了硬碟,當將這個文件放在硬碟分區的根目錄下時,在盤符上點右鍵,會發現默認的操作就是「自動播放」而不是打開。這時,你雙擊某一盤符時,就不再是打開並瀏覽文件夾,而是直接運行指定的程序(還需要改注冊表的某個地方,因與我們查殺無關就不說了,免得被壞人利用)。
你查殺木馬病毒時如果採取的是暴力刪除,那麼,程序刪除後,Autorun.inf這個文件卻仍然還在,會出現後遺症,表現為無法雙擊打開磁碟。(順便提一句,熊貓燒香採用的就是這種觸發方式與自啟動項相結合的)
由於,你雙擊磁碟會觸發木馬的啟動,所以查殺時,要右鍵單擊,再選擇「打開」或用「資源管理器」來查看,找到後刪除此文件。
通常此文件會以隱藏文件的形式出現,更有些惡毒的會加上「注冊表監控並回寫」來為文件隱藏護航,你一旦更改系統為「顯示所有文件」,它馬上會再次改為「不顯示隱藏文件」,如何破除這種注冊表回防寫,上面的貼子里寫過方法了,這里不再重復。
另一種觸發方式是修改文件關聯,什麼叫文件關聯呢?文件關聯就是某一類型的文件與某一程序的對應關系,要知道,我們的系統中有無數種文件格式,比如:圖片文件(以.bmp .jpg .gif等為擴展名)、音樂文件(mp3 mp4等)......當你雙擊一個圖片時,系統會調用看圖程序來打開並顯示圖片,而不是調用播放器來播放圖片,系統為什麼會知道要調用看圖程序而不是調用播放器呢?這就是因為文件關聯的存在,在注冊表中,圖片文件已經與看圖程序關聯在了一起,相應的,音樂文件與播放器關聯在了一起,大多數類型的文件都與某一特定程序有關聯。這樣,系統才知道,打開什麼樣的文件需要調用什麼程序。
聰明的您已經知道木馬是如何利用文件關聯來觸發了吧?是的,狡猾的木馬就是把某一特定類型文件的關聯改為了與它自己關聯,這時你一旦打開這一類型的文件就會觸發木馬的啟動。由於木馬啟動後,會由它再調用正常的關聯程序,所以,文件仍然會正常打開,而你也就不知道其實你的操作已經將木馬啟動了起來。
木馬會改哪種文件的關聯呢?咳,這我哪知道呢,這只有上帝與木馬的作者才知道。
系統中又有多少文件關聯可供它改呢?你打開注冊表編輯器看看第一大項下面的子項就知道有多少了,怎麼也上千個吧。
如何查殺呢?
一般的木馬會改一些你會經常用到的文件的關聯,比如:文本文件、程序文件、網頁文件等。而網上有很多恢復文件關聯的程序或注冊表導出文件都可以恢復這些常見的文件關聯。
但這樣檢查顯然是遠遠不夠的,如果你是木馬的作者,你知道這些常見的文件關聯會被檢查並恢復,你還會改這些么?就不會了吧,因為可供你選擇的太多了。比如:選擇修改.rar文件的關聯,這是類文件是壓縮文件,網上提供下載的程序有很多是以這類文件格式存在的,所以一般上網的網民打開壓縮文件的機率會非常高,而恢復這一文件關聯的程序幾乎沒有,因為恢復後的直接結果就是壓縮文件打不開了,因為恢復程序的作者不是神仙,他不知道你用的是哪個壓縮軟體,你的壓縮軟體又安裝在了哪裡,所以,他不會給你恢復這個的。
這樣,只要你打開壓縮文件,就會觸發木馬,如果這個木馬的關聯文件是一個影子程序的話,那由於影子程序都不具備病毒特徵,所以全盤文件掃描也不會將它找出來,你找到並清除的都是這個程序的釋放體,而源頭還在,從此,木馬將成為你揮之不去的惡夢~(關於影子程序我們下一次細講)
文件關聯如何檢查呢?兩種方法,一種是通過監控得到哪個文件關聯被修改的,然後再改回去。第二種是用專業軟體,對所有文件關聯進行掃描。
如何通過監控得到文件關聯是否正確呢?
首先,找個進線程監控的工具程序,打開「進線程監控」,然後不斷的打開你常用的各種文件,並檢查,打開文件時程序的運行情況,比如:你找開了個.rar文件,進程監視中應該顯示,「WinRAR.exe由Explorer.exe啟動運行」,那是正常的。如果顯示的是其它程序由Explorer.exe運行,而WinRAR.exe又是由那個其它程序來啟動的,那就是被改了。當然,你也可以打開注冊表查看每個文件關聯,是否是正常的。
第二種方法是用專業軟體來掃描,把系統文件過濾掉,那剩下的非系統的文件關聯就很少了,稍加判斷結果就出來了,很簡單,就不多講了,看看下面的圖就明白了。
找到後怎麼辦呢?
不要只是清除,清除後還要找個正常的機器導出一份正常的,或把你刪除的文件關聯告訴朋友,讓朋友自他的機器上導出一份正常的,然後在自己機器上導入一下子就可以了。
如果是非系統的文件關聯,比如:.rar壓縮文件,那就直接刪除了,然後再次找開.rar時,會提示你選擇打開此種類型文件的程序,這時選擇WinRar.exe,然後勾選上總是用這種程序來打開此類型文件就可以了。
或者用其它方法.....嘿,其實只要發現了木馬,其它的就好辦了~~
另外,需要注意的是,還有些觸發並不是很明顯的文件操作,比如當你打開的網站時,可能要解釋執行腳本語言,而用什麼來解釋執行呢?系統也是在注冊表中尋找相應程序的,比如:VBS、JScript等鍵,基本都在HKEY_CLASSES_ROOT主鍵下。
像卡巴、金山等殺毒程序會用自己的DLL在這幾個鍵下注冊,以便執行腳本語言時先行檢查這些腳本語言是否具有病毒特徵,但木馬同樣也會利用這幾個鍵,讓你一打開網站就執行木馬。
好了,我們下面接著說一說影子程序(驅動)吧~因為它們經常與這些觸發式的啟動機制合作,之所以它們總是合作,因為觸發式的可以躲過對啟動項、進程、模塊的檢查,而影子程序卻可以躲過殺毒軟體的文件掃描。他們是如何緊密合作來躲過我們檢查的,讓我們下次再說~~~ ^-^
第五章 影子程序(驅動)
什麼是影子程序呢?影子大家都了解吧~~即然有影子當然也要有本體了,影子只是為了本體的存在而存在的,其它的工作一概不做。而影子程序呢?也就是為了木馬程序的存在而存在的,其本身並不從事任何木馬工作。
木馬為什麼要搞一個影子程序或影子驅動呢?目的只有一個「保護主木馬程序不被清除。」
影子是如何來保護主木馬程序的呢?了解這個之前,我們先要了解一下殺毒軟體是如何殺毒的。
了解了殺毒軟體是如何殺毒之後,再談影子如何逃過殺毒軟體的查殺,就容易理解了。
大多數殺毒軟體都是依賴病毒特徵碼殺毒的,所以都附帶了一個病毒庫,我們平時升級其實大多數是在升級病毒庫,病毒庫中存儲了病毒的特徵碼,就像病毒檔案一樣(身高、體重、三圍、五官等..... ^-^ 差不多類似啦)如果一個程序與病毒庫中的某種病毒特徵相吻合,就會被認為是某種病毒而被查殺。病毒特徵是如何來的呢?就是病毒分析師對病毒進行分析後提取出來的,所以這種查殺方式查殺的都是有案底的,也就是以前犯過案的,被人留了底,再出來就是過街老鼠,人人喊打了。
這種按特徵查殺,屬於硬特徵,只要符合就OK了~~雖然有誤殺,但相對很少,畢竟完全相同的並不多。其查殺的准確與否,誤殺率是否高,很大程度依賴於病毒分析師的提取水平。呵呵,偶們就見過某知名公司把一個驅動框架硬是報為ROOTKIT木馬的,顯然其特徵碼存在嚴重問題。
還有一種是所謂的主動防卸型的,在比照特徵碼的同時,還分析病毒木馬的行為特徵,一個程序的行為符合特定行為的數量多到一定數值,就為被認為是病毒,當然了, 這種誤報率也相應的增加了很多。這種查殺,沒案底也可以,就像你以前雖然沒有犯過事兒,也沒留案底,但你提著刀追著人家猛砍,當然也會被逮住的,因為你的行為符合了病毒的行為特徵。
當前病毒的流行越來越大眾化,想獲取病毒源碼也並不是什麼難事,一些小屁孩也能抄一段來散發個病毒,但是卻沒有能力更改代碼特徵,使其躲過殺毒軟體的查殺。
所以,一些人開始拚命的找新殼,來為病毒加不同的殼,但殺毒軟體的脫殼技術也是越來越高了,想找到不被殺毒軟體所脫的殼也困難起來了。
接著又有些人想出一些其它的方式來躲避殺毒軟體的查殺。
影子程序就是其中的一種~~
病毒木馬的主程序,因為要工作,所以一些特徵是很難去掉的。但影子程序卻不用去從事木馬工作,所以它本質上就是一個正常的程序,不使用任何病毒技術,也不具備任何病毒特徵,所以不會被殺毒軟體查殺。
這就是病毒木馬採取影子程序的目的,因為影子程序不具備病毒特徵,可以躲過殺毒軟體的全盤文件掃描。
那它又是如何來保護主程序的呢?一般它是把病毒主程序做為資源放到了自己裡面,再保險點就對主程序壓縮、加密後再以資源的形式放到自己的程序中。(資源就是一些數據啦~~比如,一個程序中用到的圖片,就屬於圖片資源)而殺毒軟體通常只是對代碼進行檢查,而不檢查數據資源,其實查也查不出什麼來~以純數據形式存在的資源,有N種方法改變。
這樣,影子程序通過資源存放的方式,解決了木馬程序在電腦中的生存問題,為木馬在您的電腦中留下了一個火種。
在木馬病毒被清掉之後,影子程序一旦發現木馬主程序不見了,就從自己的資源中重新釋放一份。使木馬病毒重新再生,使你殺不勝殺,直到殺得你心疲手軟自己放棄為止。
影子程序又是如何發現木馬主程序被清除的呢?
有兩種途徑,一是將自己也加在某一個啟動位置上,每次開機自動啟動,在啟動後如果發現木馬主程序已經不在,就釋放一份,並將木馬啟動,接著自己就退出了。如果在,影子程序就直接退出了。
二是,利用觸發機制等待,等你觸發影子程序後,由影子程序去檢查木馬是否存在,如果不存在就釋放並啟動然後自己退出,如果在同樣也就直接退出了。
由於,影子程序只是運行了那麼零點零幾秒而已~~所以你的進程檢查對它沒什麼用處,因為它平時是不運行的~
對付影子程序,只能由啟動項入手,而影子程序也注意到了這一點,所以很多就採取了觸發機制,因此,我們檢查時,也要注意檢查觸發式木馬。
呵,結論出來了,各位朋友不要看到進程中的可疑進程就眼紅紅的沖過去狂殺一通~~殺進程、刪除文件、卸模塊只是治標不治本的做法~~什麼事情都要尋根求源,進行「根治」~~否則,輕則病毒木馬是殺不完去不凈~~重則是系統被越殺越慢~~殺到最後,不得不重裝系統完事兒~~~
用GHOST恢復也很快?呵,難道你不知道熊貓燒香會刪除GHOST的備份文件么?熊貓能刪除~~其它的當然也能刪~~刪個文件對它們來說絕不是什麼難事兒~~
重裝系統就安全么?也不見得~~在網上搜一下兒~看看網上提供下載的操作系統風險又有多大~很多木馬是在做操作系統安裝盤時就放進去了~~
放進去為什麼查不到呢?
這就是另一個話題了~~文件修改替換型的木馬~~很讓人郁悶的一類木馬~~下次再說吧~~
汗~~想起來就頭大~
參照圖:CNNIC的影子驅動,藍色圈起來的是主驅動,紅色的是影子驅動,影子驅動的名字是隨機的,每次開機都不相同。
借這張圖把上次有朋友問的清除CNNIC的剩餘問題給解答一下子:
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root鍵下還有與驅動服務相匹配的一些鍵,如果用其它的清除工具,記得也要清了。如果是用5.0.0.7就不用了,清除驅動項時會自動清理那個鍵的。(注意:5.0.0.6版沒有相應功能,汗~可能自動檢測影子驅動的功能也沒有~~手工刪除或找別的工具用吧,實在不行就等5.0.0.7出試用版吧~)
清的時候清干凈嘍~~否則~~嘿~~死恢復燃就是說這個的~~
CNNIC還有關機通知的功能~~別忘記了~~不然即使清干凈了,關機時它就又寫回去了~~
什麼?不知道怎麼對付~~汗~~~這個偶暫時也沒找到合適的工具,雖然寫程序對付最簡單,但沒有通用性,不值得為這一個傢伙寫個程序。
暫時有兩個方法可以解決:
一個是笨辦法。關機時不是由系統通知它的么?偶們就連系統也不通知不就完了,直接按RESET鍵冷啟動機器就OK了~~ -_-!
二個是先恢復FSD的HOOK與INLINE-HOOK,然後把相關的程序文件、驅動文件、DLL文件全刪除了,然後重啟,再刪一遍啟動項,也就OK了~(注意,鎖定系統好像對CNNIC也不大好用的說~郁悶~)
另外,慣於用AutoRuns.exe的朋友注意了,我用的AutoRuns.exe是8.22版的查不出來CNNIC的驅動啟動項~如果查殺CNNIC就先換一個用吧~
另外,團IDC網上有許多產品團購,便宜有口碑
『玖』 如何查看flash腳本代碼並修改
查看FLASH需要是後輟名為fla格式的文件,然後用FLASH軟體來查看與修改。
打開fla格式的文件
如果幀上面有a的標志 就說明此幀上面是有代碼 按F9就可以查看腳本。
有的腳本寫上元件上 元件上是否有腳本是看不出來 只有選中元按F9查看