- 博客(21)
- 资源 (145)
- 收藏
- 关注
原创 Shadow SSDT
A、Shadow SSDT表基址定位 B、Shadow SSDT表结构 C、Shadow SSDT HOOKKeServiceDescriptorTable //系统描述符表 externKeServiceDescriptorTableShadow //影子系统描述符表 win32k.sysbp win32k!NtUserPostMessagebp win32k...
2018-09-28 21:35:20 457
原创 应用层勾子InLine HOOK
A、InLine HOOK 原理分析 B、InLine HOOK 代码编写 C、InLine HOOK 代码测试在 021_绕过驱动保护 已经讲过一次 in line hook_declspec(naked) #pragma pack(1) //前5字节77D507EA > 8BFF MOV EDI,EDI77D507EC /. ...
2018-09-28 21:30:11 585
原创 IAT表
A、初识IAT B、IAT表相关结构 C、读出IAT项 D、编写代码测试分析 E、HOOK IAT F、测试分析A、认识IAT表 导入函数表B、IAT表相关结构PIMAGE_DOS_HEADER //->e_lfanew //PE文件头偏移值PIMAGE_NT_HEADERS //->OptionalHeade...
2018-09-27 21:54:22 621
原创 内核模式下的文件操作
A、文件的创建B、文件的打开C、获取和修改文件属性D、写文件和读文件 一、文件的创建InitializeObjectAttributes 初始化 POBJECT_ATTRIBUTES 结构ZwCreateFile二、文件的打开 ZwCreateFile,ZwOpenFile三、获取和修改文件属性 ZwQueryInformationFile,...
2018-09-27 21:11:11 423
原创 内核模式下的字串操作
A、ASCII字符串和UNICODE字符串 B、ANSI_STRING字符串和UNICODE_STRING字符串 C、字符串的初始化与销毁 D、字符串复制,比较,(大小写,整数和字串)相互转换 E、ANSI_STRING字符串和UNICODE_STRING字符串相互转换 A、ASNI字符串和UNICODE字符串 在C语言中,有ANSI和UNICODE 两个不同字...
2018-09-27 19:57:06 194
原创 驱动下的异常处理
返回状态值 检查内存的可用性 异常处理try-except 异常处理try-finally 断言 NTSTATUStypedef LONG NTSTATUS; NT_SUCCESS#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0) #define STATUS_SUCCESS ...
2018-09-27 18:35:36 579
原创 认识链表结构exe部分
A、链表结构 B、链表的初始化 C、在链表中插入数据(结点) D、链表的遍历链表: 链表有单向链表,也有双向链表,有循环的(环形),在这里我们只讨论 双向循环链表。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 认...
2018-09-26 22:47:58 166
原创 内存管理相关内核API
A、RtlCopyMemory,RtlCopyBytes和RtlMoveMemory C、RtlZeroMemory和RtlFillMemory D、RtlEqualMemory E、ExAllocatePool和 ExFreePool F、重载new和delete操作符RtlCopyMemory//把地址Source开始的长度为Length这块内存数据 复制到Desti...
2018-09-20 22:39:58 379
原创 驱动中的内存管理
A、 物理内存 B、 虚拟内存 C、 Ring0地址和Ring3地址 D、 驱动程序和进程的关系 E、 分页和非分页内存 F、 分配内核内存 以下概念针对 32位Windows操作系统(32位及以上的CPU)A物理内存:(Physical Memory Address) 目前主流的操作系统还是32位的XP,而32位的系统提供的寻址能力是232个字节,用户最多可...
2018-09-19 22:18:47 521
原创 SSDT HOOK驱动保护原理
A、初识内核进程相关结构 B、内核函数PsGetCurrentProcess C、进程保护原理 D、实例测试dd nt!KeServiceDescriptorTableNTSTATUS NtOpenProcess( __out PHANDLE ProcessHandle, __in ACCESS_MASK DesiredAccess, __i...
2018-09-19 21:35:59 1325
原创 应用程序与驱动交互访问(其它模式)
A、用户层传入数据EXE部分代码 B、驱动层接收数据并处理SYS部分代码 C、驱动层返回数据至用户层 D、用户层获得处理结果 E、驱动中的异常处理 A、用户层传入数据EXE部分代码修改头文件METHOD_NEITHER#define add_code CTL_CODE( FILE_DEVICE_UNKNOWN, ...
2018-09-19 21:09:01 417
原创 应用程序与驱动交互访问(直接模式)
A、用户层传入数据EXE部分代码 B、驱动层接收数据并处理SYS部分代码 C、驱动层返回数据至用户层 D、用户层获得处理结果 E、预编译指令#pragma #ifndef #endif #define add_code CTL_CODE( FILE_DEVICE_UNKNOWN, ...
2018-09-18 22:07:46 993
原创 实战EXE和SYS通信
A、用户层传入数据-EXE部分代码 B、驱动层接收数据并处理-SYS部分代码 C、驱动层返回数据至用户层 D、用户层获得处理结果A、用户层传入数据EXE部分代码//#include <winioctl.h>#define add_code CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED,FILE_ANY...
2018-09-17 22:19:02 369
原创 应用程序与驱动交互访问(缓冲模式)
数据交换原理 A、用户层传入数据 B、驱动层接收数据 C、驱动层回传数据级用户层 A、用户层传入数据EXE WriteFile,ReadFileBOOL DeviceIoControl(HANDLE hDevice, // 设备句柄 调用CreateFile获取 DWORD dwIoControlCode, // 操...
2018-09-17 21:51:01 269
原创 手动加载NT式驱动
A、观察注册表 B、手动运行驱动 C、手动停止驱动运行 regedit.exeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServicesImagePath \??\G:\驱动教程\018_读出SSDT表当前函数地址\mini_ddk\sys\i386\DDKHelloWorld.sys"DisplayName"="DDKH...
2018-09-17 21:13:26 492
原创 NT式驱动的安装卸载
A、OpenSCManager B、CreateService C、OpenService D、StartService E、CloseServiceHandle F、集成到loadNTDriver函数 #include <winsvc.h>正常加载驱动的步骤如下: 1、调用OpenSCManage...
2018-09-16 21:32:53 865
原创 绕过SSDT驱动保护
A、去掉页面保护 B、写入In Line HOOK代码 C、用OD附加测试效果 D、反HOOK代码cr0,32位寄存器 MDL17位CW,1开启页面保护 置0 去掉页面 not (1 shl 16)= 0FFFEFFFFh10000000000000000#pragma pack(1)#pragma pack()...
2018-09-16 21:12:50 1315
原创 读出SSDT表当前函数地址
A、引用KeServiceDescriptorTable表 B、通过ServiceTableBase+偏移读出当前函数地址 C、用windbg测试读取的值系统服务描述符表 在ntoskrnl.exe导出KeServiceDescriptorTable 这个表typedef struct _ServiceDescriptorTable {...
2018-09-16 10:13:26 634
原创 编写自己的驱动过游戏保护-需要具备的理论知识
A、了解SSDT结构 B、由SSDT索引号获取当前函数地址 C、如何获取索引号 D、获取起源地址-判断SSDT是否被HOOK E、如何向内核地址写入自己代码 A、了解SSDT结构SSDT的全称是System Services Descriptor Table,系统服务描述符表 在ntoskrnl....
2018-09-16 09:53:11 15145
原创 添加默认派遣例程
A、初识IRP B、一个简单的IRP处理函数 C、IRP.IoStatus结构 D、IoCompleteRequest函数 IPR简介:IRP全称(I/O Request Package),即输入输出请求包。他是windows驱动的重要概念,用户模式下所有对驱动程序的I/O请求,全部由操作系统转化为一个叫做IRP的数据结构,不同的IRP数据会...
2018-09-16 09:38:23 235
原创 C++17 C++0x 最新特性资源合集
深入应用C++11:代码优化与工程级应用https://download.csdn.net/download/zang141588761/10646458Sustainable Software Development Patterns and Best Practices with C++ 17https://download.csdn.net/download/zang1415...
2018-09-05 10:36:28 1326
[Stefan_Bjornander]_C 17_By_Example_Practical
2018-09-05
Mastering_the_C 17_STL
2018-09-05
Professional C# 6 and .NET Core 1.0
2017-12-04
C#开发实战宝典
2017-12-04
C#程序开发范例宝典
2017-12-04
[Windows.Internals.Part.2(6th,2012.9)].Mark.E.Russinovich
2017-12-02
[Windows.Internals.Part.1(6th,2012.3)].Mark.E.Russinovich
2017-12-02
Sams.Windows.Presentation.Foundation.Unleashed
2017-12-02
Addison.Wesley.Essential.Windows.Presentation.Foundation
2017-12-01
wpf control development
2017-12-01
Delphi信息系统开发实例精选
2017-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人