目录

进程与线程的关系

动态链接库

服务

注册表

病毒对注册表的利用

1.和Run键相关的项

(1)Run键是病毒最青睐的自启动之处,该键的位置有两处

(2)RunOnce

(3)RunServicesOnce

(4)RunServices

(5)RunOnceEx

2.Run相关以外的自启动项

(1)UserInit

(2)load键

查看注册表自启动项的工具 Autoruns.exe

利用注册表改变文本文件所关联的程序

通常解决病毒修改文件关联的问题可以用以下方法,以.txt为例子

1.直接改注册表

2.利用文件夹选项对话框

利用注册表禁止某些程序的运行

说明:

解决办法


进程与线程的关系

线程是执行任务,完成功能的基本单位,而进程则为线程提供了生存空间和线程所需要的其他资源,程序则是包含资源分配管理代码以及线程执行调度代码的一个静态计算机代码集合

动态链接库

动态链接库DLL,它是Dynamic Link Library的缩写形式。动态链接库(DLL)是作为共享函数库的可执行文件(这里所谓的DLL是可执行程序,也是PE格式的文件,但是它不能够独立运行,只能够通过其他课运行的程序加载到内存中执行功能)。动态链接库提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。

虽然动态链接库不能运行,但是同一个动态链接库可以同时被多个进程加载到内存中,并且执行DLL中的功能。计算机病毒通常将病毒代码写到一个DLL文件中,然后想尽一切办法将此病毒代码加载到系统的某个进程中,如Explorer.exe桌面进程,这样Explorer.exe就会运行病毒代码了。这也是通常所说的病毒注入技术。

服务

windows 系统的许多功能都是通过服务来实现的。简单来讲可以将服务理解为在后台完成系统任务的程序,比如自动获取更新或者管理打印服务等。服务与系统的核心相关并拥有各种权限,因此一旦被不法分子掌握,很可能导致操作系统崩溃。比如2003年8月发作的冲击波(Worm.Blaster)病毒,它利用了RPC(Remote Procedure Call,远程过程调用)服务的漏洞,而RPC则是Windows XP必须运行的服务之一,该病毒发作时,你的计算机将会在60秒内自动关闭。

注册表

注册表指在Windows中使用的中央分层数据库,用于存储一个或多个用户、应用程序和硬件设备配置系统所必须的信息。注册表包含Windows在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序可以创建的文档类型、正在使用哪些端口以及包含了有关计算机如何运行的信息。

启动方法 Win + R -> regedit

HKEY_USERS保存着默认用户信息和当前登录用户信息。当一个域成员计算机启动并且被一个用户登录,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且这个信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。

病毒对注册表的利用

(注:最好在虚拟机中实验)打开注册表,点开如下路径,右键->新建字符串,可以自由取名,然后双击编辑,在数值数据中填入记事本程序所在路径。

重新启动虚拟机,记事本就会自动运行起来了

实际上除了注册表中的Run项,能够实现程序自启动的注册表项非常多

1.和Run键相关的项

(1)Run键是病毒最青睐的自启动之处,该键的位置有两处

可以看到这里是虚拟机工具的自启位置 

位于这两个键下的所有程序在每次启动登录时都会按顺序自动执行。

还有一个不被注意的Run键,位于注册表如下两个键位置

[HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\Policies\Explorer\Run]

[HKEY_LOCAL_MACHINE\SOFTWARE\Mircrosoft\Windows\CurrentVersion\Policies\Explorer\Run]

但是我看了下我的win7虚拟机,没有这两个键,应该是Windows版本不同的问题

(2)RunOnce

[HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\RunOnce]

[HKEY_LOCAL_MACHINE\SOFTWARE\Mircrosoft\Windows\CurrentVersion\RunOnce]

这两个键下的程序也可以自启动,但是与Run键不同的是,RunOnce下的程序仅会被自启动一次

(3)RunServicesOnce

[HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\RunServicesOnce]

[HKEY_LOCAL_MACHINE\SOFTWARE\Mircrosoft\Windows\CurrentVersion\RunServicesOnce]

这两个键下的程序会在系统加载时自动启动,并且仅仅执行一次

(4)RunServices

[HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\RunServices]

[HKEY_LOCAL_MACHINE\SOFTWARE\Mircrosoft\Windows\CurrentVersion\RunServices]

RunServices是继RunServicesOnce之后启动的程序

(5)RunOnceEx

[HKEY_CURRENT_USER\Software\Mircrosoft\Windows\CurrentVersion\RunOnceEx]

