自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

收集学习过程中对自己有帮助的牛人文章

收集在一起,自己好查阅啦,书签虽然不错,但是那啥亲们懂得,感谢各位无私分享知识的牛人们

  • 博客(151)
  • 收藏
  • 关注

转载 MFC下托盘图标的实现和托盘菜单

转载自:http://blog.csdn.net/longsir2008/article/details/6304130对话框头文件XXXDlg.h:1.添加成员变量NOTIFYICONDATA m_nid;2.添加tray消息响应函数的声明afx_msg LRESULT OnTrayNotify(WPARAM wParam, LPARAM lParam

2014-03-19 10:26:44 841

转载 vc tab控件上的对话框及对话框上的控件的缩放

使用EasySize对窗口上的控件操作假设创建的对话框的类名是CMyDlg,具体过程如下:步骤一:把easysize.h拷贝到CMyDlg项目文件夹中,同时在CMyDlg的.h文件和.cpp文件中加入#include "easysize.h";步骤二:在CMyDlg类的h文件中,加入DECLARE_EASYSIZE,注意结尾处不要加“;”。class CMyDl

2014-03-17 19:28:56 1065

原创 X64平台调用约定

X64平台采用类似__fastcall的调用约定函数的前四个参数(整数或者浮点)分别放在 rcx、rdx、r8、r9 里(r8b 是一个新增加的寄存器,长度为 1 字节,是 r8 的低 8 位, 同理r8d),从第五个参数开始放在堆栈里RCX: 1st integer argumentRDX: 2nd integer argumentR8: 3rd intege

2014-03-07 20:01:47 1131

转载 Minifilter的动态安装、加载及卸载

转载自:http://www.cnblogs.com/js2854/archive/2011/04/03/sysload.htmlMINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instances子键,然后读取Def

2014-03-06 19:59:41 902

转载 DDK编译时遇到一个问题 0>Bad Path string

转载自: http://blog.csdn.net/itmes/article/details/7911778编译sanbootconf的时候把源码放在桌面源码的路径中包含了中文字符,所以报以下错误以为这个path在环境变量中,反复尝试也没找到解决的方法把源码拷贝到D盘的根目录下重新编译也没有解决问题BUILD: Compile and Link

2014-03-03 21:21:40 1954

原创 自实现API, 过所有用户层HOOK

//绕过用户层HOOK,自实现API函数//学习了郁金香驱动教学视频 043_绕过所有用户层HOOK(郁金香绕过的是FindWindow)//用相同的原理我实现了绕过SendMessageA()//实现过程中有一些感谢一并记录//win xp x86//__declspec(naked)作用: 生成纯汇编#include #include //7C92E4F0 > 8BD4

2013-12-10 16:28:05 1674 1

转载 IRQL

Managing Hardware Prioritieshttp://msdn.microsoft.com/en-us/library/windows/hardware/ff554368(v=vs.85).aspxThe IRQL at which a driver routine executes determines which kernel-mode driver sup

2013-12-10 16:25:08 918

转载 简单实现了下SSDT SHADOW HOOK

转载自:http://blog.csdn.net/evi10r/article/details/6932607介绍:        SSDT SHADOW HOOK可用于安全软件窗口保护、安全输入、截屏保护等。例如:挂钩NtUserFindWindowEx、NtUserGetForegroundWindow、NtUserBuildHwndList、NtUserQueryWi

2013-12-06 15:42:28 1371 2

转载 结构体(含位域)的sizeof 对齐相关

转载自:http://blog.csdn.net/hyljqr/article/details/500899结构体的sizeof先看一个结构体:http://www.cwba.com.cnstruct S1{    char c;    int i;};http://www.shishangmeinv.com.cn sizeof(s1)在

2013-12-05 20:50:53 638

转载 WDF驱动中KMDF与UMDF区别

