自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 自定义异步可插入协议 (代码记录)

参考:http://www.codeguru.com/cpp/com-tech/atl/misc/article.php/c37/Asynchronous-Pluggable-Protocol-Implementation-with-ATL.htmhttp://blog.csdn.net/cumtzly/article/details/40072613 // http_proto

2015-08-26 09:47:11 624

原创 在win32控制台应用程序中实现定时器

1.SetTimer:在控制台应用程序中同样可以用SetTimer实现定时器的效果。普通的win32程序中定时器的应用很多也很方便,但是在win32控制台中也是可以使用定时器的,利用的是windows程序的消息循环机制,如下:#include#includeusing namespace std;//定时器IDDWORD dwTimerId = 0;void CALLB

2015-08-25 18:56:07 4625 1

原创 通过WM_COPYDATA消息完成进程间通信

完成进程间通信最简单的方式就是发送WM_COPYDATA消息。(1)发送WM_COPYDATA消息SendMessage(接收窗口句柄, WM_COPYDATA, (WPARAM)发送窗口句柄, (LPARAM)&copyData);其中的copyData是要发送的数据,类型为COPYDATASTRUCT结构体:typedef struct tagCOPYD

2015-08-25 17:25:04 791

原创 Windows进程间各种通信方式浅谈

http://blog.csdn.net/bjtbjt/article/details/70442661 Windows进程间通信的各种方法    进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。  多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接

2015-08-25 13:40:34 1845

原创 进程间通讯的方法

