- 博客(29)
- 收藏
- 关注
原创 (24)[进程与线程] 分析SwapContext
SwapContext有几个参数?SwapContext在哪里实现了线程切换?哪里进行了进程切换(修改CR3)?TSS存储当前的 SS0 : ESP0。FS:[0]在3环总能正确指向当前TEB。异常链表的切换。完整分析代码。
2022-08-21 12:50:09 853
原创 (22)[进程与线程] 线程的三种状态(waiting,running,ready)
线程的三种状态,阻塞,运行,就绪。还有一段模拟线程的代码,能在一个线程里玩出很多个线程的感觉,我也不知道这个能不能称之为协程...
2022-08-13 15:17:00 1344
原创 (21)[进程与线程] 进程链表和线程链表
本章包含几个小实验,DebugPort置零,进程断链、线程断链......一切的一切都不能使得进程真正藏起来
2022-08-11 19:15:00 426
原创 (20)[进程与线程] 相关结构体
本章介绍与进程线程相关的几个结构体,_EPROCESS, _KPROCESS; _ETHREAD, _KTHREAD; _KPCR,但由于结构体巨大,我们提及几个常用的
2022-08-09 14:03:54 352
原创 (18)[系统调用]追踪系统调用(服务表)
上次我们分析到和交汇的地方,但是由于篇幅过长,所以截断了。这一期接着分析,探究系统到底是怎么调用服务的
2022-07-27 20:22:00 142
原创 (17)[系统调用]追踪系统调用(0环)
上一次跟到这里,这一次从这里出发,继续追踪首先我们先看熟悉的int2E,int2E会走一个中断门,而中断门再此之前先找到文件ntoskrnl.exe,大概是在C/windows/system32里
2022-07-25 19:47:18 369
原创 (16)[系统调用]追踪系统调用(3环)
简单地进行WriteProcessMemory进行追踪,看看这个函数到底是怎么样运作的,结果真是......
2022-07-24 20:21:05 755
原创 (15)[驱动开发]过写拷贝
写拷贝是一种内存权限,是3环用的使用查看内存权限。什么是写拷贝,就是你要往里面修改数据的时候,就会拷贝一份内容放入另一个内存且自己独占,并修改独占的内存,不会直接修改原来的内存大概就是我不喜欢流水线大批量生产的东西,于是我自己定制了一份只有自己能用的.........
2022-07-20 11:38:42 486
原创 (14)[驱动开发]配置环境 VS2019 + WDK10 写 xp驱动
配置环境 vs2019 + WDK 10, 编写能在winxp上跑的驱动程序。简单,几步搞定...
2022-07-18 18:56:36 2732 4
原创 (11) [保护模式]TLB
TLB是什么, 验证TLB存在;当CR3刷新时TLB换出,当G=1时(全局页),TLB项不会被换出; INVLPG指令
2022-05-21 10:41:18 449
原创 (10) [保护模式] 2-9-9-12分页
认识2-9-9-12分页,给0地址挂物理页,修改高2G页属性,实现代码挂物理页海哥说过:做出来的东西才懂,没做出来就是没懂
2022-05-19 15:34:33 691
原创 (9) [保护模式] 10-10-12分页
windows中10-10-12分页中CR3,PDE,PTE和物理页有着怎样的对应关系?给0线性地址挂物理页;使用代码挂物理页。PDE和PTE与线性地址C030 0000和C000 0000的对应关系验证。PDE,PTE属性位介绍,以及用实验论证。
2022-05-01 12:32:21 812
原创 (7) [保护模式]任务段 (TSS)
TR寄存器 任务段描述符 TSS文中有call far 和 jmp far使用TSS段描述符,调用后如何return。写得很简陋,仅供参考
2022-04-12 22:05:05 2330
原创 C++ 多态
虚函数是什么,虚函数其实就是由一张虚函数表实现的。而多态也是因为虚函数表而得以实现。追根溯源,为什么为什么虚析构函数能够释放子类空间,为什么虚函数能实现多态,为什么虚函数一定要定义,为什么纯虚函数不能被实例化......一力降十会
2022-04-09 19:07:52 865
原创 C++ 继承
c++ 继承 由浅入深认识C++的继承机制。为了提高代码的复用性,继承应运而生。继承允许我们沿用基类中定义的变量和函数,这是继承最主要的目的。文章中有许多有意思的小实验,用实验更有利于学习C++的继承,喜欢无码的人士不建议食用关键字: 继承的内存分布 同名变量 同名函数 (override) 构造函数 析构函数 多继承 多继承空间分布 父类类型存放子类父类:基类 子类:派生类 People派生出Student, Student继承自People
2022-03-31 21:47:30 1405
原创 (6) [保护模式]陷阱门
陷阱门和中断门唯一的却别就是EFLAG中的IF位,描述符的差别只有type位的最后一位关键词: 陷阱门 差别 IF位 实验
2022-03-09 17:40:02 520
原创 (4) [保护模式]调用门
不一样的call ==> call farcall far 使用 调用门 进行提权,观察寄存器和堆栈的变化使用带参数的调用门,并观察堆栈变化关键字: 调用门 带参数的调用门
2022-02-25 16:56:04 1032
原创 (3) [保护模式]代码跨段跳转 (jmp far)
使用jmp far修改CS寄存器的值ES, SS, DS, FS, GS, LDTR, GDTR, IDTR, TR都可以通过一些指令来直接修改其值,但唯独CS寄存器不行。本文将说明CS如何 使用jmp far指令 修改CS寄存器的值,以及一些jmp far指令的小细节
2022-02-25 16:53:04 1796
原创 (2) [保护模式]段描述符
段描述符 段寄存器中的几个属性其实是从段描述符中的得来的,段描述符放在哪里,要怎样理解段描述符所描述的信息关键词:段 段描述符 段选择子 G CPL RPL DPL GDT表 G P S L D/B base, limit attribute 段寄存器属性
2022-02-15 22:52:01 402
原创 Virtual KD 出现 Still cannot find RPC dispatcher table 无法连接
Virtual KD 出现 Still cannot find RPC dispatcher table 无法连接错误原因Virtual KD 红点点,无法连接虚拟机,最后问题解决了,是虚拟机版本过高的原因,或者说Virtual KD并不支持这么搞版本的虚拟机工具 : 我下载的 Virtual DK-Reduxz 就放这了~
2022-02-11 20:12:40 2133 1
原创 (1) [保护模式]段寄存器属性
论证段寄存器除了看得到的selector外,还存在着其他三个看不到的属性Attribute Base 和 Limit属性
2022-02-11 17:10:09 2225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人