转载自:http://emesjx.spaces.eepw.com.cn/articles/article/item/84585众所周知, 早期的Windows 95/98的设备驱动是VxD(Virtual Device Driver),其中x表示某一类设备。从Windows 2000开始,开发驱动程序必以WDM(Windows Driver Model)为基础的,但是,如果使用D

2013-12-04 20:52:26 1146

转载 内核解惑:zw函数和nt函数的区别

转载自:http://hi.baidu.com/resoft007/item/eb510a0d0ae2ac03addc7019http://bbs.pediy.com/showthread.php?t=106888http://bbs.pediy.com/showthread.php?t=55142解惑:http://blog.csdn.net/u012410612/artic

2013-12-03 15:42:04 6193

原创 HOOK SSDT NtOpenProcess 保护进程

感谢众大神分享的技术,因为几乎没参考别人的源码,所以就标题原创但是因为这个技术肯定是前辈分搞出来的,所以就特意说明下,此乃转载耶模板用的张帆大牛的记录一下,以后备用

2013-12-03 11:31:32 3114 1

原创 PE感染-添加节区

#include #include #include //本程序只适用于载入基址定位的。。。非随机基址//感染指定目录的PE文件char ItIs[MAX_PATH] = "D:\\桌面\\感染PE\\感染目录";//添加了一个新节区//然后shellcode是添加一个名为a,密码为a的administrator//然后PEB定位kernel32只在我的win7 x64电脑上测试

2013-12-02 13:29:04 1256 1

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

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

2013-12-02 13:22:40 551

转载 Hook ZwQueryDirectory

转载自:http://mzf2008.blog.163.com/blog/static/35599786201151045439455/#include typedef BOOLEAN BOOL;typedef unsigned long DWORD;typedef DWORD * PDWORD;typedef unsigned long ULONG;typedef unsigne

2013-12-01 13:57:28 1038

转载 ObjectHook

转载自:http://mzf2008.blog.163.com/blog/static/35599786201152045341614/其实这东西很多大牛多玩腻了的东西,看下论坛上比较少这类的,就来献献丑,科普一下 大牛们直接可以飘过,这东西主要是自我复习一下OBJECT的一些知识,技术这东西久了不弄容易忘记,所以拿出来跟和我一样菜的菜鸟们分享一下。如果有不对的地方欢迎大家指正

2013-12-01 13:55:23 717

转载 文件过滤驱动Sfilter学习笔记

转载自:http://mzf2008.blog.163.com/blog/static/3559978620114156433999/1.DriverEntry例程(1)创建过滤驱动的控制设备, 以后我们的IO控制码就是发到这个设备上面//这里的设备名与普通设备有所不同.//当然, 最简单的可以直接写成 L"\\Device\\Filemontor";(File

2013-12-01 13:27:21 1267

转载 InlineHook 通用

