亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

一步一步教你加密解密技術——靜態分析技術(1)
2006-10-30   

第3章 靜態分析技術

第一節 基礎知識

一、虛擬地址和偏移量轉換

由于Windows程序是運行在386保護模式下,在保護模式下,程序訪問存儲器所使用的邏輯地址稱為虛擬地址(Virual Address,VA)。與實地址模式下的分段地址類似,虛擬地址也可寫成"段:偏移量"的形式,這里的段是指段選擇器。
文件執行時將被映像到指定內存地址中,這個初始內存地址稱為基址(ImageBase)。在Windows NT中,缺省的值是10000h;對于DLLs,缺省值為400000h。在Windows 9x中,10000h不能用來裝入32位的執行文件,因為該地址處于所有進程共享的線性地址區域,因此Microsoft將Win32可執行文件的缺省基地址改變為400000h。
相對虛擬地址(Relative Virual Address,RVA)表示此段代碼在內存中相對于基地址的偏移。即:相對虛擬地址(RVA)=虛擬地址(VA)-基址(ImageBase)。
文件中的地址與內存中表示不同,它是用偏移量(File offset)來表示的。
在SoftICE和W32Dasm下顯示的地址值是內存地址(memory offset),或稱之為虛擬地址(Virual Address,VA)。而十六進制工具里,如:Hiew、Hex Workshop等顯示的地址就是文件地址,稱之為偏移量(File offset) 或物理地址(RAW offset)。

在實際操作時,使用 RVA-Offset之類的轉換器很容易查出字串RVA和偏移量的值。
以Pc_offset(光盤\tools\offset)此工具為例說說如何將SoftICE下看到的虛擬地址(Virual Address,VA)轉換成十六進制工具里的偏移量(File offset),運行該軟件打開記事本程序,在Memory Address(內存地址)輸入虛擬地址(Virual Address,VA)的值:40117D,點擊"Do it"按鈕將顯示己轉換成文件偏移量(File offset),如圖一所示。

(圖一)內存虛擬地址轉換成文件偏移量

二、文件類型分析

文件分析是靜態分析程序的第一步,通過相關工具顯示欲調試文件的信息,如它是用什么語言寫的,是否加殼等。常用的文件分析工具有TYP、Gtw或FileInfo。其中FileInfo(光盤\tools\file\File analysers)由于識別文件類型較多,使用方便,在這一節簡單地講講它的用法。
FileInfo運行時是DOS界面,支持Windows長文件名,能識別DOS、NE、PE等各種文件類型和殼。
語法:fi <drive:\path\><*.*> </r> </f> </d-> </l+> </p+>
   "fi /r"or "/s" 列出當前目錄和子目錄所有的文件信息;
   "fi /f" 僅列出能識別的文件
由于每次要進入DOS窗口運行程序相當不便,在這可創建快捷方式,把要分析的文章復制到FileInfo目錄下,用鼠標雙擊FileInfo主文件即可。FileInfo快捷方式如圖二。在快捷方式中的命令行中可以鍵入相關參數,如:FI.EXE /l /p+,此后用鼠標雙擊FileInfo快捷方式,會自動分析出FileInfo當前目錄內的所有文件,不包含子目錄。


圖二FileInfo快捷方式中命令參數配制

雙擊此快捷方式就可執行帶參數的FileInfo,顯示結果如圖三所示。


圖三 FileInfo分析文件的報告

在此例中,文件CHAP301.EXE被分析出是用VC6.0編譯的, CHAP303.EXE文件類型是Win GUI,就是Windows圖形用戶界面程序(一般FileInfo分析不出類型就報此類型)。另外此工具也可分析出程序是被何種軟件所加密的等。


共5頁: 1 [2] [3] [4] [5] 下一頁

熱詞搜索:

上一篇:SQL Server數據庫崩潰后的恢復之法
下一篇:一步一步教你加密解密技術——前言&基礎知識(1)

分享到: 收藏