自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zfdyq

我要变得更牛逼!

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 VMfailVaild 错误号

本文记录VMfailVaild 错误号,方便查阅

2016-01-03 22:53:36 703 1

转载 驱动开发中应该注意的事项

1. 一定不要在没有标注 I/O 请求数据包 (IRP) 挂起 (IoMarkIrpPending) 的情况下通过调度例程返回 STATUS_PENDING。   2. 一定不要通过中断服务例程 (ISR) 调用 KeSynchronizeExecution。 它会使系统死锁。   3. 一定不要将 DeviceObject->Flags 设置为 DO_BUFFERED_IO 和 DO_D

2015-03-03 23:18:00 1990

原创 关于*P双机调试的学习

关于*P双机调试的学习 一:相关基础知识: 根据软件调试这本书上说的,Windows启动过程如下图:    系统一共调用了两次KdInitSystem()函数。 第一次调用KdInitSystem会初始化一下全局变量: 1.KdPitchDebugger:布尔类型,用来表示是否显式抑制内核调试。当启动选项中包含/DEBUG选项时,这个变量会被设置为真。

2015-01-01 00:20:54 4557 3

转载 ShellCode欺骗的艺术!

网上看到一份ShellCode  非常NICE  ,用来抛砖引玉! sub sp,0x440 xor ebx,ebx push ebx push 0x74736577 push 0x6c696166 mov eax,esp push ebx push eax push eax push ebx mov e

2014-12-23 00:35:42 1548 2

原创 Win7 内核重载 1 ——内核版PELoader

重载重点,其实就是自己实现一个山寨版的Windows PELoader  ,重载其实就是将一个模块自己重新加载一份到别的内存,运行它。所谓内核重载,则是将内核文件即:ntkrnlpa.exe 自己加载一份到内存,并运行它,这样的好处可以避免一切HOOK,如SSDT ,InLineHook 等等,原理就是HOOK继续HOOK主原来内核,但是实际上Windows走的是我们自己的内核。

2014-12-19 20:50:54 8370 1

原创 内核调试学习笔记

内核调试学习笔记 第一次调用KdInitSystem会初始化一下全局变量: 1.KdPitchDebugger:布尔类型,用来表示是否显式抑制内核调试。当启动选项中包含/DEBUG选项时,这个变量会被设置为真。2.KdDeBuggerEnable:布尔类型,用来表示内核调试是否被启用。当启动选项中包含/DEBUG或者/DEBUGPORT 而且不包含/NODEBUG时,这个变量会被设

2014-12-17 10:59:21 2229

原创 记录一下 关于进程隐藏摘链操作的问题

隐藏进程有好多方法,抹除句柄表,抹除csrss中的注册进程信息,摘除Active链等等,今天来记录一下摘链注意的问题。网上有很多摘链的DEMO,至于稳定性。。。。时不时的蓝~~原因为什么,很多代码都只是一味的拆除了相应进程的链表,但是却没有考虑到系统在操作动态链表的一系列问题,先看一下WRK中的销毁进程的操作,目录:WRK-v1.2\base\ntos\ps\p

2014-12-09 00:28:13 2228

原创 X64下的解析句柄表

一:X64下的句柄表的查找:关于PspCidTable的寻找,我是通过PsLookupProcessByProcessId查找特征码寻找pspCidTable和32位没什么区别。疑问:我想在KPCR中的KdVersionBlock中寻找,但是64位系统不知道为什么总是NULL,各位牛牛知道的求科普~寻找PspCidTable:SIZE_T FindCidTable(){SI

2014-12-07 17:50:16 3459 2

原创 Windows分页管理机制的学习(一)实践2

(二)针对开启PAE模式来进行分析测试机器Win7 32位系统:(Dbgview.exe程序的线性(虚拟)地址与物理地址的对应)根据读INTEL手册可知,开启了PAE模式后线性(虚拟)地址的结构发生了变化(开启PAE后PDE共4*4kb,每项8byte ): 30~31位变成了PDPTE 首先在虚拟机中打开OD,加载Dbgview.exe记录下入口点地址:00415757

2014-11-09 21:11:46 892

原创 Windows分页管理机制的学习(一)实践1

一)先来针对未开启PAE模式来进行分析测试机器XP 32位系统:(Dbgview.exe程序的线性(虚拟)地址与物理地址的对应)  这里关闭了PAE模式。 我先用OD载入Dbgview.exe程序,并且运行,看到程序入口点的线性(虚拟)地址:004153B7==> 00000000 01000001 01010011 10110111 根据INTEL手册中的定义

2014-11-08 21:06:06 1869

原创 Windows分页管理机制的学习(一)理论部分

PAE模式什么是PAE模式:PAE,物理地址扩展,是基于x86 的服务器的一种功能,它使运行 Windows Server 2003, Enterprise Edition 和 Windows Server 2003,Datacenter Edition 的计算机可以支持4GB 以上物理内存。物理地址扩展 (PAE) 允许将最多64GB 的物理内存用作常规的4 KB 页面,并扩展内核能使用的位

2014-11-08 20:55:57 1975

