3 鬼手56

尚未进行身份认证

暂无相关简介

等级
TA的排名 4w+

进程线程002 等待链表 调度链表

文章目录前言等待链表33个链表调度链表版本差异总结前言进程结构体EPROCESS(0x50和0x190)是2个链表,里面圈着当前进程的所有线程。对进程断链,程序可以正常运行,原因是CPU执行与调度是基于线程的,进程断链只是影响一些遍历系统进程的API,并不会影响程序执行。对线程断链也一样,断链后在Windbg或者OD无法看到被断掉的线程,但并不影响线程执行。等待链表线程有三种状态:就绪...

2020-01-01 13:40:48

进程线程001 进程线程结构体和KPCR

文章目录前言EPROCESSKPROCESS主要成员EPROCESS其他成员ETHREADKTHREAD主要成员介绍ETHREAD其他成员介绍KPCRKPCR介绍_NT_TIB主要成员介绍KPCR的其他成员介绍KPRCB成员介绍KPRCB成员介绍前言进程线程的知识点很多,如果我们想了解问题的本质,就要从一些关键的结构体学起,先来介绍一个与进程密切相关的结构体EPROCESS每个进程在零环都...

2019-12-26 21:33:05

系统调用004 SSDT

文章目录前言KeServiceDescriptorTableSSDTSSDT Shadow前言之前我们了解到通过KTHREAD结构体0xE0的位置可以找到系统服务表,这个位置是我们通过逆向得出的。实际上,WIndows提供了一个导出的全局变量,通过这个导出的全局变量,我们就可以直接访问系统服务表。KeServiceDescriptorTable用IDA打开ntkrnlpa.exe,在导出表...

2019-12-23 22:02:20

系统调用003 系统服务表

文章目录前言SystemServiceTable 系统服务表系统服务表在哪判断调用的函数在哪个表API函数的调用过程前言我们现在已经知道API怎么从三环进入零环,从三环进零环需要带两个寄存器,分别是eax和edx。eax保存的是系统的服务号,edx保存的是三环的esp,通过esp可以找到三环的参数。这次要解决的问题是如何通过eax找到零环的函数,零环的函数是怎么被调用的,并且零环的函数执行的...

2019-12-22 17:09:50

系统调用002 KiSystemService函数逆向分析

文章目录前言保存现场_KTRAP_FRAMEKRPCExceptionList_KTHREAD结构体先前模式抬高堆栈判断当前权限更新_KTRAP_FRAME保存三环的寄存器环境判断调试状态前言之前我们详细了解了API从三环进到零环的过程,API会通过两种方式进入到零环,如果通过中断门的方式进入零环,最终会进入到KiSystemService这个函数。接下来就来分析KiSystemService...

2019-12-22 14:21:28

系统调用001 API从三环进零环的过程

文章目录前言逆向分析ReadProcessMemoryNtReadVirtualMemory_KUSER_SHARED_DATASystemCall通过int 0x2E中断门进入零环通过sysenter快速调用进入零环总结总结前言在三环操作系统提供了各种API,这些API实际上只是一个暴露在三环的接口,真正的功能实现部分,最终都是要进到零环。逆向分析ReadProcessMemory###...

2019-12-21 17:43:34

[保护模式]PAE模式

文章目录PAE模式 2-9-9-12分页非PAE模式为什么是10-10-12PAE模式为什么是2-9-9-12总结PDPTE结构PTE结构PTE结构XD标志位(AMD中称为NX,即No Excetion)PAE模式 2-9-9-12分页非PAE模式为什么是10-10-12先确定了页的大小4K,所以后面12位的功能也就确定了。2的12次方为4096,也就是4KB。12位正好可以索引到每一个物...

2019-12-11 23:12:16

[保护模式]非PAE模式

文章目录PAE 物理地址扩展线性地址 有效地址 物理地址CR3PDE/PTE物理页的属性通过线性地址访问PDT和PTT指向PDT的线性地址 0xC0300000总结指向PTT的线性地址 0xC0000000/C0001000总结访问PDT与PTT公式总结PAE 物理地址扩展线性地址 有效地址 物理地址如下指令:mov eax,dword ptr ds:[0x12345678]这个地址如...

2019-12-09 22:30:52

[保护模式]任务段

