当前位置: 首页 > news >正文

内存操作函数

该代码实现了一个Windows内核驱动,主要功能是获取并输出全局描述符表(GDT)的内容。驱动在加载时打印 驱动加载! 信息,卸载时打印 驱动卸载!。通过汇编指令sgdt获取GDT基地址和限制,分配非分页内存后复制GDT数据,以16字节为单位格式化输出各个描述符项。程序使用了内存分配(ExAllocatePool)、内存初始化(memset)、内存拷贝(memcpy)和内存释放(ExFreePool)等内核API,最后通过DbgPrint输出调试信息。

#include<ntifs.h>VOID DriverUnload(PDRIVER_OBJECT pDriver)
{DbgPrint("驱动卸载! \n");
}NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pReg)
{pDriver->DriverUnload = DriverUnload;DbgPrint("驱动加载! \n");//分配内存   ExAllocatepool//修改内存   memset//拷贝内存   memcpy//释放内存   ExFreePool//分页内存//非分页内存CHAR szGDT[6] = { 0 };ULONG ulGdtBase = 0;USHORT usGdtLimit = 0;PULONG pGdt = 0;DbgBreakPoint();//获取GDT.BASE && LIMIT__asm{sgdt [szGDT]}//GDT.BASEusGdtLimit = *(PSHORT)&szGDT[0];//GDT.LIMITulGdtBase = *(PULONG)&szGDT[2];//申请内存(非分页内存)pGdt = (PULONG)ExAllocatePool(NonPagedPool, usGdtLimit);if (!pGdt){return STATUS_SUCCESS;}//初始化内存memset(pGdt, 0, usGdtLimit);//拷贝GDT数据memcpy(pGdt, ulGdtBase, usGdtLimit);//输出GDT数据PULONG pTemp = pGdt;for (size_t i = 0; i < usGdtLimit; i+=16){DbgPrint("0x%08x  0x%08x`0x%08x  0x%08x`0x%08x", ulGdtBase + i, pTemp[1], pTemp[0], pTemp[3], pTemp[2]);pTemp += 4;}ExFreePool(pGdt);return	STATUS_SUCCESS;
}

http://www.dtcms.com/a/578730.html

相关文章:

  • 小说网站开发多少钱免费动画模板素材网站
  • 鞍山怎么样做一个自己的网站深圳防疫措施优化调整
  • linux中安装MinIO
  • 怎么建设一个企业网站外国自适应企业网站
  • CVPR 2025论文分享|一种融合世界模型的4D驾驶场景重建框架DriveDreamer4D
  • 咸阳网站建设公司电话wap免费
  • 昆明响应式网站制作建站网址大全
  • 营销型网站建设的认识视频模板免费制作
  • 付费软件免费拿佛山网站优化包年
  • 关于Ai问答的ET7.2框架协程锁解读记录
  • 项目设计文档【示例】
  • Linux应用开发-11-消息队列
  • 基于遗传算法与非线性规划的混合优化算法在电力系统最优潮流中的实现
  • 高动态范围(HDR)图像文件格式OpenEXRLinux开发库介绍
  • 在门户网站做产品seowordpress主题英文改中文版
  • 百度助手手机下载网站链接优化
  • 商标注册查询官网网站wordpress怎么截图直接粘贴
  • 网站建设价格与方案如何让百度口碑收录自己的网站
  • 大模型原理之深度学习与神经网络入门
  • 学习前端记录(二)21-40
  • 电源完整性08-电容网络配置方法
  • 可以做防盗水印的网站山东手机版建站系统信息
  • 专门做音箱的网站浙江信息网查询系统
  • 论需求分析方法及应用
  • 网站顶部菜单下拉固定宜宾市珙县住房城乡建设网站
  • 青少年机器人技术等级考试理论综合试卷(一级)2018年9月
  • Windows状态栏时间显示到秒的设置方法
  • 企业做网站推广产品需要多少钱标志设计公司成都
  • 网站的建设与应用上海企业网站建设服务
  • Chrome Edge 最新DNS泄露检测方法+指纹解析步骤(含工具)