蠕虫病毒感染功能!C语言实例教学:纯代码教学+赠送源码!

我知道你想收藏,但是,关注才能获取更多干货哦!

媒体号:一碳科技作者:菜鸟君

各位美丽帅气大方的粉丝们,从现在开始你们就可以叫我“菜鸟君”啦,《一碳科技》以后的文章就开始由菜鸟君接手啦,听说直接给菜鸟君评论会更快得到回复哦!

实现蠕虫病毒的感染功能

还记得上一次菜鸟君教大家做的“熊猫烧香换图标”功能吗?在这篇文章中,小编教大家将后缀为exe的文件图标更改成了我们自己的图标,它的作用效果类似于“熊猫烧香”病毒感染过后的效果。

而小编在另一个媒体平台中发现,这个教程似乎还不能满足各位看官的胃口,有些人甚至让小编出一个“实现感染功能”的教程,所以,菜鸟君今天就满足你们的要求!

思路

按照惯例,我们来说说思路。

第一步,复制病毒数据

先将整个病毒文件复制到一个新的文件中(下文称Newfile),注意,这里我们需要以二进制的方式打开病毒文件和Newfile。

第二步,复制被感染文件

然后,我们将被感染文件的数据输入到Newfile文件的末尾,也就是病毒文件数据的后面,在这里我们不需要了解什么PE结构,只需要你们跟着小编的思路来就行了

第三步,运行时分解自身

在这时候,我们已经可以运行Newfile这个文件了,但是你们发现没有,双击打开这个程序会直接运行我们的病毒程序,也就是Newfile文件中最开头的那个程序,而仔细观察发现,Newfile的大小恰恰是病毒程序与被感染程序的大小总和,这就说明我们的病毒确确实实“感染”到被感染程序上了,但是它只能直接执行我们的病毒程序,如何解决呢?

我们可以这么做,先分解Newfile然后在分步执行被感染程序有和病毒程序,我们的病毒程序属于自包含程序,也就是说它能感染到其他程序中,并且感染之后还能对自身进行操作(Newfile)。

第四步,被感染程序运行完毕之后恢复被感染状态

在被感染程序运行完毕之后,我们就将恢复被感染状态,也就是恢复到Newfile原先的状态,不明白的小伙伴可以在源码中细细品味。

整个过程菜鸟君会以视频的方式发布出来。

开始敲代码

首先进行第一步(复制病毒数据),这里会遇到一个问题我们无法使用fopen等文件操作函数打开我们的病毒程序,因为我们的病毒程序正在运行之中,也就是说我们是不能fopen我们本身的,但办法还是有的,我们可以使用windows.h文件自带的CopyFileA()函数将我们的病毒程序复制一份(称为菜鸟),然后我们对菜鸟文件进行操作不就行了吗?

复制病毒数据到新的文件中

小编在这里使用了一个测试的文件,各位看官在获取源码之后可自行修改。我们使用了fopen、fread、fwrite这三个函数将病毒数据复制到了一个新的文件中,这个新的文件指针我们先不要关闭,因为在后面还有用。

紧接着我们将被感染文件的数据复制到Newfile的末尾。

分解并运行

我们将Newfile进行分解,病毒程序我们已经在开头就启动了,而被感染程序我们将它分解成名为1.exe的程序,在我们的病毒程序中会直接执行名为1.exe的程序,当1.exe的进程关闭时,病毒程序就会关闭(这取决于你们),然后将1.exe程序删除,恢复到Newfile未启动前的模样。

这么跟大家说可能会有点蒙,所以还是看代码和最后运行的视频吧!

由于病毒程序需要不断检测1.exe进程是否存在,以此来判断被感染程序是否关闭,所以我们需要写一个检测进程是否存在的功能,原理就不多说了,小编在源码里写了很多注释,你们可以慢慢看。

获取源码方式

我知道你想收藏本篇文章,关注《一碳科技》让你收藏个够!

关注《一碳科技》并在评论区留言,并私信关键字:感染源码,即可获得程序源码。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片