自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 dll调试成功和成功拦截窗口创建

我这人比较懒,不喜欢在网上写自己的学习心得,不过这次还是准备写下。自己的想法是写这个文章算是对自己现在学的东西的一个copy,以后忘了就直接可以借来用。呵呵。真的要将近一个月了,就在今天,我终于拦截到了下载框的创建了。O(∩_∩)O哈哈~用的SetWindowsHookex函数,第一个参数给的是WH_CBT。在回调函数中,其中一个case就是判断HCBT_CREATEWND,从而获得创建窗口的信息。只要是窗口都能获得,那就不仅仅是下载窗口,而且下载窗口里面的各个元素,比如直接打开啊,下载啊, 取消啊这些按钮

2011-04-30 20:45:00 1478

转载 MFC WindowProc AfxWndProc lpfnWndProc

2010-04-29 11:08MFC的窗口类(如CWnd)与窗口过程。Windows是基于事件机制的,任何窗口都能发送和处理消息,每一个窗口都对应着自己的消息处理函数,即通常所说的窗口过程(WindowProc)。窗口过程通常是在WNDCLASSEX的lpfnWndProc变量中指定的,然后调用RegisterClassEx注册窗口类,lpfnWndProc要求是全局的或是类的静态成员,而MFC的窗口和类对象是一一对应的,在类中定义的窗口过程(CWnd::WindowProc)并非类的静态成员,那么窗口消

2011-04-29 19:08:00 2690

转载 [C++] CBT Hook Example

Got bored of doing revision and started on a HookLib, this is an example program where I was testing using a CBT Hook.header.h#include "windows.h"bool SetCBTHook(DWORD, HWND);void RemoveCBTHook(); Main.cpp#include "header.h"#define IDC_LIST 4000

2011-04-29 11:12:00 2026

转载 系统理解Win32 API和MFC(下)

<br />二、MFC的概念模型<br />前面我们研究了WIN32 API的“领域模型”,对它有较全面的认识。下面,对MFC概念模型的研究,我们把重点放在对app framework的研究上。<br />app framework中的message响应/传递机制是最重要的。而Hook机制和Message响应/传递机制是密切相关的,后者以前者为基础。<br /><br />1. Hook机制<br />也许有些程序员只知道hook机制可以编写很“牛”的应用,孰不知MFC本身也是依靠hook机制的

2011-04-28 15:36:00 491

转载 系统理解Win32 API和MFC(上)

Win32 API是微软的操作系统Windows提供给开发人员的编程接口,它决定了我们开发的Windows应用程序的能力。MFC是微软为开发人员提供的类库,在某种意义上是对Win32 API的封装。本文试图从全局角度对Win32 API和MFC进行理解──给出二者的概念模型。本文使用UML描述概念模型。Win32 API本不是面向对象的,我用面向对象的观点去理解它,无非是想表达其全局。 本文参考了MSDN、相关书籍和网上的一些资料,在此一并感谢。 一、Win32 API的概念模型Win32 API的obje

2011-04-28 15:32:00 511

原创 HSHELL_WINDOWCREATED 学习心得

HSHELL_WINDOWCREATED    A top-level, unowned window has been created. The window exists when the system calls this hook.<br /> <br />上面写的很清楚,这种消息只能在top-level,unowned window被创建的时候才会生成。那什么是 top-level, unowned window 。这个网站上写的比较清楚http://www.codeguru.com/forum/

2011-04-28 15:25:00 1933

原创 最近学习拦截下载窗口创建的一些心得

最近自己在搞一个课题,其中一部分工作是拦截浏览器下载框,即一旦浏览器下载框创建了,我就可以拦截到。刚开始的时候不知道从哪儿入手,自己就一步一步的找,用时也差不多一个月了。说说自己的体会吧,希望对后面的人有所帮助。

2011-04-27 21:53:00 1629 1

转载 Process and Thread Functions (进程和线程相关API函数)

Process and Thread Functions<br />The following functions are used with processes.<br />FunctionDescriptionCreateProcessCreates a new process and its primary thread.CreateProcessAsUserCreates a new process and its primary thread. The new process runs in th

2011-04-27 16:04:00 907

转载 wsprintf和swprintf区别(转)

<br />sprintf、swprintf<br />分别是对单字节/双字节字符格式化的,wsprintf根据预定义指示符的不同可以对单字节/双字节字符格式化。 wsprintf和swprintf比较,其实这两个函数对用用户来说是一样的,只不过前者是在 Winbase.h声明;后者是在stdio.h, stdlib.h文件中声明。 对于wsprintf, 在编译器编译过程中会检查你所定义的宏,然后将TCHAR.H文件中的以_tcs打头的函数转换成对应的str或wcs大头的函数。如果你要build一个使用U

