随笔- 20  文章- 0  评论- 0  阅读- 5971 
2023年3月24日
摘要: R3层枚举进程模块的方法有以下三种: 1.ToolHelp库 2.PsApi库 3.遍历Peb中的Ldr链表 1.ToolHelp库: 点击查看代码 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 0); if (hSna 阅读全文
posted @ 2023-03-24 12:03 Hanpto 阅读(50) 评论(0) 推荐(0) 编辑
摘要: R3层枚举进程主要有两种方法,使用ToolHelp库及PsApi库 ToolHelp库: 点击查看代码 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDL 阅读全文
posted @ 2023-03-24 11:58 Hanpto 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 创建进程共有六个阶段: I:打开目标映像文件 Ⅱ:创建Windows的(内核)管理层进程对象,即“进程控制块”EPROCESS数据结构及相应的句柄 Ⅲ:创建该进程的初始(第一个)线程,包括其堆栈、上下文,以及“管理层线程对象”,即“线程控制块”ETHREAD数据结构及相应的句柄 Ⅳ:将新创建的进程通 阅读全文
posted @ 2023-03-24 11:53 Hanpto 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 分页机制和映射过程 x86 : CR3-PDT-PTT-offset 10-10-12 x86 with PAE : CR3-PDPT-PDT-PTT-offset 2-9-9-12 EPT(x64) : EPTP-PML4E-PDPTE-PDE-PTE-offset 9-9-9-9-12 x86 阅读全文
posted @ 2023-03-24 11:42 Hanpto 阅读(58) 评论(0) 推荐(0) 编辑
摘要: KiFastCallEntry函数有什么用??? Ring0层Zw系列函数(如ZwSetEvent)在设置完函数服务号之后会调用KiSystemService函数, 在KiSystemService函数中又会跳转到KiFastCallEntry函数内部获取SSDT表的基地址,系统函数服务号,进而获得 阅读全文
posted @ 2023-03-24 11:32 Hanpto 阅读(108) 评论(0) 推荐(0) 编辑
摘要: SSDT表是什么?有什么用? SSDT(System Service Descriptor Table,系统服务描述符表),用来存储服务函数索引及服务函数地址。通过该表被保护起来,只具读的属性,不能写。(不过可以使用CRO寄存器的第1位来改变SSDT的属性。CRO寄存器第1位叫做保护属性位,控制着页 阅读全文
posted @ 2023-03-24 11:16 Hanpto 阅读(190) 评论(0) 推荐(0) 编辑
2023年3月22日
摘要: 以查询ip归属地的例子来学习C++的API接口调用。 常见的API接口可能会给出post及get两种访问方法,我们先学习较为简单的get方法。 首先是找到相关的接口,如https://ip.useragentinfo.com/json 使用get方式访问的话则是https://ip.useragen 阅读全文
posted @ 2023-03-22 09:45 Hanpto 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 在此之前,我们实现了内存扫描器(面向过程版)。为了使用的简洁性及可重用性,我们将其模块化,改写为C++类的形式,将用户用不到的成员私有化,对外隐藏,只为其提供类似于首次扫描、再次扫描、内存读写等的接口。 修改后的内存扫描器源码如下: 点击查看代码 #pragma once #include<Wind 阅读全文
posted @ 2023-03-22 08:43 Hanpto 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 在软件开发中,反调试技术是一种保护软件免受恶意用户攻击的重要手段。它可以帮助开发人员防止黑客、逆向工程师和其他恶意用户试图使用调试工具来修改软件或者窃取敏感信息。但当反调试技术被一些恶意程序,如病毒木马所使用时,这就会增大安全人员分析其的难度。 Yara规则引擎是一个基于Yara语言的软件工具,可以 阅读全文
posted @ 2023-03-22 00:18 Hanpto 阅读(538) 评论(0) 推荐(0) 编辑
2023年3月21日
摘要: 以下是一个基于C语言和Win32API的内存扫描器的实现代码 首先定义一个结构体MEMBLOCK,用来存储内存块的信息 点击查看代码 typedef struct _MEMBLOCK { HANDLE hProcess; //进程句柄 PVOID addr; //内存块地址 int size; // 阅读全文
posted @ 2023-03-21 22:54 Hanpto 阅读(265) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示