本套课在线学习视频(网盘地址,保存后即可免费观看):
https://pan.quark.cn/s/4d2151e009f7
声明:所有发布内容来自网络,仅供用户学习交流测试网速使用,部分影片如有内嵌广告,请勿上当受骗。获取的所有内容请在24小时内删除,禁止非法恶意传播或商业用途。如有侵权,请联系删除,个人微信:sumith,防失联。
讨论了线程执行的连续性以及APC(异步处理程序)的插入如何改变这一过程。线程按照EIP指针持续执行,不可中断,尽管代码中包含跳转指令。插入APC后,内核APC会快速处理,仿佛让线程‘启动’。APC的调用点众多,影响广泛。特别强调了在特定情况下,如何区分内核态与用户态的APC调用,以及它们的执行路径。
03:57 - 分析函数中的线程唤醒与用户态操作
讨论了一个函数的执行流程,关注于它的三个参数,特别是异常帧和用户态操作ABC的判断与处理。提到异常帧通常为零,但可能包含重要信息。讨论了当链表中无值时函数的直接返回,以及有值时继续执行的逻辑。此外,还介绍了在函数内部对线程状态进行的临时性调整,以及这种调整的目的在于防止其他中断响应的打扰,确保用户态操作的顺利进行。
06:51 - ECS异常处理与函数调用机制解析
讨论了ECS异常,特别是来自一个特定来源的异常处理过程,以及三环和零环之间的转换机制。解释了EIP如何用于判断函数调用,并详细描述了内核态和用户态的判定方法,包括地址修正和环境保存的重要性。
11:30 - 处理异常与线程比较的程序逻辑
在处理异常和线程比较的过程中,将尝试替换当前进程以避免异常,通过置零操作清除链表值,以防止后续操作受到影响。当线程不匹配时,程序会进行蓝屏处理,表明了对线程一致性检查的重视。此外,还涉及到将当前进程与临时进程进行交换,并利用函数地址进行跳转,以实现对线程的正确处理。整个过程展示了对异常处理和线程管理的深入理解和精心设计。
14:32 - 内核态下的APC处理逻辑
讨论了内核态中处理APC(即异步编程接口)的工作流程,重点是检查APC链表是否为空、链表节点的处理、以及相关的IRQL等级管理。此外,还涉及了APC节点的移除和释放队列锁的操作。
20:02 - 内核态函数执行及状态管理
讨论了内核态下函数的执行流程,特别关注了状态判断和处理过程。提到函数调用时,会根据特定条件(如非空判断)决定是否执行某些操作,例如清空状态标志或调整等级。此外,讨论了在不同执行级别下函数的调用和状态的调整机制,以及循环处理逻辑,确保所有任务被执行。
23:01 - 内核态与用户态程序执行流程分析
讨论了内核态与用户态之间的执行流程,包括模式判断、加锁操作、节点处理、函数执行及其后续判断等关键步骤,同时说明了用户APC的初始化和执行机制。
27:41 - 线程锁和警惕性机制解析
讨论了线程的处理过程,包括取当前线程、提升成DBC、加锁操作,以及警惕性标志的使用和处理逻辑。解释了警惕性标志的作用,以及在不同情况下对线程执行的控制机制。讨论了函数参数、锁的解锁与降级,以及警惕性的重置和使用场景。最后指出了一种复杂函数的参数和其背后的逻辑。
34:31 - 技术细节讨论:内核态中的线程与窗口处理
讨论了内核态中处理线程和窗口的技术细节,包括如何通过ABC应用追对账,以及利用远程考核技术在不产生新线程的情况下执行任务。重点介绍了内核态中常见的四条线程路径:RR3进R0的sister sist的靠fast的靠entry、APC、异常和KEUZ。讨论了在三环线中,窗口机制的应用及其限制,以及如何应对当前检测窗口的策略。此外,提到了ETW和DWM在窗口绘制和透明窗口创建方面的角色,强调了当前技术环境下,如何规避窗口检测的策略。
欢 迎 关 注
更多精彩内容关注下方公众号:逆向有你
个人微信:sumith
每日自动更新各类学习教程及工具下载合集
https://pan.quark.cn/s/8c91ccb5a474
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...