摘要: 本文详细介绍InvokeEx的钩子安装过程,至于文章标题别在意(权当是一些关键字吧),其实我也不是很清楚InvokeEx是干什么用的,起因是帮助网友【jameshooo】对InvokeEx进行拦截。进一步,对其进行拦截究竟能干什么,那也只有见仁见智了,如果【jameshooo】看见此文章还望就此问题回复,以便对InvokeEx钩子有更好的应用。一.IDispatchEx介绍我们可以将IDispatchEx理解为接口类,实际上它本来就是一个类,嘿嘿。该类拥有一个虚函数表,其实每个COM类都拥有一个这样的虚函数表,这里注意类和对象的区别。虚函数表的内容为类成员函数地址,并不是类似jmp fun1这 阅读全文
posted @ 2012-09-03 15:43 c++ player 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 掌握C++对象模型底层知识的人都知道,C++利用虚函数的机制来实现运行期的多态。例如一个类申明如下:class A{public:A(){}~A(){}virtual void f1(){ printf("Founction f1 called"); }virtual void f2(){ printf("Founction f2 called"); }virtual void f3(){ printf("Founction f3 called"); }private:int n;};那么A对象在内存中的结构图大概如下:如上图:可以看 阅读全文
posted @ 2012-09-03 15:35 c++ player 阅读(1037) 评论(0) 推荐(0) 编辑