上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页
摘要: 这个先摸了,明天和句柄表作业一起写了 阅读全文
posted @ 2021-01-12 18:09 PYozo_free 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 上一篇篇幅有点长,所以补一篇 上一篇我们说道,时间片中断会导致线程切换,但并不是说只要有时钟中断就一定切换线程,时钟中断时,会有两种情况导致线程切换: 当前线程的CPU时间到期 有备用线程(KPCR.PrcbData.NextThread) CPU时间片 线程时间片存储在_KTHREAD.Quant 阅读全文
posted @ 2021-01-12 18:03 PYozo_free 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 线程切换的几种条件 如果学过操作系统,那么很容易就知道会有以下方法 时间片用完 强制切换 异常处理 时间片切换 其实也叫轮转调度算法,顾名思义当时间到达一定的时候,就会切换一个线程,接着运行,这样就可以让我们感受到我们的只有单核使用的程序却没有断过。 而在Windows中,当时间片到达时候,会引起中 阅读全文
posted @ 2021-01-12 17:57 PYozo_free 阅读(1311) 评论(0) 推荐(0) 编辑
摘要: 没怎么逆过C++,所以这道题看到后面有一个地方没懂,看了别的师傅wp才知道是什么意思 流程分析 主函数 第一部分 这里还是很清楚的,就是程序刚刚运行需要初始化的操作,不过一开始这个basic_string没看明白是什么,后面想到了拷贝构造函数 第二部分 输入9个数字,并且连接起来,再将输入的数字放入 阅读全文
posted @ 2021-01-11 22:37 PYozo_free 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 典型的fmt,checksec检查后,只有NX保护,所以直接hook got表就完事了,不过这里我就郁闷了 不准我通过printf函数,leak libc???? 思路 先用fmt leak libc,再用one_gadget hook掉got表中的函数,我这里hook的是printf函数 exp 阅读全文
posted @ 2021-01-11 21:22 PYozo_free 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 由于KiSwapContext函数是由函数KiSwapThread函数调用的,所以我们可以先逆向一下这个函数 KiSwapThread 这里只是简单的逆了一下,可以知道这个函数在执行KiSwapContext函数时,会把做一些准备操作 .text:0040AB8A ; _DWORD __cdecl 阅读全文
posted @ 2021-01-11 16:56 PYozo_free 阅读(651) 评论(1) 推荐(0) 编辑
摘要: 在进程结构体Eprocess(offset 0x50和offset 0x190)是两个链表,里面圈着当前进程所有的线程 如下图 线程的三种状态:就绪、等待、运行 正在运行中的线程就存储在KPCR中,就绪和等待的线程全存在另外的33个链表中。其中一个等待链表,32个就绪链表 这些链表都是用了_KTHR 阅读全文
posted @ 2021-01-11 16:13 PYozo_free 阅读(155) 评论(0) 推荐(0) 编辑
摘要: _KPCR 介绍 当线程进入0环时,FS:[0]指向KPCR 每个CPU都有一个KPCR结构体(一个核一个) KPCR中存储了CPU本身要用的一些重要数据:GDT、IDT以及线程相关的一些信息 结构体成员 nt!_KPCR +0x000 NtTib : _NT_TIB +0x01c SelfPcr 阅读全文
posted @ 2021-01-11 14:59 PYozo_free 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 还是打算单开一章,因为内容真的太多了,wiki上的只是皮毛 参考文章:IO FILE 之劫持vtable及FSOP 阅读全文
posted @ 2021-01-11 14:02 PYozo_free 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 晚上 加会班写完进程与线程 阅读全文
posted @ 2021-01-10 17:46 PYozo_free 阅读(95) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页