第二十六章子母病毒
雲飛和凱倫同時從計算機麵前站了起來凱倫看著蕭笑,根據蕭雲飛剛才編寫病毒的表現,凱倫覺得,這個人絕非等閑之輩。(.無彈窗廣告)
蕭雲飛笑了笑:“凱倫,現在我們就交換彼此的病毒程序,誰能夠率先成功地消滅對方的病毒,誰就勝出……”
凱倫點了點頭:“好!”
兩個人彼此交換了計算機,蕭雲飛在電腦前坐了下來,進入到虛擬係統中,他將凱倫的病毒程序拖曳到虛擬係統的桌麵上,然後開始了他的分析病毒之旅。
對於大多數病毒而言,殺毒的思路其實很簡單,具體步驟大致分為“三步走”,終止病毒的進程,刪除自啟動項目,刪除病毒文件。
當然,對設置了件關聯的病毒而言還要修改注冊表,恢複被關聯的文件。
雖然說很多語言都可以寫殺毒程序,但是現如今大多數的殺毒軟件還是采用的是c、c++和匯編語言編寫而成,如果不用設計殺毒軟件的圖形界麵,針對病毒的特性編寫一款專殺程序,其實並不是很困難。
當然,編寫專序的時候你需要了解病毒的工作原理,比如病毒是如何隱藏、保護自己,如何加入自啟動項,如何修改注冊表信息等等,清楚了病毒的工作原理後,你才能根據其特性根據思路編寫具有針對性的專殺程序。
所以,編寫病毒專殺程序,你得首對病毒程序進行深入的分析。
凱倫的病毒程序並未加,通過反匯編,蕭雲飛很容易就得到了這個病毒的源代碼。蕭雲飛笑了笑,這個凱倫對他的病毒就這麽有自信?他竟然完全不用加密算法?
經過析雲飛對凱倫地病毒好像有一種似曾相識地感覺。
嵌入性病毒?蕭雲飛地海中突然閃過一個念頭。(.好看的小說)對。這個病毒和自己以前遇到地那個超級病毒竟然十分相似!
通過測試。這個病毒地主要作用在於感染係統內所有地可執行文件。一旦運行了該病毒程序。僅僅三十秒。它就會感染係統內全部可執行地exe文件。
這個病毒地源碼有一段修改可執行程序地代碼。這段代碼地目地在於篡改程序地指針序列。可執行地程序有一段指針序列過指針序列可以決定一個可執行程序地執行結果。這個病毒修改程序地指針指向。將可執行程序中包含地指針全部指向該病毒。
也是說。任何可執行程序一旦運行。那麽它首先執行地就是這個病毒程序。通過篡改程序指針序列病毒**到原程序成為合法程序地一部分。
蕭雲飛搖頭笑了笑。雖然這個病毒也很厲害。但是它與蕭雲飛之前遇到地那個超級病毒相比卻要遜色許多。
雖然這個病毒也采用了多態性技術是它的多態性卻相對單一了很多。多態性的目的在於賦予一個病毒多種形態,比如病毒以哪一種形式隱匿在係統文件中,它有點相當於變色龍的皮膚。
蕭雲飛翹起嘴巴笑了笑,對付病毒的多態性早已經深有體會,針對病毒的多態性要編寫相應的狙殺代碼,他應該算得上輕車熟路。
蕭雲飛以前為了應對那個超級病毒而編寫的程序代碼還存儲在自己的ftp空間,所以他用不著自己去費力編寫代碼,所以,他連上了網絡。
凱倫麵對蕭雲飛的病毒程序卻犯難了雲飛病毒的作用很簡單,它就是為了感染係統所有的word文檔和後綴名為jpgg的圖片。
但是在分析病毒的第一步倫卻徹底傻眼了,因為他不能對病毒程序就行反匯編管用什麽方法和什麽反匯編的軟件,反匯編出來的結果都是亂碼!
要對程序進行加密其實不難過使用各種函數和命令就可以對程序進行加密,比如在程序代碼中**用戶名判斷代碼或者序列號判斷代碼即可對程序的使用者進行限製,隻有在輸入了正確的用戶名和序列號方能繼續使用程序。
程序的算法雖然可以做得到牢不可破,但是編寫者卻沒有辦法防止爆破,一個程序的使用總是要讀取一些信息的,譬如用戶名,序列號,注冊碼之類,如果破解者找到函數入口爆破掉就解決了。
也是說,大多數的程序的加密是針對某一個程序模塊進行的加密,通過脫殼、跟蹤、分析,你也可以得到程序解密的方法。
盡管現在也有很多辦法可以提高程序破解的難度,但是這也僅僅隻是提高難度而已,對於真正的高手,要想破解程序其實並不困難。
要破解一個程序,那麽你首先得分析程序的源代碼,但是,蕭雲飛的病毒通過反匯編後竟然全部是亂碼。
要知道對一個asp文件加密很容易,但是要對一段病毒加密就並非我們
的那麽簡單了。
如果連病毒的源碼也看不到,就算你知道了病毒在係統中會產生哪些配置文件,會修改哪些係統文件,你也不能有效地將病毒清除。
誰知道病毒接下來會如何進行變異呢?
凱倫看著計算機屏幕上的病毒程序,不由得有些懊惱的扯了扯自己的頭發,怎麽辦?自己總不可能無所作為吧?
凱倫搖了搖頭,既然不能解讀病毒的源碼,那麽就隻能根據自己的經驗編寫相應的殺毒程序了。
這種感染word文檔圖片的病毒在網絡上早已經泛濫成災了,它們主要通過移動存儲器進行傳播,這種病毒包含了多個批處理程序和dlll文件,這些程序相互關聯,要殺掉這樣的病毒就必須要將這些關聯的程序全部刪除。
其實網絡上流行的這種毒是比較決絕的,到目前為止這種病毒感染word文檔和圖片後綴名全部變成exe,它其實是一個壓縮文件軟件解壓被感染的word文檔後你可以得到三個文件,一個是dl文件,一個是批處理文件,另一個則是原始的word文檔。
其實還有一非常有趣的現象就是這個dlll文件其實也是一個壓縮文件,它裏麵包含的東西就豐富多了,據說這個dll文件其中包含的一個批處理可以消滅該種病毒。
(ps:我並不覺得這個批處理程序可殺掉這個病毒,有興趣的朋友可以研究研究“宅男”病毒)
對於這些流行的病毒,凱自然了解得很透徹,很快的,他從網絡上找到了針對該種病毒進行查殺的程序源碼,然後他將這段程序代碼複製了下來。
凱倫道,蕭雲飛既然敢叫囂著要踢館必他自然不可能編寫出一款如此大眾的病毒程序,所以,凱倫對這段複製下來的程序代碼進行了修改加入了他對這種病毒發生可變異性的地方做了細化和深入。
凱倫覺得自己很迷茫,就像閉著眼睛和別人比武一樣,你隻能盲目的去攻擊對方,但是你去連對手的所在位置也不知道!
很快的毒程序編寫完成,凱倫抱著一絲希望執行了程序。
專殺程序對病毒程序進行特定掃描,不一會兒,專殺程序發出“叮”的一聲響,凱倫的心一下子提到了嗓子眼。
專殺程序彈出一個對話框:發現病毒,是否處理?
竟然發現了病毒?!凱倫不敢相信地揉了揉自己的眼睛麽可能如此簡單?!
看了一眼正對著電腦屏幕聚精會神修改程序代碼的蕭雲飛,凱倫始終覺得這樣的結果實在太反常了而凱倫現在卻無路可退了,到了這個地步還有什麽辦法可想?
凱倫將鼠標移動到“是”這個選項,帶著一絲強烈的不安點擊執行。
專殺程序剛剛一處理完這個病毒竟然突然沒有了動作片刻間,無數同一類型的病毒在虛擬係統中全麵爆發,係統內幾乎所有的文件全部被這些病毒感染!
凱倫慘叫一聲,瞪著眼睛不可思議的望著蕭雲飛:“子母病毒?!”
聽到凱倫的問話,蕭雲飛抬起頭笑了笑:“沒錯,正是子母病毒……”
蕭雲飛編寫的這個病毒雖然和網絡上流行的“宅男”病毒很類似,它們的作用幾乎如出一轍,但是這僅僅是蕭雲飛的迷惑手段而已。
當時蕭雲飛編寫這個病毒的時候其實僅僅是想將它編寫得比“宅男”病毒更加霸道一點,但是他想到凱倫對病毒的研究肯定也很精通,所以在最後利用“混沌算法”加密病毒程序的時候,他調用了一個子母病毒。
即這個病毒本身作為母體,蕭雲飛用批處理編寫的指向程序和dll文件可以衍生出具有無數相同作用的子病毒,一旦病毒母體被殺死,衍生出來的子病毒便會全麵爆發!
“混沌加密”可以禁止任何人對病毒進行反匯編,也就是說,如果別人沒有掌握這種加密方法,他就不能窺探程序源碼,不能解讀病毒源碼,那麽他就無法了解這個病毒真正的本質。
“混沌加密”相當於給病毒披上了一層外衣,一旦從內部捅破了這件外衣,那麽包裹在外衣裏麵的無數子病毒就會洶湧而出。
子母病毒其實並不特別,但是蕭雲飛的這個子母病毒卻擁有一個非常變態的功能,那就是它可以穿透虛擬係統滲透到主機係統!
蕭雲飛一開始的目的不但要感染虛擬係統的文件,他還要讓病毒感染主機係統內所有的文件!
退一萬步來講,如果凱倫找到了消滅病毒的辦法,麵對成千上萬個被病毒感染的文件,全部清除病毒也得花費好長的時間。
這是一種非常陰險的做法
雲飛和凱倫同時從計算機麵前站了起來凱倫看著蕭笑,根據蕭雲飛剛才編寫病毒的表現,凱倫覺得,這個人絕非等閑之輩。(.無彈窗廣告)
蕭雲飛笑了笑:“凱倫,現在我們就交換彼此的病毒程序,誰能夠率先成功地消滅對方的病毒,誰就勝出……”
凱倫點了點頭:“好!”
兩個人彼此交換了計算機,蕭雲飛在電腦前坐了下來,進入到虛擬係統中,他將凱倫的病毒程序拖曳到虛擬係統的桌麵上,然後開始了他的分析病毒之旅。
對於大多數病毒而言,殺毒的思路其實很簡單,具體步驟大致分為“三步走”,終止病毒的進程,刪除自啟動項目,刪除病毒文件。
當然,對設置了件關聯的病毒而言還要修改注冊表,恢複被關聯的文件。
雖然說很多語言都可以寫殺毒程序,但是現如今大多數的殺毒軟件還是采用的是c、c++和匯編語言編寫而成,如果不用設計殺毒軟件的圖形界麵,針對病毒的特性編寫一款專殺程序,其實並不是很困難。
當然,編寫專序的時候你需要了解病毒的工作原理,比如病毒是如何隱藏、保護自己,如何加入自啟動項,如何修改注冊表信息等等,清楚了病毒的工作原理後,你才能根據其特性根據思路編寫具有針對性的專殺程序。
所以,編寫病毒專殺程序,你得首對病毒程序進行深入的分析。
凱倫的病毒程序並未加,通過反匯編,蕭雲飛很容易就得到了這個病毒的源代碼。蕭雲飛笑了笑,這個凱倫對他的病毒就這麽有自信?他竟然完全不用加密算法?
經過析雲飛對凱倫地病毒好像有一種似曾相識地感覺。
嵌入性病毒?蕭雲飛地海中突然閃過一個念頭。(.好看的小說)對。這個病毒和自己以前遇到地那個超級病毒竟然十分相似!
通過測試。這個病毒地主要作用在於感染係統內所有地可執行文件。一旦運行了該病毒程序。僅僅三十秒。它就會感染係統內全部可執行地exe文件。
這個病毒地源碼有一段修改可執行程序地代碼。這段代碼地目地在於篡改程序地指針序列。可執行地程序有一段指針序列過指針序列可以決定一個可執行程序地執行結果。這個病毒修改程序地指針指向。將可執行程序中包含地指針全部指向該病毒。
也是說。任何可執行程序一旦運行。那麽它首先執行地就是這個病毒程序。通過篡改程序指針序列病毒**到原程序成為合法程序地一部分。
蕭雲飛搖頭笑了笑。雖然這個病毒也很厲害。但是它與蕭雲飛之前遇到地那個超級病毒相比卻要遜色許多。
雖然這個病毒也采用了多態性技術是它的多態性卻相對單一了很多。多態性的目的在於賦予一個病毒多種形態,比如病毒以哪一種形式隱匿在係統文件中,它有點相當於變色龍的皮膚。
蕭雲飛翹起嘴巴笑了笑,對付病毒的多態性早已經深有體會,針對病毒的多態性要編寫相應的狙殺代碼,他應該算得上輕車熟路。
蕭雲飛以前為了應對那個超級病毒而編寫的程序代碼還存儲在自己的ftp空間,所以他用不著自己去費力編寫代碼,所以,他連上了網絡。
凱倫麵對蕭雲飛的病毒程序卻犯難了雲飛病毒的作用很簡單,它就是為了感染係統所有的word文檔和後綴名為jpgg的圖片。
但是在分析病毒的第一步倫卻徹底傻眼了,因為他不能對病毒程序就行反匯編管用什麽方法和什麽反匯編的軟件,反匯編出來的結果都是亂碼!
要對程序進行加密其實不難過使用各種函數和命令就可以對程序進行加密,比如在程序代碼中**用戶名判斷代碼或者序列號判斷代碼即可對程序的使用者進行限製,隻有在輸入了正確的用戶名和序列號方能繼續使用程序。
程序的算法雖然可以做得到牢不可破,但是編寫者卻沒有辦法防止爆破,一個程序的使用總是要讀取一些信息的,譬如用戶名,序列號,注冊碼之類,如果破解者找到函數入口爆破掉就解決了。
也是說,大多數的程序的加密是針對某一個程序模塊進行的加密,通過脫殼、跟蹤、分析,你也可以得到程序解密的方法。
盡管現在也有很多辦法可以提高程序破解的難度,但是這也僅僅隻是提高難度而已,對於真正的高手,要想破解程序其實並不困難。
要破解一個程序,那麽你首先得分析程序的源代碼,但是,蕭雲飛的病毒通過反匯編後竟然全部是亂碼。
要知道對一個asp文件加密很容易,但是要對一段病毒加密就並非我們
的那麽簡單了。
如果連病毒的源碼也看不到,就算你知道了病毒在係統中會產生哪些配置文件,會修改哪些係統文件,你也不能有效地將病毒清除。
誰知道病毒接下來會如何進行變異呢?
凱倫看著計算機屏幕上的病毒程序,不由得有些懊惱的扯了扯自己的頭發,怎麽辦?自己總不可能無所作為吧?
凱倫搖了搖頭,既然不能解讀病毒的源碼,那麽就隻能根據自己的經驗編寫相應的殺毒程序了。
這種感染word文檔圖片的病毒在網絡上早已經泛濫成災了,它們主要通過移動存儲器進行傳播,這種病毒包含了多個批處理程序和dlll文件,這些程序相互關聯,要殺掉這樣的病毒就必須要將這些關聯的程序全部刪除。
其實網絡上流行的這種毒是比較決絕的,到目前為止這種病毒感染word文檔和圖片後綴名全部變成exe,它其實是一個壓縮文件軟件解壓被感染的word文檔後你可以得到三個文件,一個是dl文件,一個是批處理文件,另一個則是原始的word文檔。
其實還有一非常有趣的現象就是這個dlll文件其實也是一個壓縮文件,它裏麵包含的東西就豐富多了,據說這個dll文件其中包含的一個批處理可以消滅該種病毒。
(ps:我並不覺得這個批處理程序可殺掉這個病毒,有興趣的朋友可以研究研究“宅男”病毒)
對於這些流行的病毒,凱自然了解得很透徹,很快的,他從網絡上找到了針對該種病毒進行查殺的程序源碼,然後他將這段程序代碼複製了下來。
凱倫道,蕭雲飛既然敢叫囂著要踢館必他自然不可能編寫出一款如此大眾的病毒程序,所以,凱倫對這段複製下來的程序代碼進行了修改加入了他對這種病毒發生可變異性的地方做了細化和深入。
凱倫覺得自己很迷茫,就像閉著眼睛和別人比武一樣,你隻能盲目的去攻擊對方,但是你去連對手的所在位置也不知道!
很快的毒程序編寫完成,凱倫抱著一絲希望執行了程序。
專殺程序對病毒程序進行特定掃描,不一會兒,專殺程序發出“叮”的一聲響,凱倫的心一下子提到了嗓子眼。
專殺程序彈出一個對話框:發現病毒,是否處理?
竟然發現了病毒?!凱倫不敢相信地揉了揉自己的眼睛麽可能如此簡單?!
看了一眼正對著電腦屏幕聚精會神修改程序代碼的蕭雲飛,凱倫始終覺得這樣的結果實在太反常了而凱倫現在卻無路可退了,到了這個地步還有什麽辦法可想?
凱倫將鼠標移動到“是”這個選項,帶著一絲強烈的不安點擊執行。
專殺程序剛剛一處理完這個病毒竟然突然沒有了動作片刻間,無數同一類型的病毒在虛擬係統中全麵爆發,係統內幾乎所有的文件全部被這些病毒感染!
凱倫慘叫一聲,瞪著眼睛不可思議的望著蕭雲飛:“子母病毒?!”
聽到凱倫的問話,蕭雲飛抬起頭笑了笑:“沒錯,正是子母病毒……”
蕭雲飛編寫的這個病毒雖然和網絡上流行的“宅男”病毒很類似,它們的作用幾乎如出一轍,但是這僅僅是蕭雲飛的迷惑手段而已。
當時蕭雲飛編寫這個病毒的時候其實僅僅是想將它編寫得比“宅男”病毒更加霸道一點,但是他想到凱倫對病毒的研究肯定也很精通,所以在最後利用“混沌算法”加密病毒程序的時候,他調用了一個子母病毒。
即這個病毒本身作為母體,蕭雲飛用批處理編寫的指向程序和dll文件可以衍生出具有無數相同作用的子病毒,一旦病毒母體被殺死,衍生出來的子病毒便會全麵爆發!
“混沌加密”可以禁止任何人對病毒進行反匯編,也就是說,如果別人沒有掌握這種加密方法,他就不能窺探程序源碼,不能解讀病毒源碼,那麽他就無法了解這個病毒真正的本質。
“混沌加密”相當於給病毒披上了一層外衣,一旦從內部捅破了這件外衣,那麽包裹在外衣裏麵的無數子病毒就會洶湧而出。
子母病毒其實並不特別,但是蕭雲飛的這個子母病毒卻擁有一個非常變態的功能,那就是它可以穿透虛擬係統滲透到主機係統!
蕭雲飛一開始的目的不但要感染虛擬係統的文件,他還要讓病毒感染主機係統內所有的文件!
退一萬步來講,如果凱倫找到了消滅病毒的辦法,麵對成千上萬個被病毒感染的文件,全部清除病毒也得花費好長的時間。
這是一種非常陰險的做法