2011-04-26 18:59:00 2929

转载 Window 中窗口的层次关系以及窗口的属性(转)

来自:http://hi.baidu.com/%B4%E7%B2%DD%D0%C4_/blog/item/47bc71435de1061073f05dbc.htmlWindow 窗口层次关系<br />            相信在Window 下面编程的很多兄弟们都不是很清楚Window 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Window 中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系。<br />      

2011-04-26 18:09:00 622

转载 Win32 API讲座--窗口函数(转)

2007-12-04 09:52一、 关于窗口函数<br /><br />在上一堂课里,我们已经提出了"句柄"的概念,并为此进行了较深度的讨论。现在来想,我要补充的是,句柄并非是仅仅是窗口才有的。似乎所有的WINDOWS对象都具有句柄。如,GDI对象中的画笔、刷子等,不久即将要学习的设备场景等也有自己的句柄,等等。但,和一些控件不同,这些对象并不属于窗口。<br />什么是窗口呢?有一句非常有趣的话∶如果它位于屏幕,那么它肯定是在一个窗口里;如果它不在于屏幕,它仍然可能在一个窗口里。窗体也是窗口;滚动条、列

2011-04-26 16:38:00 1148

转载 无法解析的外部符号的 3 种可能

<br />作者 传说一梦 写于 2008-05-08  http://m.tanggaowei.com/2008/05/08/68.html<br /> 1. lib 文件未引入。可使用“#pragma comment(lib, “winsock.lib”) ”语句添加 lib 引用,也可在项目依赖里添加。 <br />2. 类方法的实现未加类标识。如, “CTest::Connect(void) { … }” 写成了 “Connect(void) { … }”。 <br />3. 缺少 obj 文件。在

2011-04-26 10:35:00 659

转载 RegisterShellHookWindow使用

2010年03月10日 星期三 20:12<br />   今晚因为某种用途用到RegisterShellHookWindow ,使用还是比较简单的,功能也不错,详细看下MSDN。把代码贴出来<br />HWND Hwnd = GetSafeHwnd();<br /><br />msgShellHook = RegisterWindowMessage("SHELLHOOK");<br />    <br />RegisterShellHookWindow( Hwnd );<br />    <br />lp

2011-04-25 17:55:00 3912

转载 Shell Events (a.k.a. Shell Hooks)

<br /><br />http://shell.codeplex.com/wikipage?title=Shell%20Events<br />You may have wondered before about how Explorer's taskbar knows when a window is opened, closed, or activated. It even knows when window titles and icons have been changed. One way to

2011-04-25 16:28:00 890

转载 hook窗口的创建、销毁、焦点等事件(vb代码)

描述: RegisterShellHookWindow。。强大的API,可以hook一切窗口的创建、销毁、焦点等等等等事件

2011-04-25 12:32:00 5983 2

转载 【原创】监控进程的启动的一种方法利用

<br />作 者:liukeblue<br />时 间: 2009-12-03,16:17:10<br />链 接: http://bbs.pediy.com/showthread.php?t=102411<br /><br />想监控进程,有好几种方式,有Hook NTCreatProcess,但是有很多进程并不是通过NTCreatProcess创建,还有hook NTCreatSection等。但是我想介绍的就是利用到的函数PsSetCreateProcessNotifyRoutine,这是一个回调函

2011-04-25 11:53:00 4511

转载 winxp下监视进程的创建

<br />在winxp下进程的创建无非是使用System,Winexec,ShellExecute,CreateProcess等库函数和系统API.但是为了实现对进程创建的监视,我们一般都是拦截这些api,这样工作量会很大.而实际上这些函数最终都会调用ntdll.dll所导出的ZwCreateProcessEx函数,由他填入服务索引号,并软中断进入内核模式.只要Hook了该函数就能有效地从用户层监视进程的创建.但是有人会说,在2000和Xp下不是有NtCreateProcess和ZwCreateProce

2011-04-23 15:11:00 1139

原创 【原创】拦截进程创建(不会卡死桌面)

<br />之前看过很多关于进程创建的拦截,都是勾在NtCreateProcess或者NtCreateSection上,拦截到的往往都是Explorer进程中的线程,此时如果将线程卡在内核中,就会导致桌面卡死。这不是我想要的。<br /><br />百度GOOGLE了好久,没找到类似的解决办法,逆又逆不出来,就只有自己翻书动脑子了(不知道各大安全卫士是怎么实现的:eek:)。<br /><br />既然不能卡死Explorer的线程,那咱就卡别人去,卡谁?我想你已经知道了——被创建者的主线程:p:<br /

