- 博客(18)
- 收藏
- 关注
原创 C语言内存池实现
本文提供一种高效内存池的实现方法。该内存池预先调用系统函数malloc申请一大片内存,使用时从该内存池中申请内存,使用完成后释放回内存池,内存块由内存池维护。
2023-11-07 17:27:38
188
原创 C语言内存检查
本文提供一种C语言内存检查方法,包括内存写越界和内存泄漏。该方法在基础函数基础上封装malloc / realloc / free,使用时应当调用封装后的函数os_malloc / os_realloc / os_free。
2023-05-25 16:22:26
480
原创 PE文件分析-资源表
时间:202106资源表DESC: 记录PE文件中的资源信息。RVA: IMAGE_DATA_DIRECTORY[2].VirtualAddress。资源包括 Cursor, Bitmap, Icon, Menu, Dialog, String, Accelerator 等预定义的资源类型和自定义的资源类型, 不同资源类型用 ID 区分。预定义资源类型ID描述1Cursor2Bitmap Resource3Icon4Menu Resource
2021-07-05 15:20:42
337
原创 PE文件分析-导出表和导入表
导出表DESC: 记录本模块导出函数的相关信息, 结构如图所示。RVA: IMAGE_DATA_DIRECTORY[0].VirtualAddress。导出函数有两种导出方式:(1) 序号导出。直接在导出函数地址表通过序号得到函数的 RVA。(2) 名称导出。先在导出函数名称表中找到该函数位置, 再在导出函数名称序号表对应位置找到该导出函数的序号, 最后在导出函数地址表通过序号得到函数的 RVA。NameDESC : 本模块名称字符串的 RVA。NumberOfFunctio
2021-06-12 16:32:41
966
1
原创 PE文件格式总结
PE文件格式总结基本介绍1.DOS Header 和 DOS stub2.NT headers2.1File header2.2 Optional header3.Section headers4.Sections其他时间:202106基本介绍PE文件主要由 文件头 和 区段(Section) 构成(如图所示),文件头记录相关信息,而区段则存放相关数据。相连代表数据在文件中存储紧接上一部分。文件头部分包括:(1) DOS Header(2) DOS Stub(3) NT Headers
2021-06-11 18:50:40
418
1
原创 内核文件管理-IRP(四)文件遍历
本文讲通过向FSD发送IRP_MJ_DIRECTORY_CONTROL消息的IRP,来获取一个目录下的文件信息。上一篇:内核文件管理-IRP(三)文件读写IrpQueryDirectoryFile函数参数该函数与之前的 IrpQueryInformationFile 和 IrpSetInformationFile 类似,仅改变 IRP 和 I/O 堆栈 的设置。NTSTATUS IrpQueryDirectoryFile( IN PFILE_OBJECT pFileObject, //
2021-01-10 23:03:07
693
原创 内核文件管理-IRP(三)文件读写
本文讲怎样通过向 FSD 发送 IRP_MJ_READ 消息 / IRP_MJ_WRITE 消息的 IRP 来 读/写 文件内容。上一篇:内核文件管理-IRP(二)文件属性查询和设置IrpReadFile函数参数该函数是在 IrpCreateFile函数 打开文件的基础上操作的,用于读取文件。NTSTATUS IrpReadFile( IN PFILE_OBJECT pFileObject, // 文件句柄 OUT PIO_STATUS_BLOCK IoStatusBlock,
2021-01-10 19:08:32
861
1
原创 内核文件管理-IRP(二)文件属性查询和设置
本文讲怎样通过向 FSD 发送 IRP_MJ_QUERY_INFORMATION 消息 / IRP_MJ_SET_INFORMATION 消息的 IRP 来 查询/设置 文件属性。IrpQueryInformationFile函数参数该函数是在打开文件的基础上操作的,用于查询文件的信息,《内核文件管理-IRP(一)创建或打开文件》中实现的 IrpCreateFile 函数成功打开文件后返回的 文件句柄 ,这里将作为参数传入 IrpQueryInformationFile 函数。NTSTATUS Irp
2021-01-10 14:14:55
589
原创 内核文件管理-IRP(一)创建或打开文件
内核下通过直接向 FSD (File System Driver) 发送 IRP (I/O Request Packet)来管理文件,可以绕过一些 API Hook。本文讲怎样通过向 FSD 发送 IRP_MJ_CREATE 消息的 IRP 来创建或打开文件(或目录)。头文件及其他声明或定义#include <ntifs.h>typedef struct _AUX_ACCESS_DATA { PPRIVILEGE_SET PrivilegesUsed; GENERIC_MAPPIN
2021-01-09 00:15:06
966
1
原创 内核文件管理-IRP 源代码
IRP_FSD.h 头文件#pragma once#include <ntifs.h>// 使用后需要调用ObRedeference函数关闭文件句柄NTSTATUS IrpCreateFile( OUT PFILE_OBJECT* ppFileObject, // 用于返回文件句柄的指针 IN ACCESS_MASK DesiredAccess, // 指定访问权限 IN PUNICODE_STRING pustrFilePath, // 文件路径 OUT
2021-01-09 00:11:02
437
原创 Win10下VS2019驱动开发环境搭建(二)双机调试
本文讲了如何使用VS2019在VMware虚拟机上进行双机调试。环境:VS2019 Community + Windows10专业版虚拟机环境(VMware Workstation 16 Pro):Windows10家庭版VMware虚拟机可以直接在官网下载(密钥可以直接百度搜到):参考下载链接(操作系统自行安装)1.虚拟机设置添加串行端口虚拟机设置中,先移除打印机,然后添加串口。(打印机可能会占用COM1端口,所以先移除,当然使用其他端口也可以,但相关设置都要更改为相应的端口)串口设置
2021-01-05 19:21:07
9454
16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人