1.使用共享内存代码如下:[cpp] view plaincopyvoid FileMapping(void)  {      //打开共享的文件对象。      m_hMapFile = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE,_T("TestFileMap"));      if (m_hMapFile)    

2015-08-25 13:38:22 811 1

原创 进程之间的8种通信方式

方法/步骤无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。有名管道 (named pipe) : 有名管道也是半双工的通信

2015-08-25 12:06:34 718

原创 如何让IE支持自定义协议

浏览QQ空间的时候发现,只要在IE地址中输入象一下这种形式的地址,tencent://Message/?Uin=251464630&websiteName=qzone.qq.com&Menu=yes就会弹出给 251464630 发送信息的对话框,也就是说QQ对IE地址栏的东西做了监控。而且可以发现输入地址确定之后他就启动了timwp.exe这个程序。在PPlive也有实现类似的功能,

2015-08-24 19:55:51 1916

原创 32位程序注入64位DLL到64位进程

向其他进程注入DLL通常的做法是通过调用CreateRemoteThread这个API在目标进程内创建一个远程线程,用这个线程来调用LoadLibraryA或LoadLibraryW(下文统称LoadLibrary)以实现让目标进程加载指定的DLL文件。使用CreateRemoteThread创建一个远程线程需要传入一个线程过程函数的地址,并且这个函数地址是需要在目标进程中有效的。由于LoadLi

2015-08-23 17:58:43 11419

原创 Detours3.0 文档翻译

http://blog.csdn.net/buck84/article/details/8289991拦截二进制函数        Detours库可以在运行过程中动态拦截函数调用。detours将目标函数前几个指令替换为一个无条件跳转,跳转到用户定义的detour函数。被拦截的函数保存在trampoline函数中。trampoline保存了目标函数移除的指令和

2015-08-23 15:37:23 1155

原创 Detours -- Hook API (MessageBoxW)

Detours是微软开发的一个函数库,可用于捕获系统API。准备工作在用其进行程序开发之前,得做一些准备工作。一.下载Detours  在微软官网上可免费下载Detours[1] 二.安装Detours  一路NEXT  三.生成Detours库  在安装后的文件夹下找不到直接可以拿来用的LIB文件,但是却有SRC文件(在**\Microsoft

2015-08-23 15:35:05 1199

原创 汇编指令 MOV、MOVSB、MOVSW、

汇编指令 MOV、MOVSB、MOVSW、MOVSD、MOVSX、MOVZX名称  功能 操作数操作码模数寄存器1寄存器2位移量立即数符号方向芯片16位32位或内存型号MOV传送累加08$A0无无无无无无无8086无$67MOV传送累加

2015-08-23 13:36:42 7104

原创 汇编 -- Hook API (MessageBoxW)

说到HOOK,我看了很多的资料和教程,无奈就是学不会HOOK,不懂是我的理解能力差,还是你们说的不够明白,直到我看了以下这篇文章,终于学会了HOOK:http://blog.sina.com.cn/s/blog_628821950100xmuc.html    //感谢文章作者的分享,让我学会了HOOK文章出处,好像是这篇:http://blog.csdn.net/gl

2015-08-23 12:28:31 1832

原创 线程专用钩子和全局钩子的区别

其实就是全局和局部的区别如果可以用线程Hook实现就最好用线程Hook因为Hook技术用的不好会大大降低整个Windows系统的性能这也是为什么WinCE不支持HOOK的原因了至于键盘HOOK用SetWindowsHookEx带WH_KEYBOARD参数就可以了比如你做一个全局的键盘HOOK,这样不管当前激活的应用程序是什么只要有键盘消息,windows都会先问问你的Hoo

2015-08-21 11:07:17 4050

原创 HOOK 底层键盘消息---WH_KEYBOARD_LL

代码:屏蔽三个全局快捷键代码的作用是屏蔽掉注释中的三个快捷键.LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam){ // By returning a non-zero value from the hook procedure, the // messag

2015-08-21 10:44:24 6498 1

原创 hook 鼠标键盘消息实例分析

1、木马控制及通信方法包括:双管道,端口重用,反弹技术,Hook技术,今天重点引用介绍一下hook的用法,hook信息后可以将结果发送到hacker邮箱等,实现攻击的目的。转自:http://hi.baidu.com/mousetopshow/item/a951102d679f6e8f9c63d1b0钩子能截获系统并得理发送给其它应用程序的消息,能完成一般程序无法完成的功能。掌

2015-08-20 12:11:12 3248

转载 VC++ 解析JSON字串

一、摘要        JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。       本文并不详细介绍 JSON 本身的细节,旨在讨论如何使用 C++ 语言来处理 JSON。关于 JSON 更具体的信息,可参见 JSON 官网:htt

2015-08-19 17:14:56 1527

原创 DLL共享数据段

//变量定义,不同Instance共享的该变量#pragma data_seg("SHARED")static HHOOK hhk=NULL; //鼠标钩子句柄static HINSTANCE hinst=NULL; //本dll的实例句柄 (hook.dll)#pragma data_seg()#pragma comment(linker, "/section:SHARED,rws"

2015-08-19 17:07:11 2813

原创 Windows API Hook

原文地址:http://blog.sina.com.cn/s/blog_628821950100xmuc.html原文对我的帮助极大,正是因为看了原文,我才学会了HOOK,鉴于原文的排版不是很好,又没有原工程例子源码下载,因此我决定对其重新整理,文章后面附有我测试时的工程源码下载地址。注:我测试的环境为Win7+VS2008+MFC原文出处,好像是这篇:http:/

2015-08-19 16:09:35 913

原创 获取当前 IE 地址栏中的 URL

分 IE7 及 IE6 这两种情况 .在 IE6 中这样获取地址栏中的 URL, 其中 strAdd 即为所求:HWND hIE = NULL;HWND hWorker = NULL;HWND hBar = NULL;HWND hComboBox = NULL;TCHAR szAddr[MAX_PATH] = { 0 };hIE = ::FindWindow(_T("IEF

2015-08-18 20:00:07 2275

原创 实时获取浏览器的地址栏的网页地址

探讨一个问题,我想写一个exe,功能就是实时的获取浏览器地址栏的网页地址,有没有什么好的想法, 之前许多人说通过findwindows来获取浏览器的句柄,然后发消息获取浏览器地址栏编辑框的内容,但是这样我觉得不是很好, 因为这种方式对ie6还可以,如果是google浏览器等等其他的浏览器来说不是一个很好的出来方式,你觉得呢? 我希望大家都说说思路,都给分

2015-08-17 20:52:43 5456 1

原创 Win7打开文件安全警告取消方法

听说XP要停止服务了,于是就把系统升级到了win7,但是遇到一个问题,在WIN7打开桌面快捷方式图标时,突然提示 “您要打开此文件吗?”的安全警告,这个应该怎么解决呢?出现这种情况时,感叹号右边的文字提示“来自Internet。。。。。”也就是说,win7把桌面的路径识别为网络位置了或者是认为当前的桌面位置"不安全",所以会提示您是否打开此文件。这是更改了硬盘分区或者一些优

2015-08-17 12:13:04 11378

原创 回调函数CALLBACK

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 1 函数指针回调在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。因此,要实现回调,必须首

2015-08-03 11:37:10 580

原创 Windows API ——GetLogicalDriveStrings——获取逻辑驱动器

TCHAR buffer[MAX_PATH] = {0};DWORD dwVal = ::GetLogicalDriveStrings(MAX_PATH,buffer);CString str;for(int i = 0; i < dwVal; i += 4){ CString str; str.Format(_T("%c:\\"), buffer[i]);}

2015-08-03 11:27:21 700

原创 Windows API——SHFileOperation——文件操作

1 int SHFileOperation( LPSHFILEOPSTRUCT lpFileOp);如果执行成功返回0. 1 typedef struct _SHFILEOPSTRUCT { 2 HWND hwnd;//指向发送消息的窗口 3 UINT wFunc;//执行的操作 4 LPCTSTR pFrom;//源文件名 5 LPCTSTR pTo;//目标文件

2015-08-03 11:12:57 1022

原创 Windows API——SHGetFileInfo——获取文件信息

Windows API——SHGetFileInfo——获取文件信息本文从一下几个方法进行介绍:  SHGetFileInfo的定义 SHGetFileInfo()函数的工作原理 SHGetFileInfo()函数的返回值 SHGetFileInfo()函数的简单示例  SHGetFileInfo的定义       SHGetFileInfo在MSDN上的定

2015-08-03 11:10:57 1897

原创 ShellExecute用法种种

Q: 如何打开一个应用程序? ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","notepad.exe","c:\\MyLog.log","",SW_SHOW );正如您所看到的,我并没有传递程序的完整路径。Q: 如何打开一个同系统程序

2015-08-01 13:56:44 3310 1

空空如也

空空如也

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

TA关注的人

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