本套课在线学习视频(网盘地址,保存后即可免费观看):
https://pan.quark.cn/s/9c0baf082895
声明:所有发布内容来自网络,仅供用户学习交流测试网速使用,部分影片如有内嵌广告,请勿上当受骗。获取的所有内容请在24小时内删除,禁止非法恶意传播或商业用途。如有侵权,请联系删除,个人微信:sumith,防失联。
00:00 - Windows内存管理及VD结构学习
讨论集中在Windows操作系统如何进行内存管理,特别是关注了虚拟内存的组织方式(VD)及其与硬件寻址(如英特尔硬件层寻址)的关系。在讲解中,强调了Windows内存管理的三环结构以及内核层的六个链表管理。通过使用调试工具CE(可能指代某款计算机应急响应工具),演示了如何查看和分析进程的内存布局,包括不同内存区域的属性(如私有或映射、大小、页属性等)。同时,指出了虚拟内存属性与物理内存页表(PTE)之间的区别,强调了硬件是软件运行的基础,软件的内存描述是在硬件基础上的抽象管理。最后,提出通过创建一个简单的工程来进一步观察和学习内存的申请与管理。
05:04 - 虚拟内存和物理内存的管理与分配机制
讨论集中在虚拟内存的申请和管理上,强调了虚拟地址并不直接对应物理内存,而是需要经过特定操作才能将虚拟地址与物理页关联起来。阐明了操作系统和硬件(如英特尔平台)在内存管理上的不同颗粒度,以及如何通过设置内存属性来管理内存的访问和分配。此外,还介绍了如何通过特定命令查看进程的虚拟内存布局,以及如何理解和解析虚拟内存的使用。
12:57 - 深入解析VD结构和内存管理
本次讨论集中在VD结构及其在进程中的不可见性,特别强调了VD结构地址、树节点的层级、SPA(内存申请的起始地址)、以及内存的结束地址的计算方式。此外,还探讨了内存的两种类型:私有和映射,以及它们在内存管理中的作用和区别。讨论中还提到了内存属性的表示及其不精确性,并且解释了如何通过特定的数值计算来确定申请的内存大小。最后,对VD结构的三种形态进行了说明,包括私有内存和映射内存的不同结构和用途。整体上,这次讨论深入解析了VD结构在内存管理中的关键作用和其复杂性。
20:23 - 深入解析内存管理机制
本次讨论主要围绕内存管理的多个关键点,包括flag的使用、锁的机制以防止多人修改,以及V版本的使用频率。进一步深入探讨了如何通过加14的位置识别内存的私有类型和是否提交内存的属性。对话中还提到通过解析页属性来设定内存的保护级别,并详细讲解了页属性的转换和内存申请、修改的过程。特别指出,内存属性的实际值与运行时的值可能不同,强调了理解内存管理中的细节对于程序优化的重要性。
27:35 - 探讨内存权限修改与锁定机制
对话内容涉及如何通过特定操作改变内存的读写执行权限,以及如何锁定这些改变以防止被某些游戏等应用更改。讨论了通过调整特定位来实现内存权限的更改,并详细说明了锁定这些更改的步骤。此外,还提到了需要对两个特定的值进行修改以实现锁定,并探讨了相关的技术细节和原理。
35:44 - 深入解析写保护和写拷贝机制
讨论重点在于解释写保护和写拷贝在多进程共享同一物理内存时的作用。当不同进程加载同一份数据(如deal)时,虽然它们可能使用不同的虚拟地址,但这些地址映射到同一份物理内存。一旦有进程尝试修改共享的物理内存,写保护机制会被触发,防止修改影响其他进程的数据。机制通过复制当前的物理内存页面到一个新的物理内存位置,从而允许一个进程进行修改而不干扰其他进程。此外,还讨论了强制写入(强写)的概念,以及如何通过特定函数调用来处理写拷贝,确保修改不会影响后续操作。还提到了全局钩子的原理,说明它与写拷贝机制的不同。
42:42 - 明天课程预告及作业指导
讨论了即将讲解的课程内容,并布置了相关作业,要求学生理解并解析VD,注意内存大小和结构的打印。特别强调了对数据结构的理解和使用,建议参考提供的函数,并注意优化和64位编码的使用。同时,警告不要在内核中使用递归,用Windows为例说明正确的做法,并鼓励尝试。最后,提醒学生利用已提供的资源,避免不必要的搜索。
欢 迎 关 注
更多精彩内容关注下方公众号:逆向有你
个人微信:ivu123ivu
每日自动更新各类学习教程及工具下载合集
https://pan.quark.cn/s/8c91ccb5a474
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...