計算機病毒及其防范技術(第2版)第4章 傳統(tǒng)計算機病毒-補充知識_第1頁
計算機病毒及其防范技術(第2版)第4章 傳統(tǒng)計算機病毒-補充知識_第2頁
計算機病毒及其防范技術(第2版)第4章 傳統(tǒng)計算機病毒-補充知識_第3頁
計算機病毒及其防范技術(第2版)第4章 傳統(tǒng)計算機病毒-補充知識_第4頁
計算機病毒及其防范技術(第2版)第4章 傳統(tǒng)計算機病毒-補充知識_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章 傳統(tǒng)計算機病毒 補充知識 上海交通大學信息安全工程學院 劉功申 信息安全工程學院 推薦參考資料 學習本章前,建議學習并掌握 推薦參考羅云彬編著的 2位匯編語言程序設計第 2版。 信息安全工程學院 (1) 移植的執(zhí)行體) 是 它的一些特性繼承自 件格式。 可移植的執(zhí)行體意味著此文件格式是跨 使 何 當然,移植到不同的 除 6位的 有 此,研究 信息安全工程學院 Z 式頭 PE 表 第 1個節(jié) 第 2個節(jié) n 第 信息安全工程學院 所有 Z 了它,一旦程序在 不支持 將簡單顯示一個錯誤提示,類似于字符串 “該程序不能在 者程序員可根據(jù)自己的意圖實現(xiàn)完整的 PE 中包含了許多 表) 是節(jié)的索引。 們稱之為 )。 信息安全工程學院 每節(jié)是一塊擁有共同屬性的數(shù)據(jù),比如代碼 /數(shù)據(jù)、讀 /寫等。 把 PE 種文件自然就有不同屬性如只讀、系統(tǒng)、隱藏、文檔等等。其中節(jié)表就像目錄。 值得我們注意的是 節(jié)的劃分是基于各組數(shù)據(jù)的共同屬性而不是邏輯概念。因此,我么不必關心節(jié)中類似于果數(shù)據(jù)和代碼擁有相同屬性,它們就可以被歸入同一個節(jié)中。 節(jié)名稱僅僅是個區(qū)別不同節(jié)的符號而已,類似于 有節(jié)的屬性設置決定了節(jié)的特性和功能。如果某塊數(shù)據(jù)想作為只讀屬性,就可以將該塊數(shù)據(jù)放入屬性為只讀的節(jié)中。 信息安全工程學院 裝載 第一,當 Z E 果找到,則跳轉到 PE 第二, E 果有效,就跳轉到 PE 第三,緊跟 PE 采用文件映射方法將這些節(jié)映射到內存,同時附上節(jié)表里指定的節(jié)屬性。 第四, 入表)邏輯部分。 信息安全工程學院 ( 2)檢驗 什么樣的文件是有效的? 只要一些關鍵數(shù)據(jù)結構有效,我們就認為是有效的 這個重要數(shù)據(jù)結構就是 PE 編程角度看,PE 構。 構的定義如下: 信息安全工程學院 域為 為 50h, 45h, 00h, 00h( 0)。 54 54 54 550h 結構域包含了關于 如節(jié)數(shù)目、文件執(zhí)行機器等。 結構域包含了關于 信息安全工程學院 定位 PE 包含了指向 PE 文件偏移量,即 定位步驟為 : 第一,檢驗文件頭部第一個字的值是否等于則 Z 第二,一旦證明文件的 Z 可用E 第三,比較 PE 果前后兩個值都匹配,那我們就認為該文件是一個有效的 信息安全工程學院 ( 3)文件頭( 文件頭( 件頭的表示結構為 : 信息安全工程學院 域名 含義 文件運行所要求的 于 值是14 件的節(jié)數(shù)目。如果我們要在文件中增加或刪除一個節(jié),就需要修改這個值。 件創(chuàng)建日期和時間。要讓它保持原樣,不要變 于調試。 于調試。 示緊隨本結構之后的 須為有效值。 于文件信息的標記,比如文件是 注: 節(jié)、節(jié)表和 節(jié)表數(shù)組邊界確定 標示 信息安全工程學院 (4) E 大,也是最重要的成員,包含了 結構共有 31個域。 虛擬地址 (對虛擬地址) 信息安全工程學院 域名 含義 您要改變整個執(zhí)行的流程,可以將該值指定到新的 樣新 如,如果該值是 400000H, 00000該地址區(qū)域已被其他模塊占用,那 存中節(jié)對齊的粒度。例如,如果該值是 4096 (1000H),那么每節(jié)的起始地址必須是 4096的倍數(shù)。若第一節(jié)從 4010000個字節(jié),則下一節(jié)必定從 402000使 40100002000 件中節(jié)對齊的粒度。含義類似 存中整個 是所有頭和節(jié)經(jīng)過節(jié)對齊處理后的大小。 有頭 +節(jié)表的大小,也就等于文件尺寸減去文件中所有節(jié)的尺寸??梢砸源酥底鳛?于大多數(shù) 有兩類值 : 控制臺 )。 構數(shù)組。每個結構給出一個重要數(shù)據(jù)結構的如引入地址表等。 信息安全工程學院 ( 5)節(jié)表 (詳細表示為: ) 信息安全工程學院 域名 含義 名長不超過 8字節(jié)。節(jié)名僅僅是個標記而已,可以選擇任何名字甚至空著也行。節(jié)名不是一個 以不用 節(jié)的 果域值是 1000H,而 00000么本節(jié)就被裝載到 401000H。 過文件對齊處理后的節(jié)尺寸。該域值代表需映射入內存的字節(jié)數(shù)。(假設一個文件的文件對齊尺寸是 0果本域值為 0示本節(jié)是 0 基于文件的偏移量。 含標記以指示節(jié)屬性。節(jié)是否含有可執(zhí)行代碼、初始化數(shù)據(jù)、未初始數(shù)據(jù),是否可寫、可讀等。 信息安全工程學院 第一,讀取 取文件的節(jié)數(shù)目; 第二, 以此定位節(jié)表; 第三,遍歷整個結構數(shù)組檢查各成員值; 第四,對于每個結構,讀取 后再讀取 后就準備把節(jié)映射進內存,并根據(jù) 第五,遍歷整個數(shù)組,直至所有節(jié)都已處理完畢。 信息安全工程學院 ( 6)引入表( 兩個概念: 引入函數(shù):是被某模塊調用的但又不在調用者模塊中的函數(shù),因而命名為 入)函數(shù)。引入函數(shù)實際位于一個或者更多的 用者模塊里只保留一些函數(shù)信息,包括函數(shù)名及其駐留的 是一個 有 15個成員。 個成員包含了一個重要數(shù)據(jù)結構的信息。 定義如下所示 : /數(shù)據(jù)結構的相對虛擬地址 ( / 息安全工程學院 個成員 序號 便移 包含信息 簡介 0 96 出表 1 104 入表 2 112 源 3 120 常 4 128 全 5 136 定位表 6 144 試信息 7 152 權信息 8 160 局指針相對虛擬地址表 9 168 本地線程存儲 10 172 載配置表 11 180 體資料不祥 12 188 入函數(shù)的地址(宿主程序中的地址)表 13 192 體資料不祥 14 200 15 208 使用 信息安全工程學院 引入表:實際上是一個 構數(shù)組。每個結構包含 果該 0個不同的 么這個數(shù)組就有 10個成員。該數(shù)組以一個全 0的成員結尾。 是作用不同。 信息安全工程學院 意 含了指向一個構的指針,而不是結構本身。 構的定義: 引入函數(shù)在原中的索引號 引入函數(shù)在原中的名字 設有幾個 構,我們收集起這些結構的 成一個數(shù)組,并以 0結尾, 然后再將數(shù)組的 信息安全工程學院 | - . n - - - . - . . - n n 信息安全工程學院 O r i g i n a l F i r s t T h u n kT i m e D a t e S t a m pF o r w a r d e r C h a i nN a m eF i r s t T h u n A G E _ T H U N K _ D A T A G E _ T H U N K _ D A T A G E _ T H U N K _ D A T 0 0 0 0 1 0 H ( s t r c m p )0 ( 結 束 符 )E x i t P r o c e s s 的 入 口 地 址R e a d F i l e 的 入 口 地 址W r i t e F i l e 的 入 口 地 址s t r c m p 的 入 口 地 址0 ( 結 束 符 )0 2 F 6 E x i t P r o c e s 1 1 R e a d F i l 2 B W r i t e F i l A G E _ I M P O R T _ D E S C R I P T O A G E _ I M P O R T _ B Y _ N A M EK e r n e l 3 2 . d l lj m p d w o r d p r t 0 j m p d w o r d p r t 1 j m p d w o r d p r t 2 j m p d w o r d p r t 3 信息安全工程學院 用函數(shù)名調用: 序號調用: 最高二進制位 (為 1 。 例如,如果一個函數(shù)只由序數(shù)引出且其序數(shù)是 1234H,那么對應該函數(shù)的 信息安全工程學院 列出某個 第一,校驗文件是否是有效的 第二,從 位到 PE 第三,獲取位于 地址。 第四,轉至數(shù)據(jù)目錄的第二個成員提取其 第五,利用上值定位第一個 第六,檢查 不為 0,則順著,就改用 些連接器生成 ,這應該算是個 過為了安全起見,我們還是先檢查 信息安全工程學院 第七,對于每個數(shù)組元素,我們用果該元素值的最高二進位為 1,那么函數(shù)是由序數(shù)引入的,可以從該值的低字節(jié)提取序數(shù)。如果元素值的最高二進位為 0,就可將該值作為 過 第八,再跳至下一個數(shù)組元素提取函數(shù)名,一直到數(shù)組底部 (它以 。現(xiàn)在我們已遍歷完一個 下去處理下一個 第九,即跳轉到下一個 次循環(huán)直到數(shù)組結尾(組以一個全 0域元素結尾 )。 信息安全工程學院 ( 7)引出表( 附加概念:引出函數(shù),數(shù)據(jù)目錄 引出表是數(shù)據(jù)目錄的第一個成員,又可稱為 分介紹如下: 信息安全工程學院 域名 含義 塊的真實名稱。該域是必須的,因為文件名可能會改變。這種情況下, 數(shù),(引出序數(shù) 就是函數(shù)地址數(shù)組的索引值了。 塊引出的函數(shù) /符號總數(shù)。 過名字引出的函數(shù) /符號數(shù)目。該值不是模塊引出的函數(shù) /符號總數(shù),這是由上面的 域可以為 0,表示模塊可能僅僅通過序數(shù)引出。如果模塊根本不引出任何函數(shù) /符號,那么數(shù)據(jù)目錄中引出表的 。 塊中有一個指向所有函數(shù) /符號的 域就是指向該言之,模塊中所有函數(shù)的 域就指向這個數(shù)組的首地址。 似上個域,模塊中有一個指向所有函數(shù)名的 域就是指向該 向包含上述 信息安全工程學院 兩類輸出方式: 就相當于一個別名。 它們的關聯(lián)方式如下: 信息安全工程學院 | . . . 信息安全工程學院 . . .N a m a s e ( 假 設 值 x )N u m b e r O f F u n c t i o n sN u m b e r O f N a m e sA d d r e s s O f F u n c i t o n sA d d r e s s O f N a m e sA d d r e s s O f N a m e O r d i n a l A G E _ E X P O R T _ D I R E C T O R YF i l e n a m e . d l 入 口 地 址 R V 入 口 地 址 R V A. . 入 口 地 址 R V 入 口 地 址 R V A. . A. . A. . .M y F u n 1M y F u n 2. . .M y F u n 3. . . . 函 數(shù) ( 序 號 x )M y F u n 1 函 數(shù) ( 序 號 x + 1 )M y F u n 2 函 數(shù) ( 序 號 x + a )M y F u n 3 函 數(shù) ( 序 號 x + b )信息安全工程學院 根據(jù)引出函數(shù)名,怎樣來獲取其地址呢? E 果在 向的數(shù)組中找到匹配名字,從 向的數(shù)組中提取索引值。 例如,若發(fā)現(xiàn)匹配名字的 組的第 77個元素,那就提取 7個元素作為索引值。如果遍歷完 元素,說明當前模塊沒有所要的名字。 就是說,如果值是 5,就必須讀取 個元素,此值就是所要函數(shù)的 信息安全工程學院 引出序數(shù) 是函數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論