摘要: const 限定符 在编译器中限制变量,设定该变量不可被改变,但实际上系统里还是将由 const 修饰的值识别为一个变量(只是在编译器中进行限制) 注意: 由 const 修饰的变量必须在定义时就进行初始化 const 和引用 对常量的引用:不能被用作修改他所绑定的对象,可以指向一个常量对象,也可以 阅读全文
posted @ 2023-01-19 15:29 修竹Kirakira 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 结构体定义及结构体粒度(alignment) #pragma pack(1) typedef struct _STUDENT_INFORMATION_ { int Age; char v1; int v3; char v2; }STUDENT_INFORMATION; 结构体的成员对齐值: 结构体中 阅读全文
posted @ 2023-01-14 20:42 修竹Kirakira 阅读(70) 评论(0) 推荐(0) 编辑
摘要: ​ 这里写得很简洁,实际上堆的机制比较复杂,我详细地学习了 Windows 下的堆管理机制,如果对这部分感兴趣的话,可以参考我的另一篇文章:https://www.cnblogs.com/XiuzhuKirakira/p/16986744.html 栈和堆的区别 1)生命周期 栈:生命周期在被调用函 阅读全文
posted @ 2023-01-14 20:38 修竹Kirakira 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 2. HEVD 栈溢出漏洞训练 2.1 漏洞原理 ​ 当函数退出的时候,会将保存在栈中的返回地址取出,跳转到该地址继续执行,以此来执行函数调用以后的程序。而如果用户的输入没有得到控制,覆盖掉了这个返回地址就会让函数退出的时候,执行我们指定的地址的代码。 2.2 漏洞分析 ​ 若将该驱动当成没有源码的 阅读全文
posted @ 2022-12-21 11:01 修竹Kirakira 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1. HEVD 概述 + 环境搭建 ​ HEVD作为一个优秀的内核漏洞靶场受到大家的喜欢,这里选择x86的驱动来学习内核漏洞,作为学习笔记记录下来 实验环境 | 环境 | 备注 | | | | | 调试主机操作系统 | Windows 10 x64(随便什么操作系统都行) | | 被调试主机的操作系 阅读全文
posted @ 2022-12-13 21:48 修竹Kirakira 阅读(472) 评论(0) 推荐(0) 编辑