针对指定进程进行Hook

前言 昨天,写了一个Demo, 对指定进程进行Hook, 就是SetWindowsHookEx参数不同. 看msdn+自己做试验,试试就能写出来.demo中假定要Hook键盘和鼠标消息, 用DebugView打印出来发生的键盘和鼠标消息. 打印鼠标消息时, 要将鼠标消息的值,转成字符串. ...

2016-03-30 22:38:14

阅读数 2356

评论数 0

远程线程的注入和注出

前言 昨天做远程线程的注入注出试验,出现了2个问题 * 注出时崩溃 * 注出时窗口属性变了(e.g. Unicode版变成了Ascii版) 现在问题已经解决, 可以稳定的连续注入和注出. 如果以后要用到远程线程, 下面的代码就直接能用了 试验环境: win7X64 + vs2013 + ...

2016-03-29 21:24:02

阅读数 1013

评论数 0

编程书籍

Windows程序设计(第5版,珍藏版) 下载点: 稍后上传

2016-03-27 13:28:25

阅读数 368

评论数 0

AfxGetMainWnd() return NULL

前言 手头的试验工程是VC6-MFC的, 现在要用到PSDK, 否则找不到API. 又不想动态加载, 于是用VS2013转了一下. 修正了编译的报错, 测试时,发现在一个线程中报错.具体如下: * 线程是用_beginthreadex创建的 * 线程中使用了CDocument*派生类中的一...

2016-03-22 20:35:30

阅读数 420

评论数 0

VC6平台SDK安装包

前言 找了一份VC6最后可用的PSDK, 备份一下. 资源下载点 VC6_PSDK_FULL.part1.rar VC6_PSDK_FULL.part2.rar 安装问题 在Win7X64下,解压后,直接安装,报错失败. 老师说, 右键安装程序,选Xp兼容模式安装。我试试.

2016-03-22 00:03:44

阅读数 993

评论数 0

线程控制 - AfxBeginThreadUI线程的封装类

前言UI线程的控制(创建, 启,停,挂起,恢复)需要自己来做,才能精细的控制. e.g. 手术中,医生是不能离开病人取吃饭. 对UI线程访问封装后,需要新线程时,需要的代码量会降低,维护方便. 相关封装类参考 : 线程控制 - AfxBeginThread工作者线程的封装类 demo调用方...

2016-03-20 16:12:27

阅读数 705

评论数 0

[MSDN].msdn_oct_2001.iso

前言 vc6最后的msdn版本是msdn_oct_2001 找个一个英文完整版[MSDN].msdn_oct_2001.iso2016/03/20 06:47 1,558,814,720 [MSDN].msdn_oct_2001.iso备份一下2016/03/20 13:23 ...

2016-03-20 13:27:20

阅读数 1417

评论数 0

线程控制 - AfxBeginThread工作者线程的封装类

前言 工作者线程是MFC特有的概念 当使用AfxBeginThread做工作者线程时, 如果不封装线程类, 每次新增一条新的工作者线程, 就需要重复的添加工作者线程相关的控制数据和控制函数. 我在线程控制 - _beginthreadex的封装类的基础上,改了一个工作者线程的封装类,测试过了...

2016-03-20 12:40:25

阅读数 980

评论数 0

vc6 OpenThread

前言 vc6中没有OpenThread的头文件定义, 需要动态加载API. vc6英文企业版自带的msdn对OpenThread没有说明,在msdn中搜索到的OpenThread片段的说明连参数都说错了, 需要装一个[MSDN].msdn_oct_2001.iso demo// OpenTh...

2016-03-20 05:56:44

阅读数 859

评论数 0

线程控制 - _beginthreadex的封装类

前言 如果采用某一种线程建立方式, 不同的只有线程函数. 如果不封装线程操作,每开一条新线程,都要做很多重复的数据和控制. 封装了以后,线程操作好用多了^_^ 以前也封装过线程控制类, 不过现在对线程的理解要清晰好多 调用方代码public: static unsigned __...

2016-03-20 02:15:00

阅读数 554

评论数 0

tag_BIGINT

