我知道你想收藏,但是只有关注才能获得更多的干货!
媒体号。:一碳科技作者:菜鸟君,漂亮、帅气、大方的粉丝们,从现在开始你们可以叫我“菜鸟君”了。一碳科技之后的文章会被菜鸟君接手,听说直接评论给菜鸟君会得到更快的回复!
实现蠕虫感染功能。
还记得上次菜鸟君教的“熊猫烧香换图标”功能吗?在这篇文章里,边肖教你把后缀为exe的文件图标改成我们自己的图标,效果和感染“熊猫烧香”病毒后差不多。
边肖在另一个媒体平台发现,这个教程似乎不能满足你读者的胃口,甚至有人请边肖来做一个“实现感染功能”的教程。所以,菜鸟君今天就来满足你的要求!
思考
老规矩,来说说想法。
第一步是复制病毒数据。
首先将整个病毒文件复制到一个新文件中。注意,这里我们需要以二进制模式打开病毒文件和新文件。
第二步是复制被感染的文件。
然后,我们把被感染文件的数据输入到Newfile的末尾,也就是病毒文件的数据后面。在这里,我们不需要知道什么是PE结构,只要遵循边肖的思路就可以了。
第三步是在运行时分解自身。
现在,我们已经可以运行新文件了,但是你找到它了吗?双击这个程序会直接运行我们的病毒程序,也就是Newfile开头的程序。仔细观察发现,Newfile的大小正好是病毒程序和被感染程序的大小之和,也就是说我们的病毒确实“感染”了被感染程序,但它只能直接执行我们的病毒程序。怎么解决?
我们可以这样做,首先分解新文件,然后一步一步地执行被感染的程序。我们的病毒程序是一个自带的程序,也就是说它可以感染其他程序,被感染后可以自己操作。
第四步,在被感染程序运行后,恢复被感染状态。
被感染的程序运行后,我们会恢复被感染的状态,即Newfile的原始状态。不懂的可以在源代码里细细品味。
整个过程会用视频发布。
开始输入代码
首先,第一步,这里会有一个问题。不能用fopen之类的文件操作功能打开我们的病毒程序,因为我们的病毒程序正在运行,也就是说不能fopen自己的,但是还是有办法的。我们可以用windows.h文件自带的CopyFileA函数把我们的病毒程序做一个拷贝,然后就可以操作菜鸟文件了吧?
将病毒数据复制到一个新文件中。
边肖在这里使用了一个测试文件,你可以在得到源代码后自己修改它。我们使用了三个函数,fopen、fread和fwrite,将病毒数据复制到一个新文件中。这个新文件告诉我们先不要关闭它,因为它以后会有用。
然后,我们将被感染文件的数据复制到新文件的末尾。
拆卸并运行
我们分解新文件,病毒程序,我们开始时,和被感染的程序,我们分解成一个名为1.exe的程序。在我们的病毒程序中,名为1.exe的程序将被直接执行。当1.exe的进程关闭时,病毒程序会被关闭,然后1.exe程序会被删除,会恢复到Newfile启动前的原始状态。
这么跟你说可能有点混乱,所以看代码和最后运行的视频吧!
由于病毒程序需要不断检测1.exe进程是否存在,从而判断被感染的程序是否关闭,我们需要写一个检测进程是否存在的函数,原理不多说了。边肖在源代码里写了很多注释,你可以慢慢看。
源代码获取模式
我知道你想收藏这篇文章。关注一碳科技,让你收藏够!
关注“一碳科技”,在评论区留言。菜鸟君会把源码地址回复给你!