System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于电子取证领域,涉及一种搜索内存数据中veracrypt密钥的方法。
技术介绍
1、veracrypt是一个开源的磁盘加密软件,用于创建和管理加密的磁盘分区或容器。它可以帮助用户在计算机上创建一个加密的虚拟磁盘,将文件和数据加密保存,以保护用户的隐私和敏感信息。veracrypt是一个继承自truecrypt项目的分支,后者于2014年停止开发。
2、veracrypt提供了多种加密算法和方法,包括aes、serpent和twofish等,用户可以根据自己的需求选择适合的加密方式。此外,veracrypt还支持隐藏卷和隐藏操作系统等高级特性,以增强数据的安全性。
3、用户可以使用veracrypt创建一个加密的容器文件,或者对整个磁盘分区进行加密。只有在正确的密码或密钥被输入后,才能访问和查看容器或分区中的内容。这使得即使在物理设备丢失或被盗的情况下,用户的数据也能保持安全。
4、总而言之,veracrypt是一个用于数据加密和保护隐私的工具,适用于个人用户和组织,用于在计算机上创建安全的加密存储区域。
5、veracrypt方便了我们数据的保密,但也给电子取证工作带来了困扰。电子数据取证在现场采集了veracrypt的加密容器文件或者加密磁盘以后,对加密容器文件或者加密磁盘进行检查时,在没有得到用户密码的情况下是无法查看里面的加密的内容。
6、veracrypt的加密容器文件或者加密磁盘在被挂载在系统上正常工作的时候,解密的密钥是存在于系统内存中的,可以采
技术实现思路
1、本申请针现有技术的技术问题,提供一种搜索内存数据中veracrypt密钥的方法:基于veracrypt驱动在windows操作系统内核中分配的解密密钥数据结构来提取解密密钥。因为veracrypt的解密数据的功能全位于其驱动程序中,veracrypt驱动常驻在windows操作系统内核中,veracrypt驱动需要在内核中分配内存来保存解密密钥,这样能持续快速地在内存中解密数据。
2、本申请所提供的方法包括以下步骤:
3、s100:查找物理内存中的标志字符driv,其中,标志字符driv为
4、windows操作系统的内核为驱动对象分配内存所标记的标签;
5、s200:判断是否查找到物理内存中的标志字符driv,如果是,执行步骤s300,否则,执行步骤s100;
6、s300:判断所查找到的标志字符driv是否对应有效的veracrypt驱动对象,如果是,执行步骤s400,否则,执行步骤s100,步骤s300包括以下步骤:
7、s301:以标志字符driv的起始地址为基准,向前偏移4字节所寻址地址,作为当前驱动对象的首地址;
8、s302:获取当前驱动对象的字节长度:以当前驱动对象的首地址为起始地址,连续读取2字节内容作为当前驱动对象的字节长度;
9、s303:判断当前驱动对象的字节长度是否为有效值,如果是,执行步骤s304,否则,执行步骤s100;
10、s304:获取当前驱动对象的类型:以当前驱动对象的首地址为起始地址,向后偏移3字节,读取所寻址的1字节内容作为当前驱动对象的类型;
11、s305:判断当前驱动对象的类型是否为有效值,如果是,执行步骤s306,否则,执行步骤s100;
12、s306:获取当前驱动对象的名字指针:以当前驱动对象的首地址为起始地址,向后偏移336字节,读取所寻址的连续20字节内容作为当前驱动对象的名字指针;
13、s307:采用当前驱动对象的名字指针并寻址,判断获取所寻址的连续9字节内容的字符串是否为veracrypt,如果是,表示当前驱动对象是veracrypt驱动,执行步骤s400,否则,执行步骤s100;
14、s400:判断设备对象的类型是否为设备卷,如果是,执行步骤s600,否则,执行步骤s500;
15、s500:寻址下一设备对象,执行步骤s400;
16、s600:获取扩展对象;
17、s700:获取加密信息对象,其中,加密信息对象包括加密/解密信息及veracrypt密钥;
18、s800:获取veracrypt密钥。
19、优选地,步骤s303包括以下步骤:当前驱动对象的字节长度大于0xf8,表示当前驱动对象的字节长度为有效值;
20、步骤s305包括以下步骤:当前驱动对象的类型等于0x01,表示当前驱动对象的类型为有效值。
21、优选地,步骤s400包括以下步骤:
22、s401:获取设备的指针:以当前驱动对象的首地址为起始地址,向后偏移8字节,读取所寻址的连续8字节字节内容作为当前驱动对象的设备的指针;
23、s402:采用设备的指针并寻址,获取所寻址的连续336字节内容作为设备对象;
24、s403:获取设备对象的类型:以设备对象的首地址为起始地址,向后偏移72字节,读取所寻址的1字节内容作为设备对象的类型;
25、s404:判断设备对象的类型是否为设备卷,如果是,执行步骤s600,否则,执行步骤s500。
26、优选地,步骤s404包括以下步骤:
27、判断设备对象的类型的值是否为0x07,如果是,表示设备对象为设备卷,执行步骤s600,否则,执行步骤s500。
28、优选地,步骤s500中寻址下一设备对象的步骤包括:
29、s501:以设备对象的首地址为起始地址,向后偏移16字节,读取所寻址的连续8字节内容作为下一设备对象的寻址地址;
30、s502:采用下一设备对象的寻址地址进行寻址,获取下一设备对象。
31、优选地,步骤s600包括以下步骤:
32、s601:获取扩展对象的指针:以设备对象的首地址为起始地址,向后偏移64字节,读取所寻址的连续8字节内容作为扩展对象的指针;
33、s602:获取扩展对象:采用扩展对象的指针并寻址,获取所寻址的连续1504字节内容作为扩展对象。
34、优选地,步骤s700包括以下步骤:
35、s701:获取加密信息对象的指针:以扩展对象的首地址为起始地址,向后偏移144字节,读取所寻址的连续8字节内容作为加密信息对象的指针;
36、s702:获取加密信息对象:采用加密信息对象的指针并寻址,获取所寻址的连续17512字节内容作为加密信息对象。
37、优选地,步骤s800包括以下步骤:
38、以加密信息对象的首地址为起始地址,向后偏移12字节,读取所寻址的连续5324字节内容作为veracrypt密钥。
...
【技术保护点】
1.一种搜索内存数据中Veracrypt密钥的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,
3.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S400包括以下步骤:
4.根据权利要求3所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S404包括以下步骤:
5.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S500中寻址下一设备对象的步骤包括:
6.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S600包括以下步骤:
7.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S700包括以下步骤:
8.根据权利要求1所述的一种搜索内存数据中Veracrypt密钥的方法,其特征在于,步骤S800包括以下步骤:
【技术特征摘要】
1.一种搜索内存数据中veracrypt密钥的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种搜索内存数据中veracrypt密钥的方法,其特征在于,
3.根据权利要求1所述的一种搜索内存数据中veracrypt密钥的方法,其特征在于,步骤s400包括以下步骤:
4.根据权利要求3所述的一种搜索内存数据中veracrypt密钥的方法,其特征在于,步骤s404包括以下步骤:
5.根据权利要求1所述的一种搜...
【专利技术属性】
技术研发人员:梁效宁,张佳强,韩勇,
申请(专利权)人:四川效率源信息安全技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。