摘要: 没怎么逆过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) 编辑