自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

原创 nullfilter正常加载,callback不生效

2,下载微软开源项目中的nullfilter.inf,修改一下:​​​​​​https://github.com/microsoft/Windows-driver-samples/blob/master/filesys/miniFilter/nullFilter/nullFilter.inf。我们可以看到在DbgView中就显示了我们在driver中输出的内容了。点击红色的卸载按钮,我们driver就被成功的卸载掉了,同时在DbgView中也可以看到我们在unload函数中写的输出了。

2023-08-31 17:06:53 146

原创 windows中搭载openssl环境

下载openssl https://www.openssl.org/source/ 下载后解压【注意】openssl代码所在目录中不要带中文,否则“nmake -f ms\ntdll.mak ”可能会提示“宏中非法字符”等错误一、Openssl WIN7 x64 编译 环境:WIN7 64位,编译器:VS2010 需要下载 Perl(如http://downlo

2017-07-05 16:49:23 578

原创 python加载模块PyImport_ImportModule返回NULL

用C++调用python脚本,总出现问题,就想自己生成python文件,用符号进行调试。调整环境后,发现不论是本机还是虚拟机里加载脚本返回总是有问题,PyImport_ImportModule--》PyImport_Import()-->PyObject_CallFunction()-->Call_function_tail,也找不出什么问题,最后直接执行一下脚本,就发现了PyImport

2017-07-04 14:31:46 5693

转载 IDispatch接口 - Dual和Custom

当用ATL向导来创建一个接口的时候,向导会让我们选择Dual或者Custom.那么它们到底有什么分别呢?Dual鼠标移上去,其实是有个说明的。下面的截图没有显示后面的一些文字,实际意思是说这个接口同时支持IDispatch方式和vtable方式,这大概也就是双接口(Dual)名字的来源。vtable调用方式,指的是直接通过接口指针的虚函数表。比如[html]

2017-04-24 11:13:45 594

原创 COM连接点事件event

COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。有了连接点,服务器可通过定义一个接口来指定它能够引发的事件。服务器上引发事件时,要采取操作的客户端会向服务器

2017-04-21 15:34:03 4134 3

转载 VARIANT and VARIANTARG 中的byref

在_IXXXEvent的Fire_onXXX(LONG *Response)函数中,若把该函数的参数作为返回值,if(Response){ varResult.byref = Response; varResult.vt = VT_I4|VT_BYREF;}在客户端的Invoke函数中获取方法:LONG *lValue = pVarResult-

2017-04-21 14:33:48 947

原创 COM组件的接口类添加Event

自己获取有无event的区别是,在向导中是否勾选:连接点。红色为添加部分:import "oaidl.idl";import "ocidl.idl"; [     object,     uuid(C74F7F62-D315-4BF6-9422-9B80D68DB4FA),     dual,     nonextensibl

2017-04-19 18:32:00 1589

转载 C++调用Python浅析

在一个C++应用程序中,我们可以用一组插件来实现一些具有统一接口的功能,一般插件都是使用动态链接库实现,如果插件的变化比较频繁,我们可以使用Python来代替动态链接库形式的插件(堪称文本形式的动态链接库),这样可以方便地根据需求的变化改写脚本代码,而不是必须重新编译链接二进制的动态链接库。灵活性大大的提高了。通过C++调用Python脚本主要要用到如下的一些Python提供的API,因为实际

2017-03-06 18:17:34 486

转载 Solution for link error:Cannot Open File 'python27_d.lib'

引自:http://guangboo.org/2013/01/17/solution-link-errorcannot-open-file-python27_dlib感谢原作者使用C调用Python函数或解释器时,在添加了Include Directories和Library Directories等配置后,仍然编译错误:"LINK : fatal error LNK1104: c

2017-03-03 16:14:46 1253

转载 COM在注册表中的相关键值及其意义

转自:http://www.cnblogs.com/developersupport/archive/2013/06/02/COM-registry.html概要当编写好一个COM并将其在系统中注册之后,这些注册表项到底位于Register中的什么位置,系统是如何通过这些注册表项在Runtime时候找到某个COM的,这些都是诊断COM相关的问题至关重要的信息。总的来说,系统是通过GUID来

2015-09-17 17:52:11 551

转载 如何删除windows service (How to delete a windows service)

How to delete a windows service  Recently, I was trying to delete a windows service. Normally it should not be necessary to manually delete a service. Uninstalling an application should remove its

2015-09-14 19:19:33 1596

转载 Wow6432Node

64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。64 位版本 Windows 包含的默认 64 位版本注册表编辑器 (Regedit.exe) 可显示 64 位和 32 位的 注册表项。WOW64 注册表重定向器为 32 位程序提供了对应于 32 位程序注册表项的不同注册表项。在 64 位

2015-09-14 19:18:25 663

转载 32bit程序在64bit操作系统下处理重定向细节

1. 64bit操作系统的重定向机制以及目的    在64bit操作系统中,为了无缝兼容32bit程序的运行,64bit的Windows操作系统采用重定向机制。目的是为了能让32bit程序在 64bit的操作系统不仅能操作关键文件文夹和关键的注册表并且又要避免与64bit程序冲突。  微软采用重定向机制的原理很简单,说白了就是 让关键文件/文件夹或者关键注册表有2个副本。 1个副本是给32

2015-09-14 19:17:02 720

转载 Uninstall注册表项

提供卸载程序的方法;写注册表,以便在“添加/删除程序”中显示    WriteRegStrHKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Name}""DisplayName" "${Name} ${Ver}"    WriteRegStrHKLM "Software\Microsoft\Windows\Cur

