本套课在线学习视频(网盘地址,保存后即可免费观看):
https://pan.quark.cn/s/c23b0c3570b0
声明:所有发布内容来自网络,仅供用户学习交流测试网速使用,部分影片如有内嵌广告,请勿上当受骗。获取的所有内容请在24小时内删除,禁止非法恶意传播或商业用途。如有侵权,请联系删除,个人微信:ivu123ivu,防失联。
00:00 - 深入研究SH及异常处理机制
本次课程将深入探讨SH主题,预计需要3到4节课来全面覆盖,包括编辑拓展、try case语法等相关内容。重点讲解异常处理和修复,以及异常处理结构的底层原理,包括单向链表的使用和异常处理函数指针的配置。特别强调了SEH异常与线程的关联,以及在不同编译器下异常处理的差异。通过分析TB和FS0的结构,解释了异常处理节点的插入和移除机制,强调了异常处理与具体函数的关联性及其生命周期。此外,还涉及了手工插入异常处理节点的过程,以及与编译器相关的异常处理细节。
11:06 - 函数插桩及异常模拟方法讲解
讲解了如何对一个函数进行插桩操作,包括局部变量的定义、复制、FS0的取值与保存、构造节点、挂载节点以及模拟异常过程。强调了在函数返回前移除节点的重要性,并展示了整个操作的细节流程。
15:42 - 深入解析异常处理机制
本次讨论主要围绕异常派发和处理函数展开,涉及异常登记、contest的上下文环境保存、异常嵌套状态以及异常处理的递归机制。通过具体的编程实例,详细讲解了异常处理中的返回参数、异常捕获与抛出机制,以及如何通过修改EIP来修复异常,最终解释了异常处理的底层语法和机制,强调了异常处理在编程中的重要性和复杂性。
21:47 - 分析软件派发流程及校验机制
讨论集中于一个特定软件的派发流程及执行时的校验机制。流程始于对软件如何分派至目标进行分析,并探讨了执行过程中是否允许提取(摘)数据的可能性。进一步地,讨论触及了通过FS0获取所有列表的途径,表明了执行时数据提取的灵活性。随后,深入分析了VH处理及其成功与否对后续操作的影响,强调了堆栈中结构校验的重要性,包括如何通过TB(线程块)来验证结构的合法性,以及相关的汇编语言实现细节。此外,还涉及了对栈顶和栈底的访问以及相关的安全校验,最终指出了函数返回值在流程中的作用及其意义。
26:41 - 解析函数调用与异常链表处理
讨论集中于如何处理FS异常链表,特别强调了对FS0的调用和转换功能号的查询过程。详细说明了通过特定函数查询异常状态,并对查询结果进行分析,涉及位操作和状态判断,旨在识别和处理进程的异常增强选项。
32:17 - 深入解析函数校验和结构校验流程
对话详细说明了一个特定函数的功能,即通过获取FS链表、校验限制、检查结构大小与对齐情况、以及函数和模块的有效性来确保安全性和完整性。首先,函数会获取FS链表并清空,然后检查是否到达异常列表末尾,以负一表示空。接着,通过关闭某些校验来确定增强的S一的校验状态。之后,通过比较limit和FS结构,判断是否超出边界,并标记异常。此外,还校验了结构的大小、四字节对齐、函数相对于栈顶的位置,以及函数在模块内的位置,以确保没有非法修改或访问。最终目的是确保内存和执行安全,防止非法行为。
38:10 - 深入解析异常处理机制
本次讨论深入探讨了函数执行、异常处理机制及其在编程中的应用。首先,通过分析函数指针的传递、参数压栈过程,说明了异常登记的重要性。接着,详细讲解了结构指针、局部变量的处理方式,以及如何通过分析链表结构来实现异常处理的逻辑。特别强调了在异常处理中,如何利用结构指针和局部变量来定位和解决问题。最后,探讨了嵌套异常处理的实现原理,以及在实际编程中如何应用SEH(Structured Exception Handling)进行异常的捕获和处理。整个讨论旨在帮助理解异常处理的底层机制,以及如何在遇到问题时有效利用这些知识进行解决。
欢 迎 关 注
更多精彩内容关注下方公众号:逆向有你
个人微信:ivu123ivu
每日自动更新各类学习教程及工具下载合集
https://pan.quark.cn/s/8c91ccb5a474
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...