4.4 初始分析时的桌面行为

在对一个新打开的文件进行初始自动分析的过程中,桌面上会发生大量活动。通过观察分析过程中的各种桌面显示,用户可初步了解分析情况。你所观察到的桌面活动包括以下内容。

  • 消息输出窗口显示的进度消息。

  • 反汇编窗口显示的初始位置和反汇编输出。

  • Functions 窗口中显示的初始值,以及在分析过程中的定期更新。

  • 当二进制文件中的新区域被识别为代码和数据,代码块被进一步识别为函数,以及最后使用IDA 的模式匹配技术将函数识别为代码块时,导航带的变化情况。

  • 当前位置指示符在导航带上移动,指明当前正在分析的区域。

下面的输出是在对一个新打开的二进制文件进行初始分析时 IDA 生成的典型消息。值得注意的是,这些消息记述了分析过程,并为我们了解 IDA 在分析过程中所执行的操作序列提供了帮助。

  Loading file 'C:\IdaBook\ch4_example.exe' into database...  
  Detected file format: Portable executable for 80386 (PE)  
    0. Creating a new segment  (00401000-0040C000) ... ... OK  
    1. Creating a new segment  (0040C000-0040E000) ... ... OK  
    2. Creating a new segment  (0040E000-00411000) ... ... OK 
  Reading imports directory...  
    3. Creating a new segment  (0040C120-0040E000) ... ... OK  
  Plan  FLIRT signature: Microsoft VisualC 2-10/net runtime  
  autoload.cfg: vc32rtf.sig autoloads mssdk.til  
  Assuming __cdecl calling convention by default  
  main() function at 401070, named "_main"  
  Marking typical code sequences...
  Flushing buffers, please wait...ok  
  File 'C:\IdaBook\ch4_example.exe' is successfully loaded into the database.  
  Compiling file 'C:\Program Files\IdaPro\idc\ida.idc'...  
  Executing function 'main'...  
  Compiling file 'C:\Program Files\IdaPro\idc\onload.idc'...  
  Executing function 'OnLoad'...  
  IDA is analysing the input file...  
➊ You may start to explore the input file right now.  
  ------------------------------------------------------------------------------  
  Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)]  
  IDAPython v1.4.2 final (serial 0) (c) The IDAPython Team  
  idapython@googlegroups.com 
  ------------------------------------------------------------------------------  
  Using FLIRT signature: Microsoft VisualC 2-10/net runtime  
  Propagating type information...  
  Function argument information has been propagated  
➋ The initial autoanalysis has been finished.  

其中,You may start to explore the input file right now(➊,现在可以开始研究输入文件了)和 The initial autoanalysis has been finished (➋,初始分析已完成)是两条特别有用的进程消息。第一条消息通知用户,IDA 的分析已取得巨大进展,可以开始浏览各种数据显示窗口。但是,浏览并不意味着更改,你应该等到分析彻底完成,再对数据库进行修改。如果你尝试在分析完成之前更改数据库,分析引擎随后可能会修改你所做的更改,或者你的做法会导致分析引擎无法正常工作。第二条消息的意思相当明显,它表示自此以后,桌面数据显示窗口的内容将不再自动更改。这时,你可以对数据库进行任意修改。

目录