没有合适的资源?快使用搜索试试~ 我知道了~
研究报告1
需积分: 0 0 下载量 118 浏览量
2022-08-04
00:25:59
上传
评论
收藏 1.38MB PDF 举报
温馨提示
试读
11页
一、简介此时实验中,我们主要需要掌握下面的内容1.1 注册表读取注册表的读写是本次实验的重点内容,主要的读取流程如下1.打开在注册表中的键2.查询打开键的数据信
资源详情
资源评论
资源推荐
1.3 文件属性获取
Windows 并没有提供一个直接获取文件版本属性的 API,我们需要调用多个 API
才能读取到我们需要的属性,比如说我们想要获取到文件的 Description,我们应
该:
1. 读取文件版本信息内容的大小
2. 申请对应大小的缓冲区,将文件版本信息读取到缓冲区中
3. 调用 API 解析内容,获取需要的属性
1.4 文件的遍历
在获取基于目录的自启动文件的时候,我们需要遍历一个目录下的文件。我们可以
使用 Windows 提供的 API,实验时使用 Qt 进行展示,所以直接使用 Qt 提供的相
比较更加简单,具体流程如下,获取到文件路径之后,我们便可以通过上述方式获
取文件的属性
1.5 签名验证
Windows 中提供了相应的两个库 wintrust.h,wincrypt.h,我们使用其检查是否
包含签名,签名是否可信任,具体流程文档中有详解,见 Example C Program:
Verifying the Signature of a PE File
二、Logon:基于启动目录和注册表
2.1 原理
Windows 启动目录主要有两个:
• %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
• %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs\Startup
在启动目录的程序在系统启动的时候会自动加载并运行,我们只需要遍历其
中的文件即可
在注册表中添加对应的数据,也可以实现自启动,主要的键有:
• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\Current
Version\Run
• HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
通过读取键下面的值,我们也可以获取到自启动项
2.2 读取实现
对于启动目录,我们可以只要遍历这两个目录下的所有文件即可,可以使用 Qt 中
提供的 API 进行实现,比如 QDir, QFileinfo 等,具体流程见[文件属性获取]
对于注册表中注册的所有自启动项,通过对注册表键的读取即可,具体流程见 [注
册表读取]
2.3 隐秘性
对于在启动目录中的程序,会显式的显示在 Windows 菜单栏,容易被发觉
对于在注册表中定义的自启动项目,难以被发现
三、Services: 系统服务
3.1 原理
系统服务的自启动项位于下面的注册表键中:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
3.2 读取实现
借助 Autoruns 工具,我们可以发现,对应注册表键下的子键为对应的服务名,子
键中包含一些对应的值信息,比如说 ImagePath, Type,通过判断 Type 类型,我们
便可以获取到自启动服务项,ImagePath 指定了启动服务的镜像文件,描述信息并
剩余10页未读,继续阅读
士多霹雳酱
- 粉丝: 22
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0