目录
通常解决病毒修改文件关联的问题可以用以下方法,以.txt为例子
进程与线程的关系
线程是执行任务,完成功能的基本单位,而进程则为线程提供了生存空间和线程所需要的其他资源,程序则是包含资源分配管理代码以及线程执行调度代码的一个静态计算机代码集合
动态链接库
动态链接库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项,能够实现程序自启动的注册表项非常多