自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (18)
  • 收藏
  • 关注

转载 KiFastCallEntry() 机制分析

概述Win32 子系统 API 调用ntdll!ZwWriteFile() 函数ntdll!KiFastSystemCall() 函数_KUSER_SHARED_DATA 结构切入 KiFastCallEntry() 函数读取 TSS 信息KTRAP_FRAME 结构系统服务例程号与 ServiceTableServiceTableServiceTable entry读取目标例

2014-02-28 15:21:18 1075

转载 error U1087: cannot have : and :: dependents for same target

DDK下build -c错误:error U1087: cannot have : and :: dependents for same target 被build的source code所在path不能含有空格.

2014-02-28 11:15:40 864

转载 使用 Lookaside List 分配内存

使用 Lookaside List 分配内存概述lookaside list 节点结构节点内存块 size初始化节点分配内存释放内存动态调整 lookaside list 节点深度1. 概述windows 提供了一种基于 lookaside list 的快速内存分配方案,区别于一般的使用 ExAllocatePoolWithTag() 系列函数的内存分配方式。每次从 loo

2014-02-28 10:31:38 5605

转载 Windows内存管理(3)--检查内存可用性,结构化异常处理 和 ASSERT

1.      检查内存可用性在驱动程序开发中,对内存的操作要格外小心。如果某段内存是只读的,而驱动程序试图去写操作,会导致系统的崩溃。DDK提供了两个函数,帮助程序员在不知道某段内存是否可读写的情况下,试探这段内存的可读写性。VOID   ProbeForRead(    IN CONST VOID  *Address,    IN SIZE_T  Length,  

2014-02-28 10:24:02 869

转载 Windows内存管理(2)--Lookaside结构 和 运行时函数

1.      Lookaside结构频繁的申请和回收内存,会导致在内存上产生大量的内存“空洞”,从而导致最终无法申请内存。DDK为程序员提供了Lookaside结构来解决这个问题。我们可以将Lookaside对象看成是一个内存容器。在初始化的时候,它先向Windows申请了一块比较大的内存。以后程序员每次申请内存的时候,不是直接向Windows申请内存,而是想Lookaside对象申请内

2014-02-28 10:23:34 1017

转载 Windows内存管理(1)--分配内核内存 和 使用链表

1.      分配内核内存Windows驱动程序使用的内存资源非常珍贵,分配内存时要尽量节约。和应用程序一样,局部变量是存放在栈空间中的。但栈空间不会像应用程序那么大,所以驱动程序不适合递归调用或者局部变量是大型数据结构。如果需要大型数据结构,我们可以在堆中申请。堆中申请的函数有以下几个:(1)PVOID         ExAllocatePool(           I

2014-02-28 10:23:05 1660

原创 error C2443: operand size conflict

#include void main(){int a=98;__asm{    mov al,a    and al,11011111B    mov a,al}printf("%c\n",a);}编译出现下面的错误:--------------------Configuration: cc - Win32 Release------------

2014-02-27 14:57:59 2180

转载 CPUID 指令的使用

使用 CPUID 指令可以从 processor 厂商里获得关于 processor 的详细信息,CPUID 指令是从 Intel 486 处理器以后开始加入支持。1. 检测处理器是否支持 cpuid 指令现在的处理器都支持 cpuid 指令,确实没必要去检测是否支持,除非在古老的机器上运行才有必要。当然,这里只是作为一个知识点介绍,在 eflags.ID 标志位是 Processor

2014-02-27 14:49:25 17445

转载 Windows内核驱动开发入门学习资料

声明:本文所描述的所有资料和源码均搜集自互联网,版权归原始作者所有,所以在引用资料时我尽量注明原始作者和出处;本文所搜集资料也仅供同学们学习之用,由于用作其他用途引起的责任纠纷,本人不负任何责任。(本资料由代码疯子整理)一、书籍推荐《Windows驱动开发技术详解》作者:张帆、史彩成;出版社:电子工业出版社《天书夜读:从汇编语言到Windows内核编程》作者:谭文、邵坚磊;出版社:

2014-02-27 11:12:01 1147

转载 重载内核全程分析笔记

重载内核内容:1、  将内核文件加载到内存2、  进行基址重定位3、  重定位ssdt结构4、  Hook KiFastCallEntry,让RING3进程调用走新内核下面一步一步的进行分析1、  加载内核文件我们要加载哪一个文件呢?答案是:ntkrnlpa.exe,我测试的系统的XP sp3,该文件所在目录为C:\WINDOWS\system32\ntkrnlpa.e

2014-02-25 17:27:15 1632

转载 对A盾原理的小小总结,膜拜A神

A盾的原理是在驱动加载时重载os内核,获取原始ssdt表的地址。应用层点击查询的代码在文件A-ProtectView.cpp中,每种点击操作调用相应的query查询函数,在query函数里 ReadFile。读操作的Handle是A盾自定义的操作码,类似DeviceIoControl的控制码,比如handle 为LIST_SSDT,LIST_INLINEHOOK等。驱动加载时hoo

2014-02-24 15:19:55 5113 1

转载 部分主流杀软驱动挂钩分析

本帖最后由 shulun743 于 2014-1-24 12:27 编辑主要说32位系统:挂钩方式,现在常用的就是挂钩ssdt,shadown ssdt,inline hook挂钩文件系统过滤驱动和HOOK NT!KiFastCallEntry!不具体讨论HOOK和INLINE HOOK的区别了!就是蓝屏不蓝屏的问题!主要讨论挂钩位置的问题:分为两大阵营:1

2014-02-24 15:08:52 970

转载 修改ActiveProcessLinks链表隐藏进程

在Windows内核中有一个活动进程链表AcvtivePeorecssList。它是一个双向链表,保存着系统中所有进程的EPROCESS结构。特别地,进程的EPROCESS结构包含一个具有指针成员FLINK和BLINK的LIST_ENTRY结构,这两个指针分别指向当前进程的前方和后方进程。当某些模块需要获得系统中运行的所有进程信息时,就会遍历这个链表。若在PsActviePoroessList链表

2014-02-21 18:08:17 2639

转载 win7+vs2010配置驱动开发环境(问题种种版...)

本来按照这个来做,能跑通helloworld,可是复杂的驱动就会出错....不知道什么原因,后来就直接用命令行来编译的。---------------------------------------------------------------------------------------------------------------------       这个学期和老师做

2014-02-08 11:08:42 1145

原创 Visual Studio 2010 error C2065: '_In_opt_z_' : undeclared identifier 编译错误

当用Visual Studio 2010 编译时 发生如下编译错误:2>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2065: '_In_opt_z_' : undeclared identifier2>C:\Program Files (x86)\Micro

2014-02-08 10:50:33 1941 1

转载 如何有效管理Windows系统帐户权限

权限是Windows管理的基础,当然与Windows用户关系最密切,平时接触最多的是与帐户相关的权限。对于Windows帐户权限的管理,你是否完全了解呢?下面,笔者以Winsows XP为例进行相关测试,希望对提升认识有所帮助。   1、系统权限概述  大家知道,Windows NT系统是个等级森严的系统,操作系统通过对用户(帐户)授权来实施管理。以Windows XP系统为例,系统默

2014-02-07 15:48:43 1934

dotnetfx_cleanup_tool

解决.Net Framework 2.0 安装时出现Error 25007的错误,错误信息: Product: Microsoft .NET Framework 2.0 -- Error 25007.Error occurred while initializing fusion. Setup could not load fusion with LoadLibraryShim(). Error: The handle is invalid.

2015-07-23

error C4996

使用vs2012,遇到如下错误。 error C4996: ‘fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

2015-07-11

解决rdlc报错 An error occurred during local report processing

从VS2005升级到2012或者2013后,原来做的报表,如果编辑过,而且不是转换成XML而是用编辑模式的话,会报错“An error occurred during local report processing”

2015-07-07

VC 常见编译错误.pdf

USE_NATIVE_EH has an invalid value, change it to 1. error C2065: ‘_bstr_t’ : undeclared identifier error MSB8008: 指定的平台工具集(v110)未安装或无效 error C2065: “CString”: 未声明的标识符 error C2664: “ATL::CStringT<BaseType,StringTraits>::Remove”: 不能将参数 1 从“const char [2]”转换为“char”

2015-02-13

VC 常见编译错误

VC,编译错误,error C2664,error C2065,error MSB8008

2015-02-13

驱动和应用层的三种通信方式

介绍了驱动和应用层的三种通信方式,工程一个应用层exe.一个驱动,exe中没有安装驱动的代码,驱动需要手动找工具安装下,然后再运行exe

2014-03-03

CPUID,根据汇编指令cpuid获取CPU信息

根据汇编指令cpuid获取CPU信息,奔腾4以上的CPUID,intel不提供了

2014-02-27

ReloadKernel(重载内核全程分析)

重载内核内容: 1、 将内核文件加载到内存 2、 进行基址重定位 3、 重定位ssdt结构 4、 Hook KiFastCallEntry,让RING3进程调用走新内核

2014-02-25

Windows RPC入门程序

RPC入门程序,经VS2010调试通过并正常运行。源于微软官网。有修改。

2014-01-25

如何HOOK桌面窗口消息

如何HOOK桌面窗口消息. 截获桌面窗口鼠标单击事件,解析所选中的桌面 Item,并将解析后的 item 信息发送给主调程序,并将信息显示在一个窗口上面

2013-12-26

代码注入的三种方法

如何将代码注入不同的进程地址空间,然后在该进程的上下文中执行注入的代码。本文将介绍三种方法: 1、Windows 钩子 2、CreateRemoteThread 和 LoadLibrary 技术 ——进程间通信 3、CreateRemoteThread 和WriteProcessMemory 技术 ——如何用该技术子类化远程控件 ——何时使用该技术

2013-12-26

VC操作桌面图标:取消自动排列图标及取消将图标对其至网格

VC操作桌面图标:取消自动排列图标及取消将图标对其至网格、移动桌面图标位置

2013-12-02

MyCreateprocess 实现系统创建进程的过程

通过学习进程创建机制,自己实现系统创建进程的过程

2013-11-20

MyCreateprocess

通过学习进程创建机制,自己实现系统创建进程的过程

2013-11-20

利用钩子技术控制进程创建(源码)

利用钩子技术控制进程创建(源码) ,能够对想学习钩子的朋友起到帮助作用。

2013-11-19

Windows下DNS ID欺骗的原理与实现

局域网内的网络安全是一个值得大家关注的问题,往往容易发起各种欺骗攻击,这是局域网自身的属性所决定的–网络共享。本文所讲解的DNS ID欺骗是基于ARP欺骗之上的网络攻击,如果在广域网上,则比较麻烦。不过也有一些例外情况:如果IE中使用代理服务器,欺骗不能进行,因为这时客户端并不会在本地进行域名请求;如果你访问的不是网站主页,而是相关子目录的文件,这样你在自定义的网站上不会找到相关的文件,登陆以失败告终。如果你不幸被欺骗了,先禁用本地连接,然后启用本地连接就可以清除DNS缓存。

2013-11-16

NDIS+IM防火墙安装文件和源代码

本程序是一个完整的基于windows ndis中间层驱动的防火墙程序,包含了整个驱动层和客户端的代码,以及使用说明。若想研究一下ndis中间层,可以参考一下这个源码~~~

2013-07-11

MFC类库详解,中文版

MFC类库中文版,和MSDN差不多,不过就是翻译成了中文。

2008-10-29

空空如也

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

TA关注的人

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