2011-04-22 17:08:00 3552

转载 利用钩子技术控制进程创建

<br />05年的老文章了,今天才看到,一直想做而没有做出来的东西,差距啊... 修正原文一些翻译不恰当的地方 原英文地址: http://www.codeproject.com/KB/system/soviet_protector.aspx Download source files - 10.8 Kb Download demo project - 12.1 Kb 一、 简介   最近,我了解到一个叫做Sanctuary的相当有趣的安全产品。它能够阻止任何程序的运行-这些程序没有显示在软件列表中-该表

2011-04-22 15:40:00 899

转载 监视进程以及线程的创建

<br />/***************************************************************** 文件名 : ProcessWatch.c 描述 : 进程/线程监视器 作者 : superKiki 最后修改日期 : 2010-5-10 *****************************************************************/ #include "ntddk.h" #include "string.h" #define

2011-04-22 14:42:00 670

转载 驱动监控进程的创建

<br />作 者:hljleo<br />时 间: 2008-05-31,12:32:44<br />链 接: http://bbs.pediy.com/showthread.php?t=65772<br /><br />这是我在http://www.codeproject.com .学习时看到的一个驱动程序,学习后对其整理的笔记<br /><br />下面这个驱动程序的作用:监控准备运行的可执行文件。(由用户决定是不是让它运行)所以我们要做以下工作:<br /><br />首先是修改(NtCreateS

2011-04-21 21:48:00 721

转载 利用键盘钩子开发按键发音程序

<br />利用键盘钩子开发按键发音程序<br />作者:GDGF<br />一、前言<br />一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成"盲打"的好习惯吗?光想不做可不行,开始行动(您可千万别急着去拿工具箱啊^_^)...<br />按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播放相应的声音,自己的程序当然不在话下,那么其它程序当前按下哪个键如何得知呢?利用键盘钩子便可以很好地解决。<br /><br />下载本文的全部源代码 大小

2011-04-19 12:33:00 415

转载 __declspec(dllexport)的意思与DEF导出函数的区别

先看代码:以下是在dev-c++里建立自已的dll时的dll.h里面的代码,这里面有一个:_declspec(dllexport)#ifndef _DLL_H_#define _DLL_H_//防重复定义#if BUILDING_DLL# define DLLIMPORT __declspec (dllexport)#else /* Not BUILDING_DLL */# define DLLIMPORT __declspec (dllimport)#endif /*

2011-04-18 17:00:00 420

转载 #pragma once和#pragma comment的含义

<br />在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。 <br />    下面介绍了#pragma once 和#pragma comment这两个常用指令。 <br /> <br />#pragma once : <br />这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,避免文件被重复包含。 <br /> <br />#pragma comment :<br />该指令的格式为: <br />      

2011-04-18 14:55:00 478

转载 pragma comment的使用

<br />该宏放置一个注释到对象文件或者可执行文件。#pragma comment(comment-type [,"commentstring"] )<br /><br />comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。<br />commentstring是一个提供为comment-type提供附加信息的字符串,<br />Remarks:<br />1、compiler:放置编译器的版本或者名字到一个对象文件,该选项是被l

2011-04-18 14:50:00 313

转载 HOOK专题

HOOK专题目录基本概念 运行机制 钩子类型 作者基本概念钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不

2011-04-17 17:55:00 333

转载 SetWinEventHook和SetWindowsHookEx的异同

<br />SetWinEventHook和SetWindowsHookEx都可以指定钩子函数(hook function)来截取别的进程中的消息,但是他们之间有一些不同。?SetWindowsHookEx有两种钩子函数,一种是全局钩子(global hook),另一种是线程钩子(thread hook)。全局钩子能够截取所有线程的消息,但是全局钩子函数必须存在于一个dll中。线程钩子只能截取属于当前进程中的线程的消息,钩子函数不需要放 在dll中。SetWinEventHook也有两种钩子函数,一种是进程

2011-04-17 17:35:00 1182

转载 树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW

<br />TVINSERTSTRUCT<br /><br /><br />包含添加新项到树形视控件所使用的信息。这个结构被TVM_INSERTITEM消息使用。这个结构与TV_INSERTSTRUCT结构是一样的,但它已经按当前的命名习惯重命名了。typedef struct tagTVINSERTSTRUCT {<br /> HTREEITEM hParent;<br /> HTREEITEM hInsertAfter;<br />#if (_WIN32_IE >= 0x0400)<br /

2011-04-16 18:35:00 559

湖南大学计算理论导引课件

湖南大学研究生计算理论导引课件,参考书目是经典的计算理论导引那本书

2009-10-06

空空如也

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

TA关注的人

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