2015-09-14 11:20:02 7804 1

转载 高完整性代理(IE安全模式)

高完整性代理在本章前面曾经提到,Windows Vista及更新版本中的IE 8使用UAC,根据完整性级别和权限集来区分数据访问权限与命令。这些功能大多是保护模式的一部分。由于"按机器ActiveX"控件需要将二进制文件和注册表设置写到高完整性(系统级别)位置,所以浏览器启动分离的代理进程来处理这些安装。当准备安装ActiveX控件时,IE启动ieinstall.exe,在特定情况下还会启

2015-08-07 14:14:47 1050

转载 完整性级别(Integrity Level)、UAC和LoRIE(涉及IE保护模式)

完整性级别(Integrity Level)、UAC和LoRIE在Windows Vista中,微软一开始就对其处于操作系统核心地位的自主访问控制功能进行了扩展。主要的目的是为了在某些情形下实施强制(mandatory)访问控制。举例说明,执行某些动作必须要管理员权限,而在获取管理员权限之前在标准的用户权限识别管理基础上需要额外的授权。微软将这一新的架构扩展称为"强制完整性控制(MIC)"。

2015-08-07 14:04:49 6638

转载 IE保护模式

IE保护模式  谈到Windows Vista的IE 7安全特性,必须首推其保护模式功能。这个Feature的来头可不小,据说是盖茨亲自点将,可见其重要性。    而只有Windows Vista的IE保护模式,才是真正可以做到既方便、又安全,同时又兼容!  IE保护模式实际上依赖于Windows Vista三大安全特性:UAC(用户帐户保护)、MIC(强制完整性检测)和UIPI(

2015-08-07 13:59:42 1358

转载 IDA文件目录简介

IDA的可执行文件   idag.exe:IDA的Windows GUI版本。从6.2开始,IDA中不在包含该文件。   idaq.exe:IDA6.0或更新版本的Windows Qt GUI版本。   idaw.exe:IDA的Windows文本模式版本。随着IDA6.0开始采用Qt跨平台GUI库,IDA的原始windows版本(idag.exe)已被废弃,将

2014-12-08 23:18:46 1879

转载 VC6安装错误解决

按了无数遍VC6 都没有碰到这个问题,我的可恶的win7上第一遍没有问题但是VC6不能用? 打开就说有错误卸载重装遇到这个问题:——Error Launching ......acmboot.exe今天被我碰到了---Google一下 找到答案(1)需要修改注册表键值:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStu

2014-12-08 17:33:04 2625

原创 treectrl的个性化排序

CTreeCtrl有几种方式对其子项进行排序InsertItem allows to insert the child item alphabetically, when specifying TVI_SORT for hInsertAfter可以实现对插入节点按照字母顺序进行排序,前提是在参数hInsertAfter中指定为TVI_SORT.SortChildre

2014-12-04 14:31:24 1739

原创 LINK : fatal error LNK1104: 无法打开文件“C:/XXX.obj”

问题: LINK : fatal error LNK1104: 无法打开文件“C:/XXX.obj”     遇到这样的问题时可以先看一下LINK命令行,项目->属性->链接器->命令行,在这里,前面设置的“附加依赖项”可能被IDE改写了,例如,要加入一个XXX.lib的链接库,完整路径为"C:/Program Files/XXX.lib",如果被IDE改写的话会变

2014-11-06 11:46:06 28932

转载 VS可增加调试效率的伪符号getlasterror

可增加调试效率的伪符号       在调试的时候我们经常因为某个函数的执行错误而大费周折,还要在回过头来添加一个GetLastError()获取出错原因,非常麻烦。其实使用Visual Studio的伪符号@ERR就可以完成这个功能,我们等函数执行完,并确定它出错了,那我们就可以在Visual Studio的WATCH窗口里加上@ERR,马上可以看到出错的错误码了。如果我们还想知道错误码的

2014-09-26 16:34:43 1967

转载 special DLL Inject

注入在Windows平台上很常见,一般分为两类:二进制代码注入和动态连接库(DLL)注入。二进制代码注入指的是将SHELLCODE一类的数据放入远程进程并在本地进程中启动远程进程使其开始运作。DLL注入指的是以二进制代码注入为基础,在远程进程中运行加载动态链接库(DLL)的代码,使其运作加载DLL。DLL注入以二进制代码注入为基础,但是实现的功能比二进制代码丰富,在测试过程中,对深入观察和修改程序

2014-09-05 16:17:58 1633

转载 自己实现CreateRemoteThread

此文章自己还没试过,只是看看,   源地址:http://bbs.pediy.com/showthread.php?t=148370   要自己实现CreateRemoteThread。原理很简单(牛们莫笑,我等菜鸟见识少,而且无聊得很,如果你们有空,可以来多陪会儿我们),就是挂起目标线程,然后把其eip指针指向我们事先设定好的代码区域(shellcode),shellcode负责在目标进

2014-09-03 16:32:11 1451

转载 模拟高权限用户

我不知道这能不能算一个好点子,但我觉得这真的不错:模拟一个权力更大的用户进行某些无法完成的操作。举个例子来说:你在Administrator用户下,打开文件1.exe的安全设置页面,添加并设置Guest用户的权限为file control拒否,如下图所示: 这样,按照正常的办法,Guest用户将访问不到1.exe文件了。但是一点其他的办法都没有吗?也不是的,我告诉你一个:模拟高

2014-09-03 13:54:22 921

转载 PE详解之daochubiao

当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正。( 基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者。我们都明白Windows 在加载一个程序后就在内存中为该程序开辟一个单独的虚拟

2014-08-21 15:54:50 681

转载 Windows系统环境变量大全表

Windows系统环境变量大全表——环境变量详细信息%ALLUSERSPROFILE%所有用户 Profile 文件位置%APPDATA%应用程序数据的默认存放位置%CD%当前目录%CLIENTNAME%

2014-08-19 16:22:32 579

转载 PE文件的加载和修改

一、        Windows加载器加载器读取一个PE文件的过程如下:1. 先读入PE文件的DOS头,PE头和Section头。2. 然后根据PE头里的ImageBase所定义的加载地址是否可用,如果已被其他模块占用,则重新分配一块空间。3. 根据Section头部的信息,把文件的各个Section映射到分配的空间,并根据各个Section定义的数据来修改所映射

2014-08-18 15:29:10 3208

转载 PE文件之miansha

首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒,内存查杀则是载入内存后再比对,第二个比较新,它利用的原理是某些特定的病毒会有某些特定的行为,来监测病毒。免杀常用

2014-08-18 14:21:40 1118

转载 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件即可,替换之前记得备份一下,如果不对,可以替换回来。例如:我的电脑里面安装了vs2010,最近更新了系统,打了一些补丁,结果就出

2014-08-07 14:02:18 504

转载 规则dll

分为两类: (1)静态链接到MFC的规则DLL    静态链接到MFC的规则DLL与MFC库静态链接,将MFC库的代码直接生产在.dll文件中。在调用这种DLL的接口时,MFC使用DLL的资源。因此,在静态链接到MFC的规则DLL中不需要进行模块状态的切换。    使用这种方法生成的规则DLL其程序较大,也可能包含重复的代码。 (2)动态链接到MFC的规则DLL   动态链接到

2014-08-06 16:17:34 804

转载 LINK : fatal error LNK1123: 转换到COFF 期间失败文件无效或损坏

终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资

2014-07-24 15:14:14 643

转载 【WMI】WMI For C++/COM基础知识

源地址:http://blog.csdn.net/xscarlet/article/details/1752040知识背景        WBEM——Web Based Enterprise Management是一种行业规范,建立了在企业网络中访问和共享管理信息的标准。        WMI——Windows Management Instrumentation是WBEM的Windo

2013-10-29 17:02:18 862

原创 程序员面试宝典第二版87页勘误

最近集中时间总结,尤其是递归这一块,总结,总结,本来不预备看《程序员面试宝典》,最后还是决定草草过一遍,这不第一个题就发现错误。在函数PrintfArray中的二重循环是错误,第二字符串在找到对应的字符,才进入下一次递归,查找下一个字符。第一个字符串,不停的后移。并不是书中的二重循环。下面的代码屏掉的即为修改部分#include #include #include using n

2013-08-19 14:55:12 1036

原创 有关倒水问题之总结--欧几里德算法

做了Pongo的题觉得深受打击,关于倒水问题总结下。先贴篇文章,只是发现 A:25L,B:5L,要凑成C:7L,还有8L和2L凑成3L(偶数的和不可能是奇数吧)。但是没总结出什么来。 纠结于:ax+by = c 有解无解的情况。发现数学太差了。直到看到这篇文章,最大的启发,不过打算完善一下。但是文章只是能解决相当简单的问题,并未对情况进行区分,遇到A和B不能得到C的情况,只是陷入循

2013-07-25 10:51:04 2995 2

转载 Ctreectrl在初始化(OnInitDialog)中SetCheck的问题

SetCheck   对于对话框中的TreeView控件,如果想在初始化(OnInitDialog)中SetCheck,必须:m_tree.ModifyStyle( TVS_CHECKBOXES, 0 );m_tree.ModifyStyle( 0, TVS_CHECKBOXES );m_tree.SetCheck(hItem, TRUE);即即使在对话框编辑器中为TreeVi

2013-07-17 10:15:07 1602 2

转载 消息反射机制

常用MFC消息映射宏说明1、DECLARE_MESSAGE_MAP:在头文件中声明源文件中所含有的消息映射   2, BEGIN_MESSAGE_MAP:标记源文件消息映射的开始   3,END_MESSAGE_MA:标记源文件消息映射的结束   4,ON_COMMAND:将特定命令的处理委派给类的一个成员函数   5,ON_CONTROL:映射一个函数到一个定制控制通知消息,

2013-07-14 14:24:22 780 1

转载 防止对话框程序按Enter和ESC退出的对策

写在前面的话:最近刚好在写一个基于对话框的东西。这是个很简单的问题,记得曾经在刚刚接触MFC的时候就有遇到这个问题,只记得是要取消系统的默认,但是去具体答不出来,找出来贴上。发现我自己一个人在那边的那段苦闷的,毫无方向的日子,其实我还是学了一些东西的,永远不要只迷茫,迷茫着往前走就行了。。一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者E

2013-07-08 21:12:32 1114

转载 NM_CUSTOMDRAW的自绘如树的节点颜色list某行颜色的改变

自绘树控件的关键之处在于NM_CUSTOMDRAW消息,比如tree节点的颜色,list某行的字体的颜色可以看到在CTree 的NM_CUSTOMDRAW消息处理函数里有这样一句:void CNewTreeCtrl::OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult){ NMTVCUSTOMDRAW *ptvTreeCtrl=(NMTVCUS

2013-06-16 20:34:40 4141

转载 取得sqlite数据库里所有的表名 &复制表

取得sqlite数据库里所有的表名查询table,type 段是'table',name段是table的名字, so:select name from sqlite_master where type='table' order by name;查询indices,type段是'index', name 是index的名字,tbl_name是index所拥有的table的名字

2013-06-14 17:45:12 16266 1

空空如也

空空如也

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

TA关注的人

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