老文章档案 · 2003 年

静态分析技术之基础知识

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-24 · 作者:嬴政天下整理收藏 人气: · 出处:嬴政天下整理收藏)

基础知识

一、虚拟地址和偏移量转换

由于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分析不出类型就报此类型)。另外此工具也可分析出程序是被何种软件所加密的等。

(出处:嬴政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史