当前位置: 首页 > news >正文

windows手工杀毒-寻找可疑进程之内存

上篇回顾:windows手工杀毒-寻找可疑进程之线程-CSDN博客
        上篇我们介绍了如何通过可疑线程发现可疑进程,可以通过线程的开始地址,线程的开始时间与进程的开始时间的间隔,以及线程数量发现可疑线程。本篇介绍一种新的发现可疑进程的方式。通过进程的内存

术语解析:

比特:

比特(bit)是一种容量单位,一个比特位可以保存0或1两种数据。

字节:

字节(Byte)也是一种容量单位,一个Byte等于8bit

其他容量单位:

1B=8bit,1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB

内存:

        内存是电脑的重要组成部分,进程加载的系统资源,比如进程模块,进程启动文件等都暂存在内存中,供CPU调度使用。

内存地址:

内存按照顺序编号,每个编号对应一个字节的内存容量。

内存页:

内存结束地址减去内存开始地址,得到的大小是这段内存的容量,即这个范围内的内存可以保存多少数据。按照指定内存容量,对电脑所有内存分成容量相同页,每个页就是一个内存页

内存页属性:

对内存页进行能力区分,就是某个编号的内存能用来干什么,简单分为读属性,写属性,和执行属性。

  • 读属性:CPU可以读取这个内存页的内容
  • 写属性:CPU可以向这个内存页写入内容
  • 执行属性:CPU可以将这个内存页的内容当作可执行的指令,执行对应的计算
     

如何查看进程的内存

我们可以使用火绒剑查看进程内存列表

如何判断可疑内存

根据内存页属性判断可疑内存

windows可执行文件是按PE格式存储的,会按照数据的使用方式不同,分别被加载到不同内存属性的页中,比如有的数据是只能读取的数据,那就会加载到有只读内存属性的内存页上,有的数据是可读可写的就加载到可读可写的内存页上。通常进程的内存空间不会出现同时拥有可写可执行页属性的内存页

根据内存内容判断可疑内存

        根据不同文件的格式,匹配搜索内存内容,确定可疑内存。
        比如我在工作中遇到一种浏览器劫持的病毒,就是当你打开浏览器时他会自动跳转到指定广告页面,在explore的内存中就发现了用来建立恶意SSL链接的RSA的私钥。
        再比如之前介绍的进程模块的数据也是保存在内存中的,正常情况下进程使用的模块,在进程模块列表中都能看到。但使用内存映射,或直接内存写入等方式加载的进程模块,在模块列表中是看不到的。通过搜索内存,发现的不在进程模块列表中的模块内存可能是可疑内存


http://www.mrgr.cn/news/22546.html

相关文章:

  • 1986-2015年 中国城镇住户调查微观数据UHS
  • Oracle(114)什么是增量备份(Incremental Backup)?
  • C++如何设计函数多返回值以及如何加速输入输出效率
  • TensorFlow
  • 无人机专业大学,除了理论还必须会组装、调试、硬件才更好就业
  • 【数据结构】排序算法系列——选择排序(附源码+图解)
  • 华为OD机试真题 - 考古学家 - 递归(Python/JS/C/C++ 2024 D卷 200分)
  • Exchange 服务器存档配额配置方法及注意事项
  • 手撕Python之生成器、装饰器、异常
  • Linux压缩、解压缩、查看压缩内容详解使用(tar、gzip、bzip2、xz、jar、war、aar)
  • Python知识点:如何使用Python进行Excel文件操作(OpenPyXL、Pandas)
  • 【文档规范】嵌入式软件代码开发测试文档
  • AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出
  • tensorflow-MLP python入门
  • 【LVI-SAM】激光雷达点云地图优化LIO-SAM 之mapOptimization实现细节
  • Maven项目父模块POM中不应包含实际依赖(dependency)
  • 详细分析Mysql配置文件路径的查找(多种方法)
  • 详细分析linux中的MySql跳过密码验证以及Bug(图文)
  • Linux查找文件 find、locate、grep等使用说明
  • EmguCV学习笔记 VB.Net 11.3 DNN其它