[HKEY_LOCAL_MACHINE\SOFTWARE\Mircrosoft\Windows\CurrentVersion\RunOnceEx]

该键是windows xp/2003 特有的自启动注册表项

2.Run相关以外的自启动项

(1)UserInit

这个的修改和前面的不太一样,需要点开Userinit编辑,然后在后面加上你的程序,比如记事本程序

(2)load键

[HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load]

这个win7也没有找到

查看注册表自启动项的工具 Autoruns.exe

该工具可列举所有能够实现程序自启动的注册表项,并且进行分类,还可以修改各个启动项的值使其直接在注册表中生效,同时可以通过右键菜单的jump to功能定位到注册表中相应的位置

利用注册表改变文本文件所关联的程序

各种类型的文件都要关联一个程序,从而使其可以被直接打开。当我们双击某种类型的文件时,如txt文件,操作系统将自动启动notepa.exe这个程序,并将此文本文件作为参数类型传递给记事本,从而使文本文件被打开。每种类型的文件实际上是通过windows注册表与相应的程序建立关联的。

在windows注册表的以下路径:HKEY_CLASSES_ROOT(或者HKEY_LOCAL_MACHINE\Software\CLASSES ,这两个路径效果是一样的) 下存储了所有类型文件所关联的程序。

比如上图的.txt类型的文件,展开后右边有一串默认的字符@%SystemRoot%\system32\notepad.exe,-470   如果将这个关联启动的程序替换成其他程序,那么双击.txt文件后就会运行我们所更改的程序。

注意:扩展名为.exe类型的文件是可执行的程序文件,它并不关联任何程序,双击这种类型的文件就会直接运行起来

通常解决病毒修改文件关联的问题可以用以下方法,以.txt为例子

1.直接改注册表

它改了,你就直接改回来就行

2.利用文件夹选项对话框

利用注册表禁止某些程序的运行

计算机病毒出来利用注册表运行程序之外,还可以利用注册表禁止某些程序运行。当然被注册的程序就是对病毒生存构成威胁的程序了,如杀毒软件、防火墙等等。

提示:利用注册表禁止某个程序运行,通常将这种技术叫做镜像劫持。也就是通过注册表项的设置达到禁止某些程序启动的目的

在上图路径下,新建一项,该项目的名字一定要注意,这个名字就是你将要禁止运行的程序的名字。例如禁用notepad.exe程序,就需要新建一个项目,名字为notepad.exe,然后再点开这个项,新建一个字符串,名称为Debugger,数值为“abc”(这是个无意义的字符,输别的也行,只要不是一个合法程序的完整路径就行)

说明:

注册表中Image File Execution Options项下的子项是一些可执行的程序,这些程序下如果建立了一个Debugger的字符串项,表示当这些程序运行之前要首先启动Debugger键值所标识的程序。其实微软公司设计这项的目的是为了调试程序,Debugger就是调试器的意思,键值字符串应该是一个调试器的绝对路径。当这里设置好后我们每次运行被拦截的程序时,操作系统会用调试的方式启动这个程序,也就是说首先启动调试器,然后用调试器去加载被拦截的程序。然而我们当时输入的是不是一个程序的有效路径。当运行记事本程序是,操作系统首先要起送abc这个调试器,可是这是一个不存在的程序路径,是非法的,系统无法找到这个调试器,于是就会弹出上图的错误提示。

当然我们不止能禁用记事本,还可以用这个方法来禁用注册表,只要将notepad.exe 换成 regedit.exe就行了

解决办法

其实被截止的并不是记事本或者注册表程序,而是所有文件名为notepad.exe和regedit.exe的程序。如果我们把word.exe改名为notepad.exe,同样它也无法运行了。知道这个原理只需要将记事本换一个名字就行,比如改成book.exe,这样记事本就可以运行了。同理,只要将注册表程序regedit.exe改成a.exe,然后运行a.exe,将被劫持的regedit.exe项目删除,再将a.exe改回regedit.exe就行了。

