
C++
文章平均质量分 73
DoveFeng
这个作者很懒,什么都没留下…
展开
-
Windows驱动开发WDM (1) - 基本结构
驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱动加载的时候,被内核中的对象管理程序所创建的。驱动对象用DRIVER_OBJECT来表示,内核对一个驱动只加载一个实例。对于DRIVER_OBJECT的说明,详见:http://msdn.microsoft.com/en-us/library/windows/hardware/ff544174(v=...转载 2018-03-29 21:30:33 · 1388 阅读 · 0 评论 -
windows内核编程基础篇之使用同步事件
系统线程:在驱动中生成的线程一般是系统线程,系统线程所在的进程名为“System”,用到的内核API函数是:NTSTATUS PsCreateSystemThread(OUT PHANDLE ThreadHandle,IN ULONG DesiredAccess,IN POBJECT_ATTRIBUTES objectAttributes OPTIONAL,IN HANDLE ProcessHan...转载 2018-03-29 08:19:12 · 365 阅读 · 0 评论 -
《Windows内核编程》---系统线程和同步事件
系统线程:在驱动中生成的线程一般是系统线程,系统线程所在的进程名为“System”,用到的内核API函数是:NTSTATUS PsCreateSystemThread(OUT PHANDLE ThreadHandle,IN ULONG DesiredAccess,IN POBJECT_ATTRIBUTES objectAttributes OPTIONAL,IN HANDLE ProcessHan...转载 2018-03-29 08:21:54 · 216 阅读 · 1 评论 -
如何.net 程序强签名与手工证书签名说明
今天在看书,做程序签名,结果不行,现在把 .net 程序签名的步骤记录了一下。对程序进行强签名步骤1 创建密钥对sn -k myKeyPair.snk2 对项目属性进行设置但是强签名并不包含发行商信息。所以如果需要对程序进行更详细说明,可以使用证书签名(SPC)以下是 sign.bat 文件内容[php] view plain copy@echo 删除旧文件 del testCert.* ...转载 2018-04-05 10:30:55 · 1283 阅读 · 0 评论 -
inf文件
INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。中文名inf文件外文名Device INFormation File发布公司Micros...转载 2018-04-05 20:29:48 · 960 阅读 · 0 评论 -
对Windows 平台下PE文件数字签名的一些研究
Windows平台上PE文件的数字签名有两个作用:确保文件来自指定的发布者和文件被签名后没有被修改过。因此有些软件用数字签名来验证文件是否来自家厂商以及文件的完整性,安全软件也经常通过验证文件是否有数字签名来防误报。但是因为windows对于常用的数字签名验证API- WinVerifyTrust实现的问题,以及一些并不恰当的示例代码,很多地方在验证数字签名时存在卡慢或者安全性不高的问题。本文将介...转载 2018-04-05 21:37:33 · 7365 阅读 · 1 评论 -
PE文件数字签名工具
"C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\signtool.exe" 签名工具是一个命令行工具的数字签名的文件,验证文件和时间戳文件中的签名。签名工具将自动安装的 Visual Studio 中。 要启动工具,请使用 Visual Studio 命令提示符。 签名工具具有以下常规语法:signtool [comman...转载 2018-04-05 21:40:16 · 993 阅读 · 0 评论 -
Windows驱动通过inf文件生成cat文件步骤
编写Windows驱动程序,最后一步就是打包和安装。Windows 7 64位系统以上的版本,如果没有对cat或者sys文件进行数字签名,驱动安装会出现问题,或者驱动使用过程也会出现异常。为了兼容性考虑,我们需要生成cat文件。 本人环境win7 x64位,安装了WinDDK。WinDDK提供了 Inf2Cat.exe 工具,该工具在 C:\WinDDK\7600.16385.1\bin...转载 2018-04-06 05:11:40 · 1681 阅读 · 0 评论 -
一个简单的文件系统过滤驱动框架
很多人认为文件系统过滤驱动很复杂,其实也有一定道理,因为需要有很多细节需要考虑到,这是一个简单的文件系统过滤驱动,抛去了大部分细节,留下了一个简单的框架,其实这样文件系统过滤驱动就变得蛮简单的,很多接口可以不用实现,只要知道大致流程,其它都将会很清晰。[cpp] view plain copy#define DBG 1 #include <ntifs.h> #include ...转载 2018-06-02 17:27:22 · 920 阅读 · 0 评论 -
TPM开发指导
TPM环境搭建 Tpm_emulator模拟器安装过程:http://blog.youkuaiyun.com/zhangnn5/article/details/6767230trousers源码及测试工具下载:https://sourceforge.net/projects/trousers/files/TPM实验环境搭建:http://blog.sina.com.cn/s/blog_6035b2130101...原创 2018-05-23 15:20:52 · 1564 阅读 · 0 评论 -
TPM1.2到TPM 2.0的变化
原文地址:http://www.vonwei.com/?mod=pad&act=view&id=11TPM 1.2规范主要面向PC平台,其103版本在2009年被接受为ISO标准(ISO/IEC 11889),而且国际上上亿的终端机器和laptop都配备了TPM安全芯片,到目前为止,虽然有声称TPM 2.0的芯片制造出来,不过占据主要市场的还是TPM 1.2芯片。由于TPM 2.0...转载 2018-05-28 15:03:46 · 13011 阅读 · 0 评论 -
记一次C#的web模拟登录抓取
模拟登录的文章有很多,代码也有很多,但是缺少详细的关于如何抓取登录时的请求内容,以及我在模拟登录过程中出现的一些问题。实现步骤;使用抓包工具(这里使用360浏览器自带的工具)抓取登录动作时我们向服务法送的请求的内容使用httpwebrequest模拟请求,然后获取应答内容,保存cookie;使用保存的cookie发起需要获取页面的请求获取页面内容。以艺龙旅行网为例子:首先打开艺龙的登录页面,在36...转载 2018-05-23 21:24:34 · 3847 阅读 · 0 评论 -
《Windows内核编程》---同步事件
同步对象:内核中的事件是一个数据结构,这个结构的指针可以当作一个参数传入一个等待函数中。如果这个事件不被“设置”,则这个等待函数不会返回,这个线程被阻塞;如果这个事件被“设置”,则等待结束,线程可以继续执行。如果一个线程需要等待另一个线程完成某事之后才能做某事,则可以使用事件等待。这个数据结构就是KEVENT,这个结构总是用KeInitializeEvent初始化:VOID KeInitializ...转载 2018-03-29 08:07:00 · 816 阅读 · 0 评论 -
多线程 以及多线程安全
线程的运行级别(IRQL)中断是指在CPU接到这个请求后停止手上的工作来处理我们的工作(指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程)中断优先级是指为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。引用来自http://blog.youkuaiyun.com/fengkuangfj/article/de...转载 2018-03-29 08:03:00 · 395 阅读 · 0 评论 -
获取数字签名
#include <windows.h> #include <stdio.h> #include <Mscat.h> #include <wintrust.h> #include <Softpub.h> #include <assert.h> //删除数组 #define SafeDeleteArraySiz...转载 2018-04-04 06:36:59 · 1192 阅读 · 0 评论 -
WM_INITDIALOG与WM_CREATE消息的区别
WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕(可以安全的使用这个窗口了,例如在它上面画控件等)。在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。 WM_INITDIALOG消息是对话框才能收到的消息,表明对...转载 2018-03-24 16:44:09 · 1386 阅读 · 0 评论 -
RegisterWindowMessage实现消息通信--进程间通信 1
进程间通信的方法有很多,比如使用注册消息,内存映射,WM_COPYDATA等,下面先讲使用注册消息实现的方法。使用注册消息比较简单,核心是消息的接收端和消息的发送端(接收端和发送端在两个不同的进程)必须注册相同的消息,这样发送消息才能识别。下面看看具体实现:一,发送消息进程1, 在发送消息程序A注册消息:const UINT WM_UPDATE_ALARMFILTER = ::RegisterWi...转载 2018-03-24 17:14:21 · 710 阅读 · 0 评论 -
Windows消息:怎样使用RegisterWindowMessage注册消息
注册窗口消息1.UINT nMsgRegistered = ::RegisterWindowMessage(TEXT(“RegisterMsgName”)); 2.afx_msg LRESULT OnMyRegisteredMsg(WPARAM, LPARAM); 3.LRESULT CTestDlg::OnMyRegisteredMsg(WPARAM wParam, LPARAM lParam)...转载 2018-03-24 16:55:20 · 2169 阅读 · 0 评论 -
InstallShield使用完全教程
InstallShield Installshield是一个强大和易于使用,用于解决Windows软件安装包开发的制作工具。用它可以以传统MSI方式和虚拟格式,自动化地封装、捆绑和包装你的产品。 IntallShield能使你的用户在决定何时何地何方式管理和部署你的应用程序时,得到一个最时尚舒畅的安装体验。是Microsoft Windows平台上应用程序安装打包领域,使用最广泛和市场认可...转载 2018-04-09 08:07:46 · 25889 阅读 · 22 评论 -
InstallShield脚本语言的初识
基本组成InstallShield脚本语言类C,写惯了面向对象稍微有点看不惯,但它毕竟只是个脚本语言,比C还是好理解多了。1、预处理命令程序的头部含有”#”开始的命令,根据不同类型预先加载进来。#include "ifx.h" #include "ShutDownApp.rul"122、函数InstallShield内置了250多个函数,一般都直接调用使用。用户也可以自定义函数,必须在progr...转载 2018-04-10 15:42:19 · 334 阅读 · 0 评论 -
InstallShield 脚本语言学习笔记
InstallShield 脚本语言学习笔记InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。 一.基本语法规则 1.变量 BOOL 布尔型 值为TRUE(1)或FALSE(0) CHAR 字符型 一字节长的(8bit)的字符 HWND 窗...转载 2018-04-10 15:43:20 · 255 阅读 · 0 评论 -
InstallShield脚本编程基本语法
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。 一.基本语法规则 1.变量 BOOL布尔型值为TRUE(1)或FALSE(0) CHAR字符型一字节长的(8bit)的字符 HWND窗口句柄用来存放窗口句柄 INT整型两字节长的整数 LIST列表型指向InstallShi...转载 2018-04-10 15:44:38 · 720 阅读 · 0 评论 -
DiskPerf代码分析(供学习驱动开发的朋友参考)
DiskPerf代码分析总体分析:Diskperf过滤驱动监视磁盘的存取操作,并且获取磁盘的性能数据。该驱动支持PnP,电源管理和WMI。但该驱动不支持64位平台。(The DiskPerf filter driver monitors disk access and captures performance data. This driver supports Plug and Play (Pn...转载 2018-03-28 16:37:30 · 813 阅读 · 0 评论 -
vs自带工具进行代码数字签名方法
数字签名(代码签名)流程 Authenticode : 这里翻译为数字认证代码。 code sign : 字面的翻译为代码签名,但是通常的我们称为数字签名,以下的文中均称为数字签名。一 数字认证码如果你是软件开发人员,你可能已经知道windows系统和一些浏览器(例如IE,Firefox)使用一种称为数字认证代码的技术来标识软件的发行商,来检查软件没有被病毒影响。如果你的软件没有用数字认证代码签名...转载 2018-04-04 05:17:53 · 6454 阅读 · 0 评论 -
为sys/cat文件生成测试签名
这几天想测试一下使用DpInst安装驱动,由于驱动程序没有签名因此安装失败,借此研究一下如何为Sys/cat文件生成测试签名。本文参考了看雪论坛上的一篇文章:win x64平台驱动测试数字签名,并对其中一些错误(可能是作者前后两次实验导致的偏差)做了修改。 驱动在开发/测试阶段时是没有数字签名的,所以一般都会开机后进入F8,选择禁止数字签名强制,但是这个办法的麻烦之处就是每次开机都要这样操...转载 2018-04-04 06:01:27 · 1254 阅读 · 0 评论 -
Inf2Cat应用的参数使用详细介绍(inf2cat生成cat文件)
Inf2CatInf2Cat (Inf2Cat.exe) 是一个命令行工具,该工具确定驱动程序包的 INF 文件是否可以针对指定的 Windows 版本列表进行数字签名。如果可以,那么 Inf2Cat 会生成适用于指定 Windows 版本的未签名的目录文件。Inf2Cat /driver:PackagePath /os:WindowsVersionList [/nocat] [/verbose]...转载 2018-04-04 06:07:58 · 5559 阅读 · 0 评论 -
使用 CAT(安全编录)文件数字签名 / 检验文件
http://blog.sina.com.cn/s/blog_69956eab0102w3bb.html经常有网友在问,WINDOWS下除了PE文件,能不能对任一格式的文件进行数字签名?为什么一个PE文件,右键“属性”没有“数字签名”标签卡,但仍然可以通过其他软件检测出该程序已签名?今天,就为大家做一个介绍。这所有的一切,皆是CAT文件的功劳。(本文仅介绍CAT文件之于数字签名的作用,其他功能...转载 2018-04-04 06:23:48 · 3033 阅读 · 0 评论 -
文件过滤驱动
文件过滤驱动一、文件透明加解密关键字:透明、文件过滤驱动、加密标识,缓存 文件过滤驱动最重要的两点是搞定加密标识和缓存管理1、透明概念:透明指的是用户在操作的时候,虽然后台在自动的进行加解密,但是用户根本就不知道加密的存在,就像中间隔了一层透明的玻璃一样。 透明的好处在于不改变用户的操作,一切都和加密之前一样,甚至在有些企业安装加密后都无需通知所有的员工,就像加密并不存在一样,只是加密文件...转载 2018-06-02 15:52:02 · 6730 阅读 · 0 评论