NTSTATUSInlineHookFuncXP (  IN PVOID FuncAddress,  IN PVOID NewFuncAddress  )/*++Author : MJ0011User   : sudami [[email protected]]Time   : 08/01/24          参数 :  FuncAddress -

2013-12-01 13:01:50 773

转载 从Dump到POC系列一:Win32k内核提权漏洞分析

转载自:http://blogs.360.cn/blog/dump-to-poc-to-win32k-kernel-privilege-escalation-vulnerability/1.引言近日有同事反馈给笔者一个win32k的蓝屏崩溃dump,说是在开发新的界面程序中遇到的。笔者在对拿到的Minidump进行分析后,发现这是win32k.sys在处理内

2013-11-30 22:07:15 1389

转载 谈一个Kernel32当中的ANSI到Unicode转换的问题

转载自:http://blogs.360.cn/blog/谈一个kernel32当中的ansi到unicode转换的问题/众所周知,Windows的几乎所有带有字符串参数的API都是有W和A两个版本,分别对应于Unicode和ANSI版本。同时,Windows内部是使用Unicode的,因此所有的A版本的API函数都是实际上调用了一次ANSI到Unicode的字符集转换之后,再

2013-11-30 20:34:45 709

转载 SSDTHOOK关于拦截时弹窗的问题

每次SSDT Hook做拦截的时候,都会弹出一个框来,如下: 如何去掉这个弹框,方法是在看雪上看到的(据说是MJ说的):如果是NtCreateSection时拦截,返回STATUS_SUCCESS如果是NtCreateProcess时拦截 ,返回0x80070000或者设置当前进程的HardErrorControl/ExceptionPort

2013-11-30 19:06:19 678

转载 SysEnter Hook

#include ULONG g_OldKiFastCallEntry; // Original value of ntoskrnl!KiFastCallEntryVOID OnUnload( IN PDRIVER_OBJECT DriverObject ){ _asm { mov ecx, 0x176 xor edx,edx

2013-11-30 18:42:30 889

转载 在EPROCESS中搜索ProcessName的偏移

ULONG gProcessNameOffset;void GetProcessNameOffset(){ PEPROCESS curproc; int i; curproc = PsGetCurrentProcess(); for( i = 0; i < 3*PAGE_SIZE; i++ ) { if( !strncmp( "System", (PCHAR) curproc

2013-11-30 18:35:30 980

转载 快速系统调用

转载自:http://mzf2008.blog.163.com/blog/static/35599786201121011337777/用户层:首先Windows还是调用R3层的函数NtReadFile(),不过此函数相对以前直接用int 0x2e进入内核有了较大的变化.我们来看一下,函数如下:__declspec(naked)__stdcall{ __

2013-11-30 18:06:25 1139

转载 TIB --- FS

转载自: http://en.wikipedia.org/wiki/Win32_Thread_Information_BlockContents of the TIB[edit]PositionLengthWindows VersionsDescriptionFS:[0x00]4Win9x and NTCurr

2013-11-30 17:58:41 1256

转载 HOOK SSDT禁用内存写保护

cr0的第16位是WP位,只要将这一位置0就可以禁用写保护,置1则可将其恢复。// 关闭写保护__asm{    cli ;    mov eax, cr0    and  eax, ~0x10000    mov cr0, eax}// 恢复写保护__asm{    mov  eax, cr0    or     eax, 0x10

2013-11-30 13:07:05 1324

转载 定时器

转载自:http://mzf2008.blog.163.com/blog/static/355997862010112622923357/1.      I/O定时器I/O定时器是DDK提供的一种定时器,使用这种定时器时,每间隔1S钟系统会调用一次I/O定时器例程。I/O定时器可以为间隔N秒做定时,但是如果要实现毫秒级别间隔,微妙级别间隔,就需要用到DPC定时器

2013-11-29 23:42:14 763

转载 IRP的同步

转载自:http://mzf2008.blog.163.com/blog/static/355997862010112412048667/同步操作设备如果需要同步操作设备,那么在打开设备的时候就要指定以“同步”的方式打开设备。打开设备用CreateFile函数,其函数声明如下:HANDLE CreateFile(  LPCTSTR lpFileN

2013-11-29 23:41:30 881

转载 线程同步(2) - 内核模式下的线程同步

转载自:http://mzf2008.blog.163.com/blog/static/355997862010112041821953/1.内核模式下的等待NTSTATUS   KeWaitForSingleObject(    IN PVOID  Object,    IN KWAIT_REASON  WaitReason,    IN KPROCE

2013-11-29 23:40:23 1965

转载 线程同步(1) - 用户模式下的线程同步

转载自:http://mzf2008.blog.163.com/blog/static/355997862010111731141289/(1)       用户模式的等待DWORD WaitForSingleObject(HANDLE hHandle,        // handle to object to wait forDWORD dwMi

2013-11-29 23:39:26 746

转载 派遣函数(3) - IO设备控制操作

转载自:http://mzf2008.blog.163.com/blog/static/35599786201011162265581/1.DeviceIoControl与驱动交互除了用ReadFile(读设备)和WriteFile(写设备)以外,应用程序还可以通过另外一个WIN32 API函数DeviceIoControl操作设备。DeviceIoControl内

2013-11-29 23:38:28 814

转载 派遣函数(2) - 设备对象的3种读写方式

转载自:http://write.blog.csdn.net/postedit读写操作设备对象一共可以有三种读写方式,分别是缓冲区方式读写,直接方式读写,其他方式读写。这三种方式的Flags分别对应为DO_BUFFERED_IO,DO_DIRECT_IO和0。在驱动程序创建设备对象的时候,需要考虑好该设备是采用何种读写方式。当IoCreateDevice

2013-11-29 23:37:17 713

转载 派遣函数(1) - 初识派遣函数

转载自;http://mzf2008.blog.163.com/blog/static/3559978620101114103859212/IRP与派遣函数< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />IRP的处理机制类似Windows应用程序的“消息处理

2013-11-29 23:36:27 947

转载 Windows内核函数(3) - 内核模式下的注册表操作

转载自:http://mzf2008.blog.163.com/blog/static/355997862010111313716234/注册表里的几个概念:  1.       创建关闭注册表项NTSTATUS   ZwCreateKey(    OUT PHANDLE  KeyHandle,    IN ACCESS_MASK

2013-11-29 23:35:38 1195

转载 Windows内核函数(2) - 内核模式下的文件操作

转载自;http://mzf2008.blog.163.com/blog/static/35599786201011124648756/1.       文件的创建对文件的创建或者打开都是通过内核函数ZwCreateFile实现的。和Windows API类似,这个内核函数返回一个文件句柄,文件的所有操作都是依靠这个句柄进行操作的。在文件操作完毕后,要关闭这个文

2013-11-29 23:34:42 991

转载 Windows内核函数(1) - 字符串处理函数

转载自:http://mzf2008.blog.163.com/blog/static/3559978620101112115510592/1.ASCII字符串和宽字符串打印一个ASCII字符串:CHAR* string = “Hello”;KdPrint((“%s\n”, string));        //s为小写 打印一个宽字符字

2013-11-29 23:33:39 915

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

转载自:http://mzf2008.blog.163.com/blog/static/355997862010111052745960/1.      检查内存可用性在驱动程序开发中,对内存的操作要格外小心。如果某段内存是只读的,而驱动程序试图去写操作,会导致系统的崩溃。DDK提供了两个函数,帮助程序员在不知道某段内存是否可读写的情况下,试探这段内存的可读写性。VOID 

2013-11-29 23:32:47 553

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

转载自:http://mzf2008.blog.163.com/blog/static/355997862010111005639785/1.      Lookaside结构频繁的申请和回收内存,会导致在内存上产生大量的内存“空洞”,从而导致最终无法申请内存。DDK为程序员提供了Lookaside结构来解决这个问题。我们可以将Lookaside对象看成是一个内存容器。在初始化

2013-11-29 23:31:52 527

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

转载自;http://mzf2008.blog.163.com/blog/static/3559978620101110101314696/1.      分配内核内存Windows驱动程序使用的内存资源非常珍贵,分配内存时要尽量节约。和应用程序一样,局部变量是存放在栈空间中的。但栈空间不会像应用程序那么大,所以驱动程序不适合递归调用或者局部变量是大型数据结构。如果需要大型数据

2013-11-29 23:30:16 683

转载 WDM式驱动程序的基本结构

转载自;http://mzf2008.blog.163.com/blog/static/35599786201011973648864/WDM式驱动程序的基本结构         对于WDM驱动程序来说,一般都是基于分层的。也就是说,完成一个设备的操作,至少要由两个驱动设备共同完成。 1. 物理设备对象与功能设备对象在WDM模型中,完成一个设备的操作,至少要有两个设

2013-11-29 23:29:26 1383

空空如也

空空如也

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

TA关注的人

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