也许很多人都认为编写病毒十分困难,其实并不尽然,然而可以说病毒最有价值的地方只有两个:
1.在于作者赋予的强大漏洞利用。
2.在于其强大的传染能力。
那么,现在讲的就是EXE病毒的感染。
要想感染,就是企图将病毒的代码插入到别的EXE中使得打开EXE就相当于打开了自己。
网络上有些方法是通过给pe文件加节的。
对于PE文件的结构要有很好的理解,不然很难写出来,所以我们不学这种,学习另一种。
Exe文件都有资源,储存在EXE文件内部,比如说一些图片,如图标。
图标是二进制文件,同样的一个EXE文件也是一个二进制文件,要想感染文件,不如尝试一下让别的EXE感染我们的文件吧!
那么如何实现,其实我们可以先将自己的EXE复制一份,然后将目标文件当做资源注入到自己的EXE文件中,再将处理过的EXE文件替换原来的正常EXE就行了,那如何实现运行后将程序交接给原程序呢?我们可以这样:在运行时先执行自己的EXE病毒代码,再将真正的EXE文件吐出来并运行。
总的来说,就是将源文件吞入,在以自己替换原来的文件。
打开时其实是运行的是自己,运行完后才运行原来的程序。
容易理解吧!
直接上代码,其实windows实现了几个厉害的API;
BeginUpdataResource
void KillExeFile(char *str) //感染目标文件 str为路径
{
/*for(int i=0;i<=strlen(str);i++)
if(str[i]=='$')
return ;
*/
if(isKill(str))
{
printf