- 博客(20)
- 收藏
- 关注
原创 Windows API进内核的流程详解
本文详细介绍了Windows API进入内核的流程,以及在不同架构的系统中这一流程是如何实现的。我们了解到,在应用程序与内核之间的交互中,API、DLL文件以及系统服务描述符表(SSDT)起着关键的作用。在本文中,我们将详细介绍Windows API进入内核的流程,以及在不同架构的系统中这一流程是如何实现的。当应用程序调用API并通过上述步骤进入内核模式时,会在SSDT中查找到对应的内核函数,从而完成整个流程。接下来,我们将详细讨论在不同架构的操作系统和应用程序中,这一流程是如何实现的。
2023-04-11 23:06:26 361
原创 x86与x64操作系统双机调试教程
本文详细介绍了如何在x86和x64操作系统上配置双机调试环境。通过遵循上述步骤,您可以在不同操作系统上搭建双机调试环境,利用Windbg等工具进行调试。希望本教程能够帮助您顺利进行双机调试。
2023-04-11 21:11:02 285
原创 Windows 驱动开发:借壳通信技术实践详解
本文详细介绍了 Windows 驱动开发中的借壳通信技术,通过示例代码展示了如何使用 ObReferenceObjectByName 函数实现借壳通信以及如何处理 IRP 控制请求。同时,我们回答了关于驱动对象类型、保存原有处理函数以及处理 IRP 控制请求的问题。希望本文能够帮助您更好地理解和应用借壳通信技术。
2023-04-11 20:27:38 194
原创 创建简单的Windows驱动程序并与应用程序通信
在本篇博客中,我们将创建一个简单的Windows驱动程序,并实现与用户模式应用程序的通信。我们将展示如何创建驱动程序,处理IRP请求,并在应用程序中使用CreateFile和WriteFile函数与驱动程序通信。
2023-04-10 22:44:16 669
原创 Windows 内核编程:使用双向链表处理数据结构
首先,我们需要定义一个结构,包含数据成员和链表节点。在这个示例中,我们定义一个名为的结构体,其中包含一个整型数据成员m_Data和一个LIST_ENTRY类型的链表节点。
2023-04-10 10:19:28 229
原创 利用跨段提权调用门调用三环内核函数
80b95048的位置上的地址是0,在这个地址构建调用门,调用门描述符解析用这个。DbgPrint查看DbgPrint的地址。1.通过windbg查看GDT全局描述符表。dbgView打印出hello world。段选择子用0环的cs段选择子0008。看test地址为0040 33f0。
2023-04-07 18:01:46 101
原创 x86架构下的GDT表的结构
是的,Base 15-00,Base 23-16,Base 31-24,Base 39-32,Base 63-56(基地址)是从低到高排列的。这些字段组成了一个48位的基地址,表示内存段的起始地址。Base 15-00,Base 23-16,Base 31-24,Base 39-32,Base 63-56(基地址):这五个字段组成了一个48位的基地址,表示内存段的起始地址。Base 15-00,Base 23-16,Base 31-24(基地址):这三个字段组成了一个32位的基地址,表示内存段的起始地址。
2023-04-05 23:04:55 430
原创 MyString类
MyString.h#pragma once#include <vector>#include <cstdarg>#include <iostream>class MyString {private: char* m_data; // 存储字符串的指针 size_t m_len; // 字符串的长度public: // 默认构造函数 MyString(); // 带参构造函数 MyString(const char* s); // 拷贝构造函
2023-03-27 15:49:20 114
原创 逆向分析函数调用约定学习笔记
逆向分析函数调用约定学习笔记首先写好各类函数的c++程序#include<iostream>using namespace std;int __stdcall __stdcall_add(int a,int b){ return a + b;}int _cdecl cdecl_add(int a, int b){ return a + b;}int __fastcall __fastcall_add(int a, int b, int c){ return a + b
2021-07-06 13:14:18 164
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人