文章目录TSS什么是TSSTSS的作用如何找到TSSTR寄存器读写将TSS段描述符加载到TR寄存器构造TSS段描述符修改TSSJMP 访问代码段JMP 访问任务段JMP FAR和CALL FAR访问任务段的区别TSS切换实验示例代码构造段描述符填充CR3TSS什么是TSSTSS是一块内存,大小为104字节,结构如图所示:结构体如下:typedef struct TSS { DWORD...

2019-12-04 21:16:48

[保护模式]中断门

文章目录要点回顾中断门IDT中断门描述符中断门实验示例代码构造中断门描述符修改IDT表中断现场中断返回为什么会PUSH EFLAGS寄存器调用门和中断门的区别要点回顾执行调用门的指令:call cs:eip。其中cs是段选择子,包含了查找GDT表的索引。但当CPU遇到了如下指令:int [index],查询的却是另外一张表,这张表叫IDT中断门IDTIDT表全称为中断描述符表,包含三种描...

2019-12-01 19:43:17

[保护模式]调用门

文章目录调用门调用门执行流程调用门描述符调用门实验无参调用门示例代码构造调用门修改GDT表执行流程中断现场有参调用门示例代码构造调用门修改GDT表中断现场总结调用门调用门执行流程CALL FAR的指令格式:CALL CS:EIP(EIP是废弃的)执行步骤:根据CS的值 查GDT表,找到对应的段描述符,这个描述符是一个调用门在调用门描述符中存储另一个代码段的段选择子选择子指向的段 段...

2019-12-01 16:24:42

[保护模式]段间跳转和跨段跳转

文章目录段间跳转段寄存器段间跳转段间跳转的执行流程1.段选择子拆分2.查表得到段描述符3.权限检查4.加载段描述符5.代码执行总结跨段跳转短调用长调用跨段不提权跨段提权总结段间跳转代码跨段,本质就是修改CS段寄存器段寄存器段寄存器有下面几个:ES CS SS DS FS GS LDTR TR。除了CS以外,其他的段寄存器都可以通过MOV LES LSS LDS LFS LGS指令进行修改。...

2019-12-01 13:38:20

Windows内核实验005 Inline Hook

文章目录准备工作寻找Inline Hook的返回地址编写代码动态变化的返回地址JmpTargetAddrInline Hook基本框架示例代码实战HOOK KiTrap01无需计算偏移的Inline Hook方法示例代码准备工作寻找Inline Hook的返回地址假设我们现在要HOOK KiFastCallEntry这个内核函数,让所有的程序在进入零环之前先跳到我们自己的代码。但是会出现...

2019-11-17 15:16:28

Windows内核实验004 API调用

文章目录完善代码内核API调用修复一个潜在问题复现问题完整代码前面几次实验我们已经完成了一个三环的程序调用零环API的必要条件。提升到零环权限使fs指向KPCR完善代码这次我们去掉之前的死循环代码,并且将函数地址写入到IDT表项,在虚拟机中运行一下程序,看看会有什么结果。这里他抛出了一个内存访问异常。原因在于我们修改了fs寄存器之后,在iretd指令返回三环的时候,系统不会自动...

2019-11-16 20:41:26

Windows内核实验003 再次回到中断

文章目录两个实验死循环开启中断后的死循环KiFastCallEntry调用零环API的两个条件分析KiFastCallEntry什么是KPCR完善代码完整代码之前的实验我们已经实现了从三环到零环的提权,但是提权不代表能正常调用内核函数。接下来我们要实现的一个事情就是在我们的代码里正常调用内核的函数。还是接着用上次的代码,这一次我们先来做两个实验。两个实验死循环首先用windbg连上虚拟机...

2019-11-16 15:08:10

Windows内核实验002 中断现场

文章目录如何获取中断现场环境中段现场环境观察中断现场堆栈环境观察中断现场的寄存器环境段选择子段寄存器结构变化的段寄存器的具体含义遗留问题:SS段寄存器和栈顶指针来自于哪?什么是TSSTSS的工作细节中断提权的任务切换过程实验代码上一课我们已经实现了利用中断提权的方式让自己写的函数拥有了零环的权限,但是为了更方便的写零环代码。我们还需要搞清楚中断现场的上下文环境,什么资源可以被使用,什么资源不能被...

2019-11-15 23:02:54

Windows内核实验001 中断提权

文章目录实验环境内核提权IDT的基本知识什么是中断什么是IDT表在PC Hunter中查看IDT表中断提权的基本原理写一个三环的小程序修改IDT表提权测试本篇文章基于周壑老师的讲解,感谢周壑老师。实验环境windbg双机调试环境VS开发环境32位 WIN7 虚拟机内核提权内核态的程序拥有一切权限,在Windows操作系统上,没有任何其他软件可以限制内核态的程序。如果让一个用户层的...

2019-11-12 23:14:45

PC微信逆向:实现自动保存加密的聊天图片

文章目录前言基于保存语音的相关延伸图片处理的相关流程自动保存图片相关思路实战保存聊天图片对保存图片call的相关分析代码实现保存聊天图片实际效果项目地址前言本文基于anhkgg大佬的文章《微信PC端技术研究(2)-拿下语音》原文链接:https://bbs.pediy.com/thread-249274.htmanhkgg大佬的这篇文章找到了保存语音消息的接口,这里直接给出相关特征码,方便定...

2019-09-30 10:17:18

CVE-2012-1876 Internet Exporter堆溢出漏洞分析

文章目录漏洞描述IE浏览器组件介绍分析环境POC漏洞分析漏洞利用参考资料漏洞描述该IE浏览器漏洞的成因在mshtml.dll这个模块的CTableLayout::CalculateMinMax函数里,程序在执行时会以HTML代码中的元素span属性作为循环控制次数向堆中写入数据。如果此span值设置不当,那么就会引发堆溢出问题。IE浏览器组件介绍Internet Explorer体系结构的...

2019-08-16 11:47:35

WeTool逆向:借用别人的成果 打造自己的程序

文章目录什么是WeTool前置知识&基于WM_COPYDATA的消息模型进程通讯相关知识WM_COPYDATA的相关知识WM_COPYDATA的缺点示例代码逆向WeTool定位WeTool核心模块分析WeChatHelp分析SendMsg函数WeTool逆向和微信逆向的对比微信逆向WeTool逆向方法扩展什么是WeTool百度直接搜索WeTools就可直接找到WeTools官方网站...

2019-08-10 10:37:24

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。