前面已经介绍过,image是pin定义的一种object,image表示所有与可执行程序相关的数据结构,共享库也可以用image抽象表示,即image可以表示exe,dll等映像文件。pin中提供了几个可以检测image的工具:Tests目录下的imageLoad可以检测image的详细信息:包括image所包含的section、routine和instruction信息。ManualExamples目录下的imageload可以检测程序运行时load和unload了哪些image。
顺便说说这两天看的一篇论文Dynamic Program Analysis of Microsoft Windows Applications,提到pin只能监控其控制下的程序,不能监控内核态“Pin has full control of everything that executes in user mode, but loses control in kernel mode.”