自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (84)
  • 收藏
  • 关注

原创 windbg调试驱动不用替换调试机器驱动的方法

.kdfiles

2022-11-09 19:54:45 77

原创 Linux下删除硬盘上的分区

如果是单纯的删除分区相信大家百度随便一搜就会搜到了。我这里遇到的问题是在项目中有两块硬盘刷了同样的启动系统(这里的系统是项目定制的),当两块硬盘都在的时候,启动系统,启动到一半黑屏了,...

2021-06-15 11:46:04 10737 1

原创 NtCreatePagingFile 函数源码

NTSTATUSNtCreatePagingFile ( __in PUNICODE_STRING PageFileName, __in PLARGE_INTEGER MinimumSize, __in PLARGE_INTEGER MaximumSize, __in ULONG Priority )/*++Routine Description: This routine opens the specified file, attempt...

2021-04-16 11:04:11 141

原创 文件系统驱动里获取读写当前文件的进程信息

NTSTATUS GetProcessName(IN PEPROCESS pEproc, PWCHAR* outFullPath, PWCHAR* outProcName){ typedef NTSTATUS(*xxQUERY_INFO_PROCESS) ( __in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __out_bcount(ProcessIn.

2021-03-30 09:07:04 119

原创 FsRtlIsNameInExpression使用示例

FsRtlIsNameInExpression的功能介绍参考MSDN:https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-_fsrtl_advanced_fcb_header-fsrtlisnameinexpression一句话概括就是看一个unicode string是否满足指定的结构类型。比如想写一个功能,看一个Unicode string子串是否是以 abcd1234开头的,那这个代码可以

2021-03-27 17:01:51 694

转载 【转载】分析Windows的死亡蓝屏(BSOD)机制

对于Windows系统来说,被人们视为洪水猛兽的蓝屏也是一种有利于系统稳定的机制。蓝屏其实是Windows系 统的一种自查机制,一但系统发现自己哪里有些不对劲后就立即抛出蓝屏,来阻止错误蔓延。倘若没有蓝屏机制,那么可能很小的一个错误最后会不断的酝酿导致系 统数据损坏的严重后果。而事实上因为Windows系统自身导致的蓝屏其实是少之又少的,更多的蓝屏诱因是各种驱动程序,因为作者个人对Rootkit类 程序感兴趣,因此在平时的学习过程中深感各种不良的内核HOOK或者过滤驱动是诱发蓝屏的小能手。当然不符合微软规定

2021-02-20 18:42:54 891

原创 windows驱动送测WHQL时inf文件注意事项

windows驱动送测WHQL时inf文件注意事项windows驱动送测WHQL时inf文件注意事项近期遇到一个问题,通过WHQL测试且打好了微软签名的驱动文件在安装时报错,说有文件的指纹不在签名文件中,报这个错误一定是有文件被改动了。但拿到的文件肯定没有手动去改它,不应该出现这种情况。问题原因经过比对分析发现,的确是inf文件被修改了,通过beyond compare比对十六进制发现,被修改的inf文件比原文件少了几行,仔细查看,少的是换行符里的一个字符。然后结合实际情况,我是拿到驱动后,会通过

2021-01-21 17:14:26 135

原创 windows c/c++客户端程序通过cJSON解析json格式配置文件参考代码

目录1、直接去github上下载代码或者直接复制下面cJSON.h和cJSON.c到你自己的工程里2、解析示例JSON文件3、编译程序,运行,会得到如下输出:4、完整示例工程代码下载:1、直接去github上下载代码或者直接复制下面cJSON.h和cJSON.c到你自己的工程里github链接:https://github.com/DaveGamble/cJSONcJSON.h/* Copyright (c) 2009-2017 Dave Gamble and cJSO

2021-01-01 22:00:01 448

原创 Diskspd.exe工具测试文件读写性能的一些经验

diskspd.exe的介绍大家可以网上搜索,这里就不做搬运工了,diskspd.exe github代码地址:https://github.com/Microsoft/diskspd/wiki写了驱动,发了版本,在测试时报告说性能骤降,这是大事,不能做了产品,客户安装后,系统变成蜗牛了。于是乎,一顿搜索了解,实验。测试时此工具放在系统盘,被测文件也放在系统盘,被测软件也装在系统盘,同时被测软件自身生成的日志也在系统盘。在此情况下,测试过程中,软件写日志文件会对测试造成影响,使得测试数据比不安装

2020-09-01 11:17:08 290

原创 Win10系统如何取消锁屏

同时按下【Win】+【R】组合快捷键打开运行窗口。 输入框中输入regedit,点击确定打开注册表表编辑器 在编辑器窗口中按此目录依次展开HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows; 鼠标右键点击Windows文件夹,选择新建-项,然后把新建的文件重命名为"Personalization" 新建之后,在右侧窗口空白部分点击右键新建"DWORD(32位)值",然后把数值改为"...

2020-08-07 18:31:00 433

原创 定义可变参数的宏

像printf类的函数,如果代码中的比较多,且需要检查返回值时,没用到一个地方就添加一段返回值检查会比较烦,不添加,如果要求pclint扫描时会报warning 514。为了方便,有两种方式,一种是封装自己的函数,一种是定义成宏。封装成自己的函数的坏处时,函数里的输出如果使用 __LINE__ __FUNCTION__ 等时,所有调用的地方都会是相同的。所以,我这选择定义成宏。先上代码,VS2010验证过:#include "stdafx.h"#include <stdi...

2020-07-06 12:07:10 271

原创 禁止显示系统隐藏文件方法

禁止显示系统隐藏文件方法背景介绍系统文件对系统稳定运行至关重要,对系统不够熟悉的人随意操作系统文件会破坏系统。为了解决此问题,一种简单直接粗暴的方法就是禁止用户显示系统文件。显示系统文件方法用户可以通过文件夹选项里去掉“隐藏系统文件”勾勾,从而显示系统文件,如下图红色框框。去掉这个勾勾就可以显示出来系统文件了。一般用户稍微百度搜索一下就知道这个方法了。因此需要对这个进行限制,让使用者无法去掉这个选项的勾勾。解决方法上面图面是资源管理器(explorer.exe)的一个页面,在注册表里有一个项

2020-06-01 15:00:27 285

原创 windows文件系统驱动里FltGetFileNameInformation获取到的文件名称解析

FltGetFileNameInformation(Data, FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_DEFAULT, &NameInformation)1、如上面代码,在指定FLT_FILE_NAME_NORMALIZED参数时,获取到的file name情况如下:针对一个本地文件: NameInformation->Volume:\Device\HarddiskVolumeX ...

2020-05-22 14:41:03 966

转载 Windows 平台上长路径名文件的解决方法

Windows 对长路径名文件的限制众所周知,微软的文件系统经历了 fat->fat32->NTFS 的技术变革。且不论安全和文件组织方式上的革新,单就文件名而言,已经从古老的 DOS 8.3 文件格式(仅支持最长 8 个字符的文件名和 3 个字符的后缀名)转变为可以支持长达 255 个字符的文件名。而对于路径长度,NTFS 也已经支持长达 32768 个字符的路径名。然而,W...

2020-04-23 17:20:06 726

原创 Corrupted Memory Dump When You Obtain Full Memory Dump From A VM On WS2012 Or W2008R2 Cluster

Microsoft have released a KB article for when you get a corrupted memory dump file when you try to obtain a full memory dump file from a virtual machine that is running in a cluster environment.Sym...

2020-04-20 15:57:34 346

原创 windows dump文件产生原理

如何确保有Dump文件?1、 要清楚,Dump文件是Windows启动的一个保险机制,而蓝屏主要是用做给系统争取时间进行收集Dump文件所用,所以一个逻辑是必然会有的,那就是如果蓝屏必然触发Dump机制,Dump机制会根据系统设置进行Mini或Full的收集。2、 关于Dump文件的大小,如果Dump设置的存放位置不满足Dump文件大小也是不会产生Dump文件:a) MiniDum...

2020-04-20 15:31:26 1617

转载 抓取Dump文件的方法和工具介绍

一、Windows系统的任务管理器里抓dump启动任务管理器,选中某个进程,右键,弹出菜单"创建转储文件"注意事项:当你在64位Windows系统上抓32位进程的dmup文件时,如果用的是64位任务管理器,那么在用Windbg加载后,要用!wow64exts.sw切换到X86模式下,如果不想做这步切换,就要用32位的任务管理器来生成dmp文件。32位任...

2020-04-20 15:14:34 2254

原创 Windows下几个用户目录的获取及其作用介绍

Win7下:APPDATA=c:\users\xxx\AppData\RoamingLOCALAPPDATA=c:\users\xxx\AppData\LocalUSERPROFILE=c:\users\xxxALLUSERPROFILE=c:\ProgramDataHOMEPATH=c:\users\xxxTEMP= c:\users\xxx\AppData\Local ...

2018-11-28 11:23:52 3212

转载 VS中添加第三方库及相对路径设置

对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll)。1.  文件位置:为了提高程序的可移植性,将第三库放在解决方案(*.sln)或者工程(*.vcxproj)文件所在的文件夹下。而不要放在其他地方,比如放在D:\某个位置,这样的话,程序在别的电脑上可能就无法运行了。2.  头文件:在工程属性-&gt;VC++目录-&gt;包含目录中添加头文件...

2018-11-26 21:54:09 1401

转载 用户访问web服务器过程精解

2018-11-20 11:15:11 557

原创 解决在64位系统中,32位程序访问注册表重定向到 WOW6432Note 里的问题

使用Wow64DisableWow64FsRedirection 函数可禁用文件系统重定向. 默认情况下系统是启用文件系统重定向的。使用此函数需要注意下面事项(以下来自MSDN的翻译):此函数适用于64位系统中32位程序需要访问本机 system32 文件夹. 默认情况下, WOW64 文件系统重定向是启用的.Wow64DisableWow64FsRedirection 和 Wow64...

2018-11-20 09:36:06 2559

原创 教你隐藏盘符,把你的小姐姐藏起来

上次一个朋友告诉我,他无意中把一台硬盘里有小姐姐爱薇的笔记本借给了小姨子。从此,小姨子看他的眼神都充满了警惕,大有一言不合就拔刀相向的感觉,两人见面经常相当尴尬。我之所以说这件事除了要告诉大家,个人电脑(PC)不要轻易借给别人,还要告诉大家,PC一定要做好隐私的保护。每个人的电脑里都可能有一些很私密的东西,尤其是爱薇人士,以像陈冠希老师这样的摄影爱好者等等。今天为大家带来了福音,教大家...

2018-11-13 09:26:46 19931 4

转载 PC客户端软件升级方式简史

在windows8之前,微软的Windows平台一直没有提供一个想苹果的AppStore或者Linux的包管理这样的统一软件管理工具。所以Windows下的软件安装、升级、卸载的事情一般都是软件自己去负责。这样导致Windows下的软件安装、升级、卸载的方式五花八门,但总体上来说方法都大同小异。安装程序主要分两种,下载器的安装包和离线安装包,这个不赘述。 今天重点聊一下升级,升级功能看似简单,但...

2018-11-06 11:32:36 2273

转载 【转】一段关于国产芯片和操作系统的往事

2018-04-23 08:49:31 651

转载 MFC %s和%S

%s和%S跟程序的字符集设置有关。如果你的程序是UNICODE,那么%s表示对应的参数是一个WCHAR*,而%S对应的参数是一个char*如果你的程序是ANSI,那么%s表示对应的参数是一个char*,而%S对应的参数是一个WCHAR*

2017-10-16 22:23:50 836

转载 WPF Path详解

WPF提供两个类来描述路径数据:一个是StreamGeometry,另一个是PathFigureCollection。 的形式是StreamGeometry的XAML代码表示形式,也是最简洁的表示形式。         这样的方式是使用PathFigureCollection的XAML代码表示方式。 这两种方式都可以达至同一种显示效果,那么,

2012-04-11 14:15:25 13622 1

原创 WIN32_LEAN_AND_MEAN

The Winsock2.h header file internally includes core elements from the Windows.h header file, so there is not usually an #include line for

2011-09-26 16:01:08 1457

转载 BIG Endian 与 Small Endian --大小端模式的区别

谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian

2011-08-25 10:59:25 2894

原创 将结构体中的部分成员定义在其他文件中

原来结构体也可以这样定义

2010-11-04 14:15:00 1123

原创 得到结构体中成员的偏移

得到结构体中成员的偏移

2010-10-08 09:26:00 985

原创 使用OBJECT_ATTRIBUTES时导致的蓝屏(DRIVER_VERIFIER_DETECTED_VIOLATION (c4) )

DRIVER_VERIFIER_DETECTED_VIOLATION (c4)

2010-09-21 15:45:00 7600

转载 在服务程序中弹出对话框

在服务程序中弹出对话框

2010-07-04 13:11:00 1655 2

转载 实战DeviceIoControl:列举已安装的存储设备

实战DeviceIoControl:列举已安装的存储设备

2010-06-21 10:12:00 1137

转载 关于IoGetDeviceObjectPointer函数

关于IoGetDeviceObjectPointer函数

2010-06-14 14:41:00 2129

原创 如何得到pdo设备的设备指针

如何得到pdo设备的设备指针

2010-06-02 15:03:00 1534

原创 设备类成员的Close和CleanUp

设备类成员的Close和CleanUp

2010-06-01 09:51:00 735

原创 总线驱动程序如何捕获到相关设备插入拔出事件

<br />总线驱动程序如果想捕获到相关设备插入拔出事件,可以在其IRP_MN_START_DEVICE结束处用IoRegisterPlugPlayNotification注册一回调函数。 <br />IoRegisterPlugPlayNotification原型如下:<br />NTSTATUS <br />  IoRegisterPlugPlayNotification(<br />    IN IO_NOTIFICATION_EVENT_CATEGORY  EventCategory,<br /> 

2010-05-31 11:17:00 3180 1

转载 Windows Vista 交互式服务编程

Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改动,致使一些原本可以工作的程序不再能够正常工作了,我们不得不进行一些改进以跟上 Vista 的步伐。 我们的软件在Windows NT/2000/XP/Vista 系统中安装了一个系统服务,这个服务负责以 SYSTEM 权限启动我们的主程序。我们的主程序启动后会在系统托盘添加一个图标,点击此图标可以

2010-05-18 17:59:00 647

原创 服务启动过程

我的理解:服务启动过程可以通过几个有阶段性的函数来进行了解。一  StartServiceCtrlDispatcher函数当SCM启动一个服务进程时,该进程立即调用StartServiceCtrlDispatcher函数。该函数接收一个入口点列表,每个入口点列表对应于该进程中的一个服务。每个入口点是由它所对应的服务的名称来标识的。例如下面的代码: SERVICE_TABLE_ENTRY

2010-05-17 16:43:00 1124 3

原创 不用第三方工具解压zip档案

下面的是KeSummer给我的问题的答案,其所说的方法和提供的代码经过验证时可行的,感谢KeSummer的指点。原帖地址链接:http://topic.csdn.net/u/20090108/16/d5aebfec-b916-449e-ae88-02dd45388804.html#replyachor原理:zipfldr.dll是个COM组件,但是尚未公开接口,但是我们可以打开一个隐藏的e

2010-05-13 17:05:00 1211

APIHOOK例子(Detour)

一个简单实例,通过Detour来对系统API进行HOOK,拦截系统API,做自己想做的事情。欢迎微信交流 zhxunCC

2018-08-03

勒索病毒WannaCry深度技术分析

勒索病毒,WannaCry,想哭,深度技术分析。勒索病毒自从2017年开始全球泛滥,并且愈演愈烈,引起了广泛关注和广大技术爱好者的兴趣。这也给安全厂商带来了挑战。

2018-08-01

GDI+ SDK开发文档

GDI+ SDK中文版,系统的介绍了VC中GDI+ 开发环境搭建,绘图等等。

2018-07-01

MessageBox按钮显示英语或者其他语言

windows开发使用到的MessageBox显示英文或者其他语言方法。

2017-10-27

amCharts for wpf chm

amChartsforWpf 开发文档。欢迎添加微信zhxunCC(备注CSDN网友)一起交流

2017-06-09

图形控件ZedGraph使用傻瓜教程

图形控件ZedGraph使用傻瓜教程,跟着它一步一步操作下来,可以生成自己的一个winform图形程序,可以了解ZedGraph如何使用。如果有任何疑问和想法欢迎添加微信zhxunCC(备注 CSDN网友)一起交流。

2017-06-05

C# ZedGraph图表控件源码

C# ZedGraph图表控件源码,我自己使用过,如果你使用过程中有疑问,欢迎添加微信zhxunCC(备注CSDN网友)一起交流。

2017-06-04

Nevershortcut

这个android apk已经禁止被截屏,感兴趣的来试试看你是否有办法截它的屏~~

2015-04-07

更改listbox外观sample

更改listbox外观sample 更改listbox外观sample

2012-04-20

用listbox拼凑gridview测试代码

用listbox拼凑gridview测试代码

2012-04-18

DependencySample

演示如何自定义dependency property。

2012-04-10

Intel虚拟化技术-从VT-x到VT-d

Intel虚拟化技术-从VT-x到VT-d详细介绍。

2012-03-14

bluetooth编程(pdf)

一份介绍bluetooth编程的pdf资料,很详细。介绍了在linux windows等OS上如何对bluetooth进行操作。

2011-09-30

如何写“可变参数函数”

个人学习笔记,简单的实例加明了的说明,看了就应该能自己写出可变参数函数。

2011-07-04

PCIbridge-subtr

This paper provides information about how the Microsoft® Windows® family of operating systems handle subtractive PCI-to-PCI bridges. It provides guidelines for device manufacturers and driver developers to understand how Windows supports PCI-to-PCI bridges.

2010-11-15

7-Zip 压缩工具下载

7-Zip是一個开放源码的数据压缩程式,主要用在Microsoft Windows作業系統,Unix-like的作業系統如Linux與FreeBSD下面有7-zip的移植版本p7zip可以使用。

2010-10-17

只打开应用程序的一个实例

只打开应用程序的一个实例的示例代码。压缩档里有具体原理。此代码在win7下测试通过。

2010-08-15

图解ghost使用方法

每一步操作都有对应的图示说明。完全不懂的人只要照着做也能成为ghost达人。更何况聪明的您呢?

2010-06-28

详细解读Windows 7下的程序运行控制

一份word资料,比较详细的解读了Windows 7下的程序运行控制知识。

2010-06-24

深入剖析Win32可移植可执行文件格式

你可能想知道为什么要关注可执行文件的格式。答案永远是:操作系统的可执行文件格式和数据结构展现了操作系统内部许多信息。通过理解EXE和DLL的内部情况,你会发现你已经变成你周围一个更优秀的程序员。

2010-05-10

windows的usb体系结构

windows的usb体系结构 windows的usb体系结构 windows的usb体系结构 windows的usb体系结构

2010-05-10

文件过滤系统Filemon学习历程

文件系统比较复杂,学习起来比较涩。这份资料不错,可供大家参考。

2010-05-07

MFC类库详解.chm

对于初学者是很好的帮助文档,因为是汉语的。对于老鸟想不起来又懒得读e文时可以当做字典使用。

2010-05-05

VScsiDisk源代码

和tiamo的那份架构不同,效率也比tiamodisk高很多。不过核心大都相似。tiamo说他自己的那份是根据这份和ddk中toaster下相关的内容修改而来。不过都是学习通过SCSI做虚拟设备的好例子。

2010-04-15

ProjectOZ 源码

一套探索实际操作系统运行情况的工具,其实是一个运行在用户模式下的内核接口程序。在这个环境下学生可以查看实际运行的Windows的各种数据结构、处理过程等。同时提供了一个运行于其上的简单但完整的示例操作系统BasicOZ。

2010-04-12

注册表 结构

全面介绍了注册表的结构,以及各个大键下都包含什么内容,如何安全编辑注册表,备份注册表等

2010-03-23

SCSI读写命令介绍

SCSI读写命令介绍包括6、10、12、16、32、long等

2010-03-23

了解不同种类的windows存储驱动.

使用MDT部署过Server的人最头痛的大概就是存储驱动,不同服务器的存储设备可谓是千差万别。通过本资料您可以了解windows的存储驱动,可以为部署时提供更多的帮助。

2010-03-23

cJSON解析json格式文件代码示例(vs2019编译)

cJSON解析json格式文件代码示例(vs2019编译),工程里直接导入cJSON源码,源代码里是一个创建json文件的例子,补充了解析json文件的代码,可作为参考

2021-01-01

windows调试工具(windbg KD CDB NTSD)实例详细介绍.pdf

windbg调试工具详解,非常全面的讲解了windbg工具的原理使用以及命令,每个命令都附有详细实例介绍,是快速入门提高windbg调试windows程序的一本利器。

2020-12-12

windows10最新功能特性详解

全面解析了windows10特性,是比较全面了解windows10操作系统的一门科普书籍,内容全面,易懂,可跟着操作,能帮助快速入门。

2020-12-12

driver verifier使用指南.pdf

开发windows驱动,在发布之前都需要通过driver verify来进行测试,如何进行设置以及如何解决测试中报出来的问题,这本书都给了详细解释。

2020-12-12

驱动程序电源管理处理完整参考代码.pdf

一份非常完整的windows wdm设备驱动电源处理完整参考代码,有非常详细的解释和源码,看了这份源码,不用担心不会处理电源事件了。

2020-12-01

windows服务应用程序开发指南.pdf

Microsoft Windows 服务(过去称为 NT 服务)允许用户创建可在其自身的 Windows 会话中长时间运行的可执行应 用程序。 这些服务可在计算机启动时自动启动,可以暂停和重启,并且不显示任何用户界面。 这些功能使服务非 常适合在服务器上使用,或者需要长时间运行的功能(不会影响在同一台计算机上工作的其他用户)的情况。 还可 以在与登录用户或默认计算机帐户不同的特定用户帐户的安全性上下文中运行服务。

2020-05-09

Windows平台防护软件的自保护机制原理及安全性分析_李瑜.pdf

本文对 Windows 平台上防护软件自保护机制的实现方式进行了归纳分类,剖析各类自保护机 制的技术原理,对比指出各种技术的优势及其脆弱性,并对防护软件自保护机制的设计提出了意见建议。

2020-04-09

OpenCppCoverage源码

OpenCppCoverage是一个运行在windows上的程序,其不是在编译时进行插桩,而是在运行时,因此保证了代码和测试的一致性。 这个资源是该工具源码。欢迎添加微信zhxunCC一起交流。

2018-12-04

OpenCppCoverage(32位)安装包

OpenCppCoverage是一个运行在windows上的程序,其不是在编译时进行插桩,而是在运行时,因此保证了代码和测试的一致性。 使用过程中如果遇到问题,欢迎添加微信zhxunCC交流。

2018-12-04

OpenCppCoverage(64位)安装包

OpenCppCoverage是一个运行在windows上的程序,其不是在编译时进行插桩,而是在运行时,因此保证了代码和测试的一致性。

2018-12-04

VC生成二维码sample

调用库生成二维码示例。C++代码,VS2010编译通过。命令行程序。

2018-08-07

自定义MessageBox(XMessageBox)

自定义MessageBox。一个项目难免需要用到消息提示框,但系统自带的提示框我们没法改变外观,也无法对其进行自定义。这个自定义对话框完全实现了系统对话框效果,并且增加了许多其他功能。最重要的是,源码在手,效果你有。

2018-08-02

空空如也

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

TA关注的人

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