原创 R3修改线程上下文EIP实现的无模块注入

#include "stdafx.h"#include #include using std::cin;DWORD dwOldEip = 0;DWORD funRemote = 0;BYTE shellCode[25] = { 0x68, 0x78, 0x56, 0x34, 0x12, //push

2014-11-07 11:33:35 4025

原创 关于PspCidTable

PspCidTable为一个全局变量,其格式与普通的句柄表是完全一样的.但它与每个进程私有的句柄表有以下不同: 1.PspCidTable中存放的对象是系统中所有的进线程对象指针,其索引就是PID和CID 2.PspCidTable中存放是对象体(指向EPROCESS和ETHREAD),而每个进程私有的句柄表则存放的是对象头(OBJECT_HEADER) 3.PspCidTable

2014-10-20 00:36:49 915

原创 Windows句柄表学习笔记

遍历系统进程有一种方法就是通过解析句柄表来遍历,于是学习了一下Windows句柄表。句柄表位于EPROCESS结构的+0x0f4 偏移处(win7x86),先来看一下句柄表的结构: kd> dt 0x83d58fc0 _HANDLE_TABLEnt!_HANDLE_TABLE +0x000 TableCode : 0x94bac001 //句柄表 +0x0

2014-10-17 23:16:37 2081

原创 《Windows内核原理与实现》第三章学习笔记---KPROCESS学习

typedef struct _KPROCESS { // // The dispatch header and profile listhead are fairly infrequently // referenced. // DISPATCHER_HEADER Header; //表明KPROCESS也是一个分发器对象(dispatcher o

2014-10-16 00:48:10 2883

原创 通过IRPhook实现键盘记录

测试机器:win7x86

2014-10-12 17:10:44 2063

原创 r0遍历系统进程方法总结

方法1: ZwQuerySystemInformation这个方法网上一搜一大堆,不举例了方法2:暴力枚举PID

2014-09-25 21:43:43 1908

原创 二叉树学习笔记

二叉树的 学习笔记,记录一下方便复习

2014-09-12 20:50:09 623

原创 链表学习笔记

自己整理的链表简单操作,修改成了模板,记录一下,方便复习单链表:

2014-09-12 20:43:33 712

原创 c语言 迷宫游戏

最近学习C语言,做了一个控制台迷宫游戏,自带深度

2014-07-30 10:03:05 1467

原创 为什么进程、线程一些重要信息可以通过FS寄存器简单的取到?

这两天稍微学习了一下寄存器相关知识,

2014-07-14 22:29:07 1145

转载 Windows 文件过滤驱动经验总结(转)

1、获得文件全路径以及判断时机除在所有 IRP_MJ_XXX 之前自己从头创建 IRP 发送到下层设备查询全路径外,不要尝试在 IRP_MJ_CREATE 以外的地方获得全路径,因为只有在 IRP_MJ_CREATE中才会使用 ObCreateObject() 来建立一个有效的 FILE_OBJECT。而在 IRP_READIRP_WRITE 中它们是直接操作 FCB (Fil

2014-06-12 09:20:21 2086

原创 MiniFilter 学习

最近学习了一下文件过滤系统,

2014-06-08 12:12:20 1931

转载 NTSTATUS codes 会有用的

00000000STATUS_SUCCESS00000000STATUS_WAIT_000000001STATUS_WAIT_100000002STATUS_WAIT_200000003STATUS_WAIT_30000003FSTATUS_WAIT_63

2014-06-06 18:41:17 1461

原创 Win7 64位的SSDTHOOK(2)---64位SSDT hook的实现

上篇文章知道了寻找SSDT表的方法,这篇记录一下如何实现SSDT表的Hook。

2014-05-23 22:48:51 11434 2

原创 Win7 64位的SSDTHOOK(1)---SSDT表的寻找

最近在学习64位驱动,涉及到了SSDT的知识,结果发现64位下的SSDT和32位下的SSDT有所不同。开始发现64位下的KeServiceDescriptorTable是未导出的函数。首先要找到KeServiceDescriptorTable的地址。方法1:读取c0000082寄存器   kd> rdmsr c0000082  msr[c0000082] = fffff800

2014-05-21 22:48:41 6773 1

转载 一种躲避运行时代码校验的方法(Reload And Run)

转自看雪。   我们有时候需要对运行中的程序打内存补丁,或者对它的代码挂一些钩子之类的工作。但是现在相当多软件进行了运行时的代码检测。一旦发现内存中的代码被修改掉,就会进行处理。本文介绍了一种比较特别的办法,用于通过这些检测。    首先需要说一下做运行时代码校验的方法。一般来说,校验者需要取得当前模块的基地址,通过分析PE结构,获得代码节的偏移和大小,然后对内存中的代码进行CRC

2014-05-02 21:26:58 2580 1

原创 记录一下驱动学习过程

记录一下驱动学习过程

2014-05-02 15:24:15 882

c语言控制台迷宫游戏

最近学习C语言,做了一个控制台迷宫游戏,自带深度优先遍历方法自动寻路,代码有点繁琐,高手勿喷

2014-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除