- 2024-11-04windows XP,ReactOS系统3.4 共享映射区(Section)---2
系列文章目录文章目录系列文章目录在ReactOs内核中ROS_SECTION_OBJECT结构体MM_SECTION_SEGMENT结构体SECTION_PAGE_DIRECTORY结构体SECTION_PAGE_TABLE结构体在ReactOs内核中在ReactOs内核中,映射区的数据结构是ROS_SECTION_OBJECT,显然这与Windows中的“
- 2024-10-27一个数据类型困扰了我一下午
用VBA写一个网络状态查看程序,调用用GetAdaptersAddresses函数。其中返回值的类型如上!没有现在的代码代参考。只能从MSDN上找help自己改写。结果返回的值就是对不上!本人知道是数据类型有问题,核对了好多次,就是找不到出错点!typedefstruct_IP_ADAPTER_ADDRESSES_LH{union{
- 2024-10-22ReactOS系统中MM_REGION结构体的声明
ReactOS系统中MM_REGION结构体的声明ReactOS系统中MM_REGION结构体的声明文章目录ReactOS系统中MM_REGION结构体的声明MM_REGIONMM_REGIONtypedefstruct_MM_REGION{ULONGType;//MEM_COMMIT,MEM_RESERVEULONGProtect;//PAGE_READONLYY,PAGE_READ_WR
- 2024-10-22ReactOS系统中EPROCESS结构体的声明
ReactOS系统中EPROCESS结构体的声明ReactOS系统中EPROCESS结构体的声明文章目录ReactOS系统中EPROCESS结构体的声明EPROCESSEPROCESS////ExecutiveProcess(EPROCESS)//typedefstruct_EPROCESS{KPROCESSPcb;EX_PUSH_LOCKProcessLock;LA
- 2024-09-11c++ 数字转化成 string
ULONG转换成string方法1:使用std::to_string(C++11及更高版本)std::to_string是将数字转换为字符串的简单方式,适用于C++11及更高版本。#include<iostream>#include<string>intmain(){ULONGvalue=1234567890UL;//定义一个ULONG类型的值/
- 2024-08-25skf接口规范
#ifndef__SKF_TYPE_DEF_H__#define__SKF_TYPE_DEF_H__#include"base_type.h"#ifndef_WINDOWS#definePACKED_ST(st)__attribute__((packed,aligned(1)))st#else#pragmapack(push,skf,1)#definePACKED_ST(st)st#endif/*6.4.1版本
- 2024-08-16windows 内核驱动通过哪些方式直接访问硬件
Windows内核驱动可以通过以下几种主要方式直接访问硬件:1.内存映射I/O(Memory-MappedI/O,MMIO) -使用MmMapIoSpace函数将物理地址映射到虚拟地址空间 -直接读写映射后的内存地址来访问硬件寄存器 示例: ```c PHYSICAL_ADDRESSphysicalAddre
- 2024-08-11【Python蓝屏程序(管理员)】
说明:该程序为临摹(
- 2024-05-18驱动断链
03驱动断链获取驱动信息的途径是从Driver和FileSystem两个目录下获得的正常情况下我们自己做驱动遍历只能便利Driver下的所有驱动,也就是驱动链表里的驱动分析这里我们F12进去找一下DRIVER_OBJECT的结构typedefstruct_DRIVER_OBJECT*PDRIVER_OBJECT;WinDbg里dt一下kd
- 2024-05-13[ida pro] 设置RVA 偏移
在使用IDAPRO分析X64异常展开,进行_SCOPE_TABLE类型设置时,将操作数转换为偏移量目录示例:UNWIND_INFO分析1、添加ScopeRecord类型2、设置类型3、将操作数转换为偏移量4、设置完成链接1链接2示例:UNWIND_INFO分析_C_specific_handler_0是一个导入函数,是进行异常处理分发
- 2024-04-05DwmGetDxSharedSurface函数,可用于窗口后台截图
ReturnsdetailsforawindowsDirectXsurfaceSyntaxBOOLWINAPIDwmGetDxSharedSurface( HWNDhwnd, HANDLE*phSurface, LUID*pAdapterLuid, ULONG*pFmtWindow, ULONG*pPresentFlags, ULONGLONG*pWin32kUpdateId)
- 2023-11-29获取Windows内核对象的索引与对象名
下列提出两种获取对象名的方式通过_OBJECT_TYPE::Name获取对象名称,通过_OBJECT_TYPE::Index获取对象索引;通过NtQueryObject的方式获取,r0与r3通用,代码如下:#include<cstdio>#include<cstdlib>#include<iostream>#include<Windows.h>#defineNT_SUCCESS(Status)((NTST
- 2023-11-255.7 Windows驱动开发:取进程模块函数地址
在笔者上一篇文章《内核取应用层模块基地址》中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数,本章将继续延申这个话题,并依次实现通用版GetUserModuleBaseAddress()取远程进程中
- 2023-11-245.1 Windows驱动开发:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功,则输出该驱动的详细路径信息。该功能实现的核心函数是NtQuerySystemInformation这是一个微软未公开的函数,也
- 2023-11-239.9 Windows驱动开发:内核远程线程实现DLL注入
在笔者上一篇文章《内核RIP劫持实现DLL注入》介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首先得到该函数的入口地址,NtCreateThreadEx
- 2023-11-215.2 Windows驱动开发:内核取KERNEL模块基址
模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程运行后加载的模块,内核模块指的是内核中特定模块地址,本篇文章将实现一个获
- 2023-11-215.4 Windows驱动开发:内核通过PEB取进程参数
PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。在应用层下,如果想要得到PEB的基地址只需要取fs:[0x30]即
- 2023-11-217.1 Windows驱动开发:内核监控进程与线程回调
在前面的文章中LyShark一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以监控进程线程创建为例,在Win10系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回
- 2023-11-218.2 Windows驱动开发:内核解锁与强删文件
在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用ObSetHandleAttributes函数将特定句柄设置为可关闭状态,然后在调用ZwClose将其文件关
- 2023-11-07Windows ObjectType Hook 之 SecurityProcedure
1、背景 ObjectTypeHook是基于ObjectType的一种深入的Hook,比起常用的SSDTHook更为深入。 有关ObjectType的分析见文章《Windows驱动开发学习记录-ObjectTypeHook之ObjectType结构相关分析》。 这里进行的Hook为其中之一的SecurityProcedure。文章实
- 2023-11-05Windows ObjectType Hook 之 OkayToCloseProcedure
1、背景 ObjectTypeHook是基于ObjectType的一种深入的Hook,比起常用的SSDTHook更为深入。 有关ObjectType的分析见文章《Windows驱动开发学习记录-ObjectTypeHook之ObjectType结构相关分析》。 这里进行的Hook为其中之一的OkayToCloseProcedure。文
- 2023-11-01Windows ObjectType Hook 之 OpenProcedure
1、背景 ObjectTypeHook是基于ObjectType的一种深入的Hook,比起常用的SSDTHook更为深入。 有关ObjectType的分析见文章《Windows驱动开发学习记录-ObjectTypeHook之ObjectType结构相关分析》。 这里进行的Hook为其中之一的OpenProcedure。文章分两部
- 2023-10-16C#调用libsodium加密库
C#自带加密库在System.Security.Cryptography中,但是其自带的加密功能比较简单,只有一些基础的加密功能,一些高级加密方法如Aead加密,在最新版本中也只支持AesGcm96。而基于C#的比较全面的第三方加密库如BouncyCastle.NET功能虽然比较全面,但是执行效率比较差,一般比用C语言实现的加密
- 2023-09-19KdMapper扩展实现之LG(LHA.sys)
1.背景 KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称LHA.sys 时间戳5C255B03
- 2023-09-14KdMapper扩展实现之Huawei(Phymemx64.sys)
1.背景 KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称Phymemx64.sys 时间戳5835