- 博客(38)
- 收藏
- 关注
转载 从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 1418
转载 谈一个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 725
转载 SSDTHOOK关于拦截时弹窗的问题
每次SSDT Hook做拦截的时候,都会弹出一个框来,如下: 如何去掉这个弹框,方法是在看雪上看到的(据说是MJ说的):如果是NtCreateSection时拦截,返回STATUS_SUCCESS如果是NtCreateProcess时拦截 ,返回0x80070000或者设置当前进程的HardErrorControl/ExceptionPort
2013-11-30 19:06:19 699
转载 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 902
转载 在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 999
转载 快速系统调用
转载自:http://mzf2008.blog.163.com/blog/static/35599786201121011337777/用户层:首先Windows还是调用R3层的函数NtReadFile(),不过此函数相对以前直接用int 0x2e进入内核有了较大的变化.我们来看一下,函数如下:__declspec(naked)__stdcall{ __
2013-11-30 18:06:25 1153
转载 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 1307
转载 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 1341
转载 定时器
转载自: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 785
转载 IRP的同步
转载自:http://mzf2008.blog.163.com/blog/static/355997862010112412048667/同步操作设备如果需要同步操作设备,那么在打开设备的时候就要指定以“同步”的方式打开设备。打开设备用CreateFile函数,其函数声明如下:HANDLE CreateFile( LPCTSTR lpFileN
2013-11-29 23:41:30 912
转载 线程同步(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 2023
转载 线程同步(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 764
转载 派遣函数(3) - IO设备控制操作
转载自:http://mzf2008.blog.163.com/blog/static/35599786201011162265581/1.DeviceIoControl与驱动交互除了用ReadFile(读设备)和WriteFile(写设备)以外,应用程序还可以通过另外一个WIN32 API函数DeviceIoControl操作设备。DeviceIoControl内
2013-11-29 23:38:28 837
转载 派遣函数(2) - 设备对象的3种读写方式
转载自:http://write.blog.csdn.net/postedit读写操作设备对象一共可以有三种读写方式,分别是缓冲区方式读写,直接方式读写,其他方式读写。这三种方式的Flags分别对应为DO_BUFFERED_IO,DO_DIRECT_IO和0。在驱动程序创建设备对象的时候,需要考虑好该设备是采用何种读写方式。当IoCreateDevice
2013-11-29 23:37:17 732
转载 派遣函数(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 973
转载 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 1234
转载 Windows内核函数(2) - 内核模式下的文件操作
转载自;http://mzf2008.blog.163.com/blog/static/35599786201011124648756/1. 文件的创建对文件的创建或者打开都是通过内核函数ZwCreateFile实现的。和Windows API类似,这个内核函数返回一个文件句柄,文件的所有操作都是依靠这个句柄进行操作的。在文件操作完毕后,要关闭这个文
2013-11-29 23:34:42 1022
转载 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 930
转载 Windows内存管理(3)--检查内存可用性,结构化异常处理 和 ASSERT
转载自:http://mzf2008.blog.163.com/blog/static/355997862010111052745960/1. 检查内存可用性在驱动程序开发中,对内存的操作要格外小心。如果某段内存是只读的,而驱动程序试图去写操作,会导致系统的崩溃。DDK提供了两个函数,帮助程序员在不知道某段内存是否可读写的情况下,试探这段内存的可读写性。VOID
2013-11-29 23:32:47 568
转载 Windows内存管理(2)--Lookaside结构 和 运行时函数
转载自:http://mzf2008.blog.163.com/blog/static/355997862010111005639785/1. Lookaside结构频繁的申请和回收内存,会导致在内存上产生大量的内存“空洞”,从而导致最终无法申请内存。DDK为程序员提供了Lookaside结构来解决这个问题。我们可以将Lookaside对象看成是一个内存容器。在初始化
2013-11-29 23:31:52 544
转载 Windows内存管理(1)--分配内核内存 和 使用链表
转载自;http://mzf2008.blog.163.com/blog/static/3559978620101110101314696/1. 分配内核内存Windows驱动程序使用的内存资源非常珍贵,分配内存时要尽量节约。和应用程序一样,局部变量是存放在栈空间中的。但栈空间不会像应用程序那么大,所以驱动程序不适合递归调用或者局部变量是大型数据结构。如果需要大型数据
2013-11-29 23:30:16 696
转载 WDM式驱动程序的基本结构
转载自;http://mzf2008.blog.163.com/blog/static/35599786201011973648864/WDM式驱动程序的基本结构 对于WDM驱动程序来说,一般都是基于分层的。也就是说,完成一个设备的操作,至少要由两个驱动设备共同完成。 1. 物理设备对象与功能设备对象在WDM模型中,完成一个设备的操作,至少要有两个设
2013-11-29 23:29:26 1412
转载 NT式驱动的基本结构
转载自:http://mzf2008.blog.163.com/blog/static/3559978620101195653754/驱动对象(DRIVER_OBJECT)typedef struct _DRIVER_OBJECT { //结构的类型和大小 CSHORT Type; CSHORT Size; PDEVICE_OBJECT Dev
2013-11-29 23:28:29 614
转载 编写程序加载NT式驱动
转载自:http://mzf2008.blog.163.com/blog/static/355997862010119935492/编写程序加载NT式驱动 设备驱动程序的动态加载主要由服务控制管理程序(Service Control Manager,SMC)系统组件完成。Driver Service是Windows服务的一个特例,它遵从Windows
2013-11-29 22:35:00 693
转载 inf文件的编写
转载自:http://mzf2008.blog.163.com/blog/static/35599786201011772657684/inf文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑。inf是不区分大小写的。inf中包含各节的含义:1、 Version节 每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的
2013-11-29 22:34:14 878
转载 WDM式驱动
转载自:http://mzf2008.blog.163.com/blog/static/35599786201011755117299//************************************************************************* 文件名称:HelloWDM.h
2013-11-29 22:33:34 606
转载 NT式驱动
转载自:http://mzf2008.blog.163.com/blog/static/35599786201011733440667///Driver.h #pragma once#ifdef __cplusplus extern "C"{#endif#include //NT式驱动包含此头文件#ifdef __cplusplus
2013-11-29 22:32:55 644
转载 ZwQuerySystemInformation枚举进程
mark一下#include #include #include #define SystemProcessesAndThreadsInformation 5// 动态调用typedef DWORD (WINAPI *ZWQUERYSYSTEMINFORMATION) (DWORD, PVOID,
2013-11-28 22:55:39 1877
转载 无Device的驱动如何通信
转载自:http://hi.baidu.com/_achillis/item/7e264e08db884b94a2df431f标准的驱动与ring3的通信过程是这样的:驱动中创建设备,并为设备创建符号链接,ring3用CreateFile打开符号链接得到设备句柄,然后DeviceIoControl发送ControlCodeDeviceIoControl的内容被封装成IR
2013-11-22 22:29:25 1259
转载 RtlInitAnsiString RtlInitUnicodeString RtlAnsiStringToUnicodeString RtlFreeUnicodeString
RtlInitAnsiString函数初始化ANSI_STRING字符串。RtlInitUnicodeString函数初始化UNICODE_STRING字符串。RtlAnsiStringToUnicodeString函数把ANSI_STRING转化成UNICODE_STRING。RtlFreeUnicodeString函数释放给字符串动态分配的内存。RtlInitAnsiStr
2013-11-19 22:27:50 2119
转载 drivertype=fs和drivertype=wdm
转载自:http://www.osronline.com/showThread.CFM?link=13007425 Apr 08 08:12ntdev member 37845xxxxxx@gmail.comJoin Date:Posts To This List: 7
2013-11-18 21:07:28 1862
转载 VMware+Windgb内核驱动调试
转载自:http://www.cnblogs.com/lzjsky/archive/2010/12/14.html原文地址:http://hi.baidu.com/1ian9yu/blog/item/96e29bb357acbfa2d8335a25.html根据此文,很顺利的完成了源码级调试设置。 呵呵,搞点突兀的标题而已。其实说的还是如何使用WinDBG和
2013-11-15 18:54:57 2032
转载 Vista/Win7中绕过UAC自启动
转载自:http://www.shily.net/topic/bypassing-uac-since-the-launch-on-vista-win7/#more-136在开启了UAC的Vista/Win7/windows server 2008 等系统上,如果程序使用manifest进行了提权(requireAdministrator),程序在启动的时候系统会弹出一个全局的对
2013-11-13 21:11:31 1765
转载 几个类型说明
转载自:http://blog.csdn.net/ljwnts/article/details/7448996ps:原来unsigned char * 和PBYTE是一样的。。。。LPSTR :一个32位指向字符串指针,相当于char *。 LPCSTR:一个32位指向字符常量指针,相当于const char *。 LPESTR:一个32位指向unicode字符
2013-11-12 21:28:59 757
转载 VS2010同词高亮插件免费下载
转载自:http://blog.csdn.net/msccreater/article/details/9615461ps:终于找到了。。。。%>_好多人都想使用VS2010的单词高亮插件,但是从CSDN的下载频道一看10积分,最少的也要3积分,像有些刚入门的小白没那么多积分怎么办,本来这个插件就是免费的,不知道上传者为何要那么多的积分,好吧,我直接把作者的原地址给公开了,供大家免
2013-11-09 17:00:40 1027
转载 VS2010最佳字体设置和背景色
转载自:http://www.jb51.net/softjc/35702.html使用字体:Fixedsys Excelsior 3.011、首先下载字体:http://www.fixedsysexcelsior.com/ 2、安装字体:控制面板 -> 字体,复制下载的文件进去。3、打开VS2010,工具 -> 选项 -> 环境 -> 字体和颜色,选择F
2013-11-08 18:16:50 2278
转载 最简单解决CHM文件无法显示的办法(无法显示)
转载自:http://www.iplaysoft.com/solve-chm-viewing-problem.html看到这个,你烦吗?!这几天遇到了几次这个问题,某些chm文件即使下载到本地,都提示“取消操作”而不能显示页面,只好google之。原来是微软为了防止CHM利用某漏洞,而出了一个安全补丁,导致页面无法显示。网上很多人都研究过这个问题,有些改注册
2013-11-02 13:37:08 1062
转载 关于ComboBox的自绘的异常与DrawItem不响应等问题
转载自:http://blog.csdn.net/wghhdzwzqbx02/article/details/7277937 对于ComboBox而言,虽然与Button相比,自绘都在DrawItem函数中进行,但是实际自绘过程远比Button复杂。原因之一就在于它本身的复杂度:它由三个控件组成(CEdit,CListBox,CButton)。而且在自毁过程中极易发生各种问题
2013-11-01 16:19:53 2195 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人