内核级病毒与木马攻防:windows可执行文件结构解析及常用工具

大多数人使用windows系统,相必对其.exe结尾的文件印象深刻,执行任何程序时,你双击该文件即可,这个文件就是系统的可执行文件,我们需要了解其组成结构才能对其进行侵入,劫持或注入恶意代码。

.exe文件也叫PE文件,它由一系列段头和段来组成。它一开始是一系列段头数据结构,用于描述各个段的相关性质,接下来就是包含代码和数据的各种段。有几个段特别值得注意,.text段包含CPU可以执行的指令,其他所有段包含数据或者是辅助CPU执行该段里面指令的相关信息,这个段是唯一包含可执行代码的段。.rdata包含引入和导出的数据,同时它还包含只读数据。.data段包含程序的全局数据,也就是这里的数据代码段中的代码可以随意访问,而程序用到的局部数据则不会存储在这个段。.rsrc段包含程序资源,例如菜单,图标,字符串等。

在windows系统上,最常用的查看PE结构的程序叫PEView,其界面如下:

内核级病毒与木马攻防:windows可执行文件结构解析及常用工具_第1张图片

左边面板展示了它读取.exe文件所获得的各种头部信息,一开始的IMAGE_DOS_HEADER和MS_DOS sub program没有意义,接下来的段头是IMAGE_NT_HEADERS里面的IMAGE_FILE_HEADER段就包含了有关该exe文件的一些重要信息,例如展示了该文件的编译时间,当然这个时间可以被更改,黑客往往会将恶意代码先注入到程序,然后在编译成可执行文件,这样出来的exe文件在这个段里对应时间就会比较新,于是黑客就会对其进行修改,这样就如人看不出相应程序曾经被编译过。

里面的IMAGE_OPTINAL_HEADER则包含了很多重要信息,例如里面的Subsystem字段用于表明程序时窗口类型还是命令行类型。如果它取值是IMAGE_SUBSYSTEM_WINDOWS_GUI那就是

你可能感兴趣的:(内核级病毒与木马攻防战,黑客,windows,代码分析工具)