前言 想不起M$的大整形数据结构是什么名字, 也不想去google. 自己模拟了一个BIGINT数据结构, 机智啊^_^ demo /// 想不起M$大整形是啥了, 自己定义一个 typedef struct _tag_BIGINT { union { ...

2016-03-18 10:42:05

阅读数 264

评论数 0

SHBrowseForFolder

前言 找了一段代码, 选择文件夹. 关于SH系列函数, vc6的msdn上没怎么说明这些函数组合起来怎么用. 如果在msdn中搜SHBrowseForFolder, 能搜到一些代码片段. demovoid CMyCopyFileDlg::OnBtnSelectDst() { //...

2016-03-16 23:48:34

阅读数 583

评论数 0

配置文件API

前言 配置文件API包括注册表API和iniAPI. iniAPI中有读写结构的API, 挺方便. 注册表遍历时, 加入遍历回调函数, 可以方便的实现注册表遍历打印或注册表键的遍历删除 @todo 注册表操作时需要的cbSize, 还没验证, 先按bytes算的. 在unicode下可能有...

2016-03-16 01:37:02

阅读数 353

评论数 0

MFC-自绘贴图按钮

前言 控件窗口自绘贴图需要子类化, 有自绘风格, 接管WM_PAINT, 覆盖虚函数DrawItem. 效果 工程下载 srcSelfDrawBtn.zip 工程预览 调用方代码 CMyButton m_BtnPic;自绘按钮类#if !defined(AFX_M...

2016-03-15 11:21:18

阅读数 1323

评论数 0

MFC-消息映射表遍历

前言 可以用GetMessageMap得到消息映射表入口, 然后遍历. 就可以知道每一个消息的处理函数地址, 对逆向有很大帮助. 如果在DLL注入后, 在DLL中执行消息映射表的遍历, 就可以知道目标程序的所有消息处理函数的地址. demovoid CTestSdiView::OnTest...

2016-03-15 08:53:15

阅读数 384

评论数 0

动态调用没有源码的第三方DLL中的导出类

前言 假设第三方DLL中的导出类有我们关系的功能 我们没有整理出完整的.h, 只有几个关心的导出类接口定义, 这最符合实际情况. 我们需要手工调用导出类的接口 调用方代码 // test.cpp : Defines the entry point for the console appl...

2016-03-11 08:19:26

阅读数 988

评论数 0

动态调用有源码的DLL中的导出类

前言 动态调用DLL的好处: * 防止静态调用DLL不在报错 * 实现插件化编程 有源码的DLL可以添加接口 可以在DLL中加入建立类指针和释放类指针的接口, 不用自己去调用类构造和析构函数 对于虚函数的调用,可以通过类指针直接调用,因为可以在虚函数表中直接找到虚函数地址 对于非虚函数的调...

2016-03-11 00:14:25

阅读数 1310

评论数 0

MFC : 给主菜单动态添加删除一级子菜单

demo private: BOOL AddDyMenu(DWORD dwMenuRcId, TCHAR* pMenuName); BOOL DelDyMenu(TCHAR* pMenuName); BOOL CMainView::AddDyMenu(DWORD dwMenu...

2016-03-08 23:28:32

阅读数 2119

评论数 0

MFC : CPtrAutoFreeList

前言 CList是MFC中的一个模板类 如果一个CList中元素是new出的指针, 释放的时候,我们需要自己写一个释放函数. 如果从CList中继承一个子类, 在子类的析构函数中做释放工作, 简洁好多. 从父类继承一个子类,在子类的析构中做释放工作,是一个通用方法, 与MFC无关. de...

2016-03-07 09:48:50

阅读数 364

评论数 0

在EA中的UML图中插入设计模式的模板

前言 如果在工程(e.g. c++)中要用到设计模式, 需要定义基类和接口时, 不想再翻书,也想使基类和接口的命名规范一些. 可以用EA新建一个工程, 插入GoF中想要的一个设计模式的类图模板, 然后再对着写基类和接口命名. 我用的是EA12 操作过程 * 新建一张类图, 会出现UML...

2016-03-05 12:30:42

阅读数 1515

评论数 0

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