自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BX's Blog

Keep It Simple Stupid

  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

转载 WDM驱动针对Win8前后系统的兼容性问题(security_init_cookie+0x1b)

引用注明>> 【作者:张佩】【原文:www.yiiyee.cn/blog】最近我写了一个WDM驱动的demo工程,选择target OS是Win8,在VS2012上编译通过后,安装在Win8系统上能正常运行。换了一台Win7系统,安装驱动的过程中即遇到蓝屏。后来发现问题不在安装上,蓝屏乃发生在驱动加载的时候。因为驱动特别简单,我先排除代码出错的可能。为了比较,我接下来又创建了一个K

2017-09-21 13:18:07 1210

转载 WinDbg F9时“code not found breakpoint not set”

转载:遇到相同的问题,虽然还示使用该篇文章所说的解决方法,且收藏以备参考吧。 WinDbg博大精深,要熟练使用,不是一朝一夕能够达成!当使用Windbg 6.2.9200.16384 进行源码调试时,无法在代码文件中F9设置断点,会出现“code not found breakpoint not set”,我们只有启动下我们自己的驱动,或者需要”.reload /f”下符号,然后才可能用F9设置。

2017-09-10 21:00:57 761

原创 Windows驱动开发环境搭建之Hello World

驱动程序的生成[个人配置]win7_x64 vs2015 WDK10按照书上的例子进行编写,只包含了类似下面 ntxxx.h 的头文件,都无法找着:#include <ntddk.h>#include <ntifs.h>...第一反应是vs中的包含目录中没有驱动头文件的目录,其默认包含如下然而在对应的版本中并没有发现有对应的目录:在对应的include版本下,有多个版本,尝试着从前一个版

2017-09-08 16:39:56 3574

原创 Windows核心编程-CreateFile详解

文件内核对象各种设备及其常见用途: 设备 常见用途 文件 永久存储任何数据 目录 属性和文件压缩的设置 逻辑磁盘驱动器 格式化驱动器 物理磁盘驱动器 访问分区表 串口 通过电话线传输数据 并口 将数据传输至打印机 邮件槽 一对多数据传输,通常是通过网络传到另一台运行Windows机器上 命名管道 一对一数据传输,通常是通过网络传到

2017-08-02 06:58:57 26317 1

原创 线程同步——内核对象(互斥、事件、信号量、可等待计时器)

三、内核模式下的线程同步Windows系统中有多种机制可用于线程同步,它们一般都被称之为内核对象(并非全部),一般我们常用的有以下几种: 互斥对象(Mutex)事件对象(Event)信号量(Semaphore)可等待计时器(Waitable Timer)0.等待函数WaitForSingleObject 等待函数的作用是使一个线程进入到等待状态,直到指定的内核对象被触发为止,其函数原

2017-07-31 12:55:15 1464

原创 线程同步-用户模式下同步(原子锁、临界区、读写锁)

一、线程同步当所有的线程都能够独自运行而不需要相互通信的时候,Windows将进入最佳运行状态。但是,很少有线程能够总是独自运行。通常创建线程是为了处理某些任务,当任务完成的时候,另一个线程可能想要得到通知。 系统中所有的线程必须访问系统资源,比如堆、串口、文件、窗口以及无数其他资源,如果一个线程独占了对某个资源的访问,那么其他线程都无法对某个资源的访问。线程需要相互通信的情况 需要让duoge

2017-07-29 15:13:47 858

原创 3.Windows核心编程-线程及线程调度

线程与进程类似,线程也由两个组件组成: 一个是线程的内核对象,操作系统用它管理线程。内核对象还是系统用来存放线程统计信息的地方;一个线程堆栈,用于维护线程执行时所需的所有函数参数和局部变量。//线程函数//创建线程HANDLE CreateThread( PSECURITY_ATTRIBUTES psa, //线程安全属性 DWORD

2017-07-28 14:18:36 2109

原创 2.1 Windows核心编程-进程UAC下以管理员权限运行

从NT6.0开始,微软为了提高安全防护增加了非常多的新机制,其中对普通用户层开发人员影响最大的就是”用户账户控制系统(User Account Control , UAC)”如果想让自己的程序默认以指定权限运行,可以通过修改VS工程的属性来达到目地:[属性]>[链接器]>[清单文件]>[UAC执行级别] 值 说明 requireAdministrator 应用程序须以管理员权限运行否则

2017-07-27 16:13:14 3399

原创 2. Windows核心编程-进程概念及操作

进程概念一般将进程定义成一个正在运行的程序的一个实例,它由以下两个组件构成: 一个内核对象,操作系统用它来管理进程。内核对象也是保存进程统计信息的地方;一个地址空间,其中包含所有执行体(executable)或 DLL模块的代码和数据。此外还包含动态内存分配,比如线程堆栈和堆的分配。 进程是资源的容器,其任务的真正执行体是线程。一个进程可以有多个线程,至少有一个线程。每个线程都有自己的一组C

2017-07-27 14:56:06 329

原创 1.1 Windows核心编程-几个宏的解读

示例代码//代码示例片段1DWORD systemLocale = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);//代码示例片段2switch (uMsg) { chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Dlg_OnInitDialog); chHANDLE_DLGMSG(hwnd, WM_COMMA

2017-07-26 10:55:51 655

原创 1.Windows核心编程-基础知识

1. 错误处理原理1. 错误获取Windows函数错误处理方式:调用 Windows 函数时,它会先验证我们传给它的参数,然后再开始执行任务。如果传入参数无效,或者由于其他原因导致操作无法执行,则函数的返回值将指出函数因为某些原因失败了。常见的Windows函数返回值数据类型 数据类型 含义 VOID 意味该函数的执行不可能失败 BOOL 失败返回 0,成功返回非 0 值

2017-07-26 10:53:10 710

原创 Windows下编译OpenSSL库(解决调用"ms\do_nasm或ms\do_*" 不是内部命令,也不是可运行的程序或批处理文件)

windows编译 OpenSSL(解决调用"ms\do_nasm或ms\do_*" 不是内部命令,也不是可运行的程序或批处理文件)

2017-06-30 16:28:30 17873 2

转载 通俗理解KMP字符串匹配算法

之前学习数据结构,看KMP匹配算法一头雾水,网上也找了一下资料,可能我理解能力的问题,还是这篇比较通俗一同。。转载至:http://blog.csdn.net/v_july_v/article/details/70418271. 引言    本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下K

2017-05-15 23:19:42 216

原创 整数的原码 反码与补码,大尾小尾存储

helloworld//注释/*注释*/#include <stdio.h>int main(){ printf("hello world\n"); return 0;}Bit与Byte1byte = 8bit 1bite只能存储:0或1 1个byte能存储: 2^8 -1个0或1,其范围是[-128,127]或[0,255]数据能存储的位置:寄存器,内存,磁盘等.整数

2017-05-11 13:06:25 977

原创 0.C语言序章

第一篇博客用思维导图来画出C语言的结构:

2017-05-10 22:22:38 201

空空如也

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

TA关注的人

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