PE(Portable Executable,可移植可执行文件)一般指 Windows 操作系统下的可执行文件格式。以下是一些感染 PE 文件的方法:
一、代码注入
1. 向目标 PE 文件的特定位置(如空白区域或代码间隙)写入恶意代码。当目标文件被执行时,恶意代码也会被加载执行。例如,找到文件中的未使用数据节,将恶意代码写入其中,并修改程序的入口点或其他关键位置,使其在执行原有程序逻辑之前先执行恶意代码。
2. 通过 DLL 注入的方式感染目标 PE 文件关联的进程。当目标程序启动时,恶意的 DLL 被加载到进程空间,从而实现对目标程序的间接感染。
二、病毒附加
1. 病毒程序可以将自身附加到 PE 文件的末尾。同时修改 PE 文件的入口点,使其在执行原程序之前先跳转到病毒代码部分。当病毒代码执行完毕后,再将控制权交还给原程序。
2. 一些复杂的病毒可能会采用多段式感染的方法,将病毒代码分散存储在 PE 文件的不同位置,并通过复杂的跳转逻辑来确保病毒在适当的时候被执行。
三、利用漏洞
1. 如果目标 PE 文件所依赖的软件或系统存在漏洞,攻击者可以利用这些漏洞来感染 PE 文件。例如,利用软件的缓冲区溢出漏洞,精心构造恶意数据,使程序在处理这些数据时执行攻击者指定的代码,从而实现感染。
2. 某些漏洞可能允许攻击者直接修改 PE 文件的关键结构,如导入表、导出表等,以插入恶意代码或指向恶意代码的指针。