PE病毒初探——向exe注入代码
PE文件其实就是Windows可执行文件,关于它的一些简要介绍摘自百度: PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。 http://baike.baidu.com/view/1087038.htm 有一种病毒是针对PE文件进行的操作,他们会感染一些exe,将自己的代码添加到exe中并在某处悄悄地窃取执行权限执行自己的代码进行破坏或者是其他不为人知的勾当。 才写了个头就跑去跟个程旭媛讨论技术问题去了,不禁让我想起之前的一张图片。。程序员苦逼不解释。 下面就进入正题。 1、PE文件格式 PE文件格式游如下图给出 2、代码注入 由PE格式可以知道,PE文件的数据和代码都存储在PE头之后的一些session中,其中有些session的属性是可执行的,里面的数据就能被当成计算机指令在cpu中执行。 注入代码的目标就是这些可执行的session(其实还有一种注入方法是增加额外的session,但是这样做会增加exe文件的大小,不过这样可以放更多的代码,由于这次要插入的代码数量较小所以选择已经存在的session下手)。 由于文件在磁盘中存储是按块存储的,每块的大小是固定的,因此这样会在某些数据中存在额外多余的部分