走进计算机病毒-基础知识相关推荐

  1. 第1章 初识计算机病毒 1.1 计算机病毒基础知识

    第1章   初识计算机病毒 这一章将从概念上简要介绍计算机病毒的基本知识以及计算机病毒的命名,通过对这些概念的了解,从而使我们能更方便的阅读有关计算机病毒信息的文档和书籍. 1.1 计算机病毒基础知识 ...

  2. 测试计算机操作基础知识,计算机病毒基础知识测试

    名称 (这是一个空白问题,您可以要求受访者留下个人信息,例如: 团队名称 1. 电脑病毒的意思是()* 2. 计算机病毒是指"一组计算机指令或程序代码计算机病毒的危害表现为,它们会编译或插入 ...

  3. 按计算机病毒工作原理可将其分为,计算机基础知识练习题3.doc

    计算机基础知识练习题3.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机基础知识练习题单元测试题 3一.单项选择题(每 ...

  4. (六)JS基础知识三(走进作用域和闭包)【三座大山之二,不会闭包,基本不会通过】

    JS基础知识三(作用域和闭包) 提问 作用域 自由变量 闭包 this 提问 this的不同应用场景,如何取值 手写bind函数 实际开发中闭包的应用场景,举例说明 创建10个a标签,点击的时候弹出对 ...

  5. 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...

    <计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...

  6. java 前端基础知识_【计算机·知识】关于前端的计算机基础知识

    原标题:[计算机·知识]关于前端的计算机基础知识 作为一个刚刚入门的程序猿,你是否对专业知识有足够的了解?今天新闻君带你走进前端的世界. 前端的语言接触起来相对于后端的语言要容易不少,但前端的语言也有 ...

  7. 计算机基础知识_2020年河北省高职单招计算机基础知识和实践技能培训

    本考纲是根据教育部2014年4月中华人民共和国教育部<中等职业学校专业教学标准(试行)>(教职成厅函[2014]11号)颁布的<中等职业学校计算机应用专业教学标准>.<中 ...

  8. 微型计算机硬件中访问速度最快的,习题一计算机基础知识.doc.doc

    习题一计算机基础知识.doc.doc 习题一 计算机基础知识 选择题 1.微型计算机系统包括 . A.主机和外设 B. 硬件系统和软件系统 C. 主机和各种应用软件 D. 运算器.控制器和存储器 2. ...

  9. 福建省计算机一级应用技术基础知识,求福建省计算机一级考试的基础题

    Ⅱ.考试内容 一.信息社会与计算机 1.信息.信息技术及主要特性: 2.信息学科.计算科学的发展和研究领域: 3.计算机的发展.特点及应用: 4.计算机中信息的存储表示及计量单位: ⑴数制及十.二.八 ...

  10. 计算机基础知识应用文档,计算机基础知识与应用

    计算机基础知识与应用Tag内容描述: 1.计算机应用基础知识计算机应用基础知识点计算机应用基础知识话题计算机应用基础知识计算机基础知识电子商务单击第一章计算机基础知识1.1946年2月15日世界上第一 ...

最新文章

  1. MySQL · 捉虫动态 · 并行复制外键约束问题二
  2. 输入三个字符串按由小到大输出
  3. mysql重启root不能登_Mysql 5.7.28初始化使用root无法登录
  4. Linux内核系统架构介绍
  5. 业界分享 | 阿里达摩院:超大规模预训练语言模型落地实践
  6. 兄弟们别加班了,老板不会因为你拼命写代码而感谢你啊~有木有啊
  7. qt制作一个简易的传输文件小工具
  8. 计算机多功能教室管理制度,多媒体教室管理制度
  9. Java导入导出Excel控件简介
  10. Beego项目打包部署到Linux服务器
  11. 【愚公系列】2022年04月 微信小程序-image图片
  12. [css]画圆形标签
  13. floyd算法----牛栏
  14. Intent 简介与详解
  15. Python爬虫实训案例之爬取豆瓣电影Top250并保存至excel
  16. 对RGB三个通道进行操作示例
  17. Learning a Deep Single Image Contrast Enhancer from Multi-Exposure Images阅读札记
  18. 20161128 已知小明同学其中考试成绩,数学97.5分,语文94.5分,英语95.5分,求小明同学的三科总成绩(结果保留一位小数)。...
  19. StringRedisTemplate报NullPointerException
  20. MapReduce计数器--详解

热门文章

  1. Github 插件之 Octotree 报错介绍与解决
  2. linux登陆命令行,如何使用linux命令行登陆
  3. 下载Postman并且汉化使用
  4. python类使用异步_异步Python类
  5. 十一、 人工变量之 “大M” 法
  6. 接待员如何向客人upsell_酒店前厅部概述-.ppt
  7. 屏幕共享技术及相关软件使用测评
  8. 使用matplotlib绘制高级图表
  9. 程序员面试逻辑题解析
  10. 后台第三方编辑器接入秀米编辑器整体流程