该文被密码保护。 阅读全文
posted @ 2017-10-05 16:24 极点寸芒 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 首先,我要说一件很重要的事,本人文采不好,如果哪里说的尴尬了,那你就尴尬着听吧。。。。。。 SSDT HOOK最初貌似源于Rookit,但是Rookit之前有没有其他病毒使用,这就不清楚了,总之这个功能很不错,那么什么是SSDT呢,SSDT全称是(System Services Des 阅读全文
posted @ 2016-08-31 11:19 极点寸芒 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 闲话少说,直奔主题,首先OD载入一个程序,然后执行一下单步(调试器会将TF置1) 此时,CPU会在基于当前线程上下文的环境中,进入int 1的中断门,也就是KiTrap01 然后我们看下windbg,首先在KiTrap01下断,其次通过OD的单步后,确实已经中断到windbg的KiTrap01处了, 阅读全文
posted @ 2016-08-01 00:20 极点寸芒 阅读(976) 评论(0) 推荐(0) 编辑
摘要: 由于这两天在研究调试机制,所以记录下被调试线程的创建过程,如果哪里有遗漏,以后会再补充 线程创建过程分为两部分: 第一部分: CreateThread->NtCreateThread->PspCreateThread->KeInitThread->KiInitializeContextThread- 阅读全文
posted @ 2016-07-16 19:25 极点寸芒 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 如果操作系统不使用处理器的多任务机制,它仍然需要为栈创建至少一个TSS 当程序通过调用门改变特权级的时候,处理器执行下面的步骤切换栈,并且执行被调用的程序在新的特权级 1. 使用目标代码段的DPL从TSS中选择栈段选择子和栈指针 2. 从当前TSS读取被切换的栈段选择子和栈指针。当读取栈段选择子,栈 阅读全文
posted @ 2016-06-05 09:47 极点寸芒 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 今天调试程序的时候,对windows对R3的保护机制很感兴趣,为什么rdata段只可读,为什么data可读写,为什么text段不可写入,只可执行,正好今天没事干,这里就做了个测试,首先查看程序断到入口点后,它的物理页的情况 通过上面的值,这里做下总结: 虚拟地址400000对应的PTE是 80000 阅读全文
posted @ 2016-06-01 11:46 极点寸芒 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 既然时钟中断函数是HalpClockInterrupt,那就从它开始研究,WRK没有公布它,还是从reactos开始看吧,reactos是仿windows,所以可能和windows原版有些差别,不过差别不大 时钟中断最后会调用KeUpdateSystemTime,所以看看这个函数是干嘛的 阅读全文
posted @ 2016-05-14 17:31 极点寸芒 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 首先,时钟中断属于硬件中断,IRQL为28,仅次于蓝屏,电源和IPI,属于很高级别了,所以不知道接下来的调试会不会很顺利,不说了,试试看看 擦,搜索了下,WRK居然没有时钟中断函数,看来不愧是阉割版,那看看reactos里面有没 阴差阳错,搜索HalpClockInterrupt时居然看到了时钟中断 阅读全文
posted @ 2016-05-13 11:30 极点寸芒 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 这节描述了IA-32架构的任务管理功能,只有当处理器运行在保护模式的时候,这个功能才是有效的,这节的侧重点在32位任务和32位TSS结构上,关于16位的任务和16位TSS结构,请看7.6节,关于64位模式中,具体任务管理的信息,请看7.7节 7.1 任务管理概述 任务是处理器可以调度,执行和暂停的一 阅读全文
posted @ 2016-05-05 19:53 极点寸芒 阅读(489) 评论(0) 推荐(0) 编辑