从(一)中建立了初步的注入代码后,需要把用来占位的11223344H改为相应的地址,用一个函数来完成.
利用Windows搜索文件的特点,如果将病毒放在System32文件夹下,那么,WinExec路径参数只需传递病毒文件名即可(如Virus.exe).
打开文件进行注入感染,过程是:CreateFile()->CreateFileMapping()->MapViewOfFile()->InjectHelper()->UnMapViewOfFile(),CloseHandle().关键代码在于InjectHelper,是注入感染的帮助函数.用MapViewOfFile得到文件的内存指针,然后将指针传递给InjectHelper(),详细代码如下:
利用BYTE*指针(即char*指针)指向buffer来完成指针的移动操作比较容易理解,但是需要做大量的WORD和DWORD的转换,基本这样就完成了对一个文件的注入感染了.过程中没有引入PE文件头的各类结构,都是用指针定位,所以需要对PE结构有一定的理解.
To be continue...