说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

100分请教(嫌不够,可以在加)dll导出的类中的函数怎样hook到?

编辑:说三道四文库 发布时间:2017-03-23 12:29
HTML文档下载 WORD文档下载 PDF文档下载
比如说一个名为A的dll中导出了下面的类:
namespace B
{
_cdeclspec(dllexport) Class C
{
public:
function D();
function E();
}
}
如果我现在想HOOK第三方程序对函数D或者函数E的调用,该怎么写?
在detour库中使用DETOUR_TRAMPOLINE宏。
DETOUR_TRAMPOLINE有两个输入参数:trampoline的原型和目标函数的名字。
其中目标函数的名字该怎么写,我直接写D,好像不行,老说我函数D没有声明。
Detours不是有例子的吗? 看看Sample 中的 Member 例子!


////////////////////////////////////////////////////////////////
// Target Class. 也就是你DLL中的类:
class CMember
{
  public:
    void Target(void);
};

void CMember::Target(void)
{
    printf("  CMember::Target!   (this:%p)\n", this);
}

////////////////////////////////////////////////////////////////
// Detour Class. 也就是你自己编写来替代前面类的类:

class CDetour /* add ": public CMember" to enable access to member variables... */
{
  public:
    void Mine_Target(void);
    static void (CDetour::* Real_Target)(void);

    // Class shouldn't have any member variables or virtual functions.
};

void CDetour::Mine_Target(void)
{
    printf("  CDetour::Mine_Target! (this:%p)\n", this);
    (this->*Real_Target)();
}

void (CDetour::* CDetour::Real_Target)(void) = (void (CDetour::*)(void))&CMember::Target;

// 然后在函数中这样调用:
    DetourAttach(&(PVOID&)CDetour::Real_Target, *(PBYTE*)&pfMine);
你得把DLL中类的定义(或头文件)得到。
没用过detour库。不过直接写D肯定不行,试试写B::C::D。
谢谢,明天去试试。
如果导出的类位于dll中的一个命名空间namespace,该怎样hook,是否和上述方法一样?
访问名空间中的函数是要用这样的写法的,也可以在程序中using 名空间。
例子中的类不是dll中导出的,
而我需要hook的是dll中导出的类,
可以用例子中的方法吗?
没明白你的意思。你可以先试试调用要Hook的函数,只要调用没问题应该就可以Hook,Hook时函数的写法与调用时相同。
就是说被hook的函数D位于类C中,而类C是由动态链接库A导出的(可以看楼主的帖子)
你的项目可以隐式链接A.dll;或者查出要Hook的函数导出的名称,用GetProcAddress来获取地址。
引用 6 楼 wanghuok 的回复:
例子中的类不是dll中导出的, 
而我需要hook的是dll中导出的类, 
可以用例子中的方法吗?


有什么区别吗?按照通常的做法导入DLL A 必要的库就行了。
#include ".h"
#pragma comment(lib, ".lib")
可以,采用基本的修改jmp指令方式就可以
没hook过类的函数,mark
谢谢vcPlayer朋友的提示和各位朋友的支持,我看了下detour库里面的member例子,已经照着例子中的方法解决了hook类中函数的问题,而且发现即使多态,重载的成员函数也可以hook到,结贴了。
指定文件夹-VB资料 VB5中注册控件三法 Bug:维护 Internet Transfer Control 之 Username 及 Pass VB对低层硬件访问控制 HitTest的妙用 -VB资料 ListBox项的控制-VB资料 VB 6.0中类聚集关系的实现 VB6编程中如何获取硬盘分区信息 VB的坐标系统综述 VB调用C程序动态链接库的方法 VB对低层硬件的访问控制 VB软件开发中的错误捕获及处理技术 VB中Combo的一种输入检查制约方法的实现 VB中Winsock控制的UDP协议的使用 VB中的时间处理问题 Windows操作平台下CGI的实现 -VB资料 按下某组键(HotKey)便执行某程式-VB资料 把所有的字体名称放到 ComboBox -VB资料 把文件置入到Text或RichText中-VB资料 捕捉 MouseExit 事件 -VB资料 操作过程动态显示 -VB资料 查找月份的最后一天-VB资料 程序启动时,如何自动判断 MDB文件是否损坏并自动修复?-VB资料 读取和修改Windows注册表 -VB资料 对VB的IDE环境的扩展 防止文本控件中的部分滚动-VB资料 关闭正在运行的程序 -VB资料 关机消息的拦截 -VB资料 VB获得、设置鼠标双击间隔时间 VB获取当前系统平台 记载Windows使用的时间-VB资料 如何锁住DataGird的前面几列,当点击水平滚条时 看:VB《葵花宝典》--指针技术有不懂的地方?请各位指教? COM,DCOM过时了吗? 快救命啊,否则我自杀了!!!! dbgrid的问题? 主从表中, 主表移动记录时,相应的从表对应的记录都会显示出来。 关于一个制作压缩文件的问题!!请大侠进来看看!!! 帮帮忙吧!exchange 2000 server安装后的问题! test 怎么反編譯.mde COM,DCOM过时了吗? to 各位高手,数组遍历问题 神呀救救我吧 怎样让combobox显示items的第一项值? 第一次约会的时候,她对我说:爱情是有保质期的。 ★★★快来抢100分★★★:在bcb6里,我打开它自带的任何例程都会出错,总提示[Linker Fatal Error] ,why? Midas服务器无法在另一台计算机上运行,只能在本机运行,请问是什么原因? 请问如何知道数据库中有哪些表存在?在线等待 怎样在主框架类里调用文档类指针,以便获得文档类数据? 兄弟,帮个忙! 怎样实现ftp客户端功能 java中如何象windows那样拦截其他窗口的消息? 告别CSDN,第一个全部进入全部给分 同一个submit可否和如何递交给不同的服务器端的不同的action处理? 一个关于tomcat中servlet的棘手问题。。。。。 谁有jbuilder6的license keys或serial number? 請教:vb里dim oRs as ADODB.Recordset與dim oRs as new ADODB.Recordset的區別在哪里? 请大家指点下在深圳哪里可以办个边防证?谢谢 在程序中如何得到一网页中的按钮焦点? 用vc生成曲面要用到那些类? 有關微軟的MCSE認証 请问如何用DELPHI实现拨号连接服务器? 有关界面的问题 如何实现Windows 2000 Server 远程拨号登录?请奉上你的经验和智慧!!! 莱鸟级的问题,你敢来挑战吗? TADODataSet 读磁盘文件是怎么用的? 我的毕业设计,一百分的送分题啊!!!!!!!!!!!!!!!!!1 请教这个函数的作用 //创建列的问题,谁帮我看一看缺什么,谢了 如何在本地访问远程数据库,用什么样的方法在速度、安全上都好一些 请大家指点下在深圳哪里可以办个边防证?谢谢 各位大侠,谁能介绍一下utf8,还有怎么把它转到gb2132编码呢? 我的毕业设计,一百分的送分题啊!!!!!!!!!!!!!!!!!1 窗体问题。。。 现有一个小项目: 怎样动态增加表格? 有人解决了jive的中文问题吗?? 报表就是查询结果吗?用VB很难做吗?为什么这么多人讨论,请问设计报表难点是什么? 请问我的VC地ClassView无法打开,有什么快速的方法可以打开 一个关于tomcat中servlet的棘手问题..... 谁可以帮我提供一个PHP的站内目录管理程序! 请问c++中,函数重载和虚函数有什么区别,在实现多态性方面有差别吗? 溴乙烷与热的氢氧化钠乙醇溶液反应化学方程式 汽车以36km/h的速度行驶,刹车1s汽车往前冲了8m,求 1汽车刹车时的加速度 ,2 在刹车5s内汽车往前冲的距离 可用来鉴别蒸馏水真伪的试剂是 A酚酞试液 B稀硫酸 C硝酸银溶液 D氢氧化钠溶液 无脊椎动物进化顺序:单细胞-( )-( )-( )-( )-( )-( )植物的进化顺序:单细胞藻类-( )-( )-( )-( )-( ) 在漫长的生物进化中,只有新的生物种类产生是对是错 水银中含有水吗液态的那种 组成生物的化学元素在生物体中起重要作用,下列关于几种元素与光合作用关系的叙述中,正确的组成生物的化学元素在生物体中起重要作用.下列关于几种元素与光合作用关系的叙述中,正确的 环境对生物起了什么作用,这种作用是怎样的,它决定着生物进化的—— 1、鸦片战争前中国封建社会结构特点 蓝藻再生物进化中起着重要作用是因为它具有叶绿体能进行光合作用? 下列按顺序出现的生物类型的几种排列,可能性最大的是 在一支一端封闭的玻璃管中灌满水银 生物的进化历程人教版,别复制太多东西,我要的只是大体上的.动植物分开说 生物进化的依据有哪些 31、(4分)一包白色粉末,由CuSO4、CaCO3、BaCl2、Na2SO4、NaOH中的两种或两种以上的物质混合而成.为探究(1)取少量白色粉末,向其中加入足量的水,充分搅拌后过滤,得到白色沉淀和无色滤液.则 新中国的官僚体制现在的不是过去的!请列出模式图,各官职的从属关系及权力范围! 生物进化中,什么起到最关键的作用 灯口直径 灯深是神马?探照灯的反射镜的纵断面是抛物线的一部分,灯口直径是60厘米,灯深40厘米,求抛物线 中国的官僚体制 烷烃的特征反应是什么? 心墙若是太厚,太多苦衷又如何开的了口什么意思 一辆以12m/s的速度在水平路面行驶的汽车,刹车过程中的加速度大小为4m/s^2,则汽车在5s内的位移是? 取代反应是烷烃的特征反应,难道只有烷烃才能发生取代反应吗 这口井,当可凿得更深些 一句在文中的含义是什么 汽车以12m/s的速度行驶,以4m/s平方的加速度刹车,求刹车后5s内的位移 高一化学.烷烃相对分子质量为100的烷烃,主链上有5个碳原子的同分异构体有____种?读不懂题目啊.望不吝赐教.^^ 图纸上阳台栏杆,深灰色铝合金口30*30@120是什么意思?那个口是表示矩形 中国古代政治与文化的几个问题1.汉化佛教首席代表是?2.文书制度是文官制度完善的标志吗?3.安史之乱后,中原政权和北方民族的交界在?4.东汉时,什么机构指挥外廷事务?5·6儒家的差序不包括? 为什么说具有光合作用功能的生物出现和发展,对地表环境的演化具有重要意义 口善心平成双对,名利双收,才高弱厚是什么动物 中国现在的政治问题有哪些 为什么光合作用促进生物的进化 中水回用生物处理部分采用什么工艺 关于古代中国的政治制度相关问题(高一!)1.列举汉代中央“中朝”制度的形成、三省六部制、宋朝分割宰相权的措施等史实,说明中国古代中央政治制度演变的特点;2.列举汉代州的设置、 光合作用对于地球上的所有生物来说具有什么意义初一生物!帮帮忙! 污水的生物处理包括哪些方法 中国现在政治上面临着哪些问题?将诸多的原因一一列出来. 有一包粉末由Baco3,Naco3,Naso4,Cuso4,Bacl2中的一种或几种组成,加稀硝酸后部分溶解,产生无色气体.原白色粉末中可能组成是 或 或 .沉淀溶解的化学式是:.(组成的3个空每个里面有3个化学式) 水厂中水的色度超标什么工艺处理 免疫球蛋白生物学功能? 向盛有一种无色固体,可能含有Na2CO3、CUSO4、CaCL2、NaSO4、和NaCL等物质中的一或几种.现取部分该固体溶于水,得道澄清的无色溶液,向其中滴入BaCl2溶液,产生白色沉淀,再加入足量的稀硝酸,沉淀部 中国封建社会经济以什么为主 听了这么多年的政治问题,在中国,到底什么是政治问题? 可燃冰是化合物还是混合物? 中国封建社会衰弱时期的政治、经济的显著特征是 免疫球蛋白有哪些生物学活性 以10m/s均匀驾驶的汽车,刹车后做匀减速直线运动,若刹车后第2秒内位移为6.25m,这刹车后6s内的位移为多少 小说的口是什么意思 简述抗体的生物学作用 实验室通常用什么物质对氧气进行干燥?A浓硫酸 B氢氧化钠 C生石灰 D氯化钠固体 生物体中水所占的百分比为 什么是癌的生物学行为? IgG类抗体的生物学作用有哪些 一包白色粉末,由CuSO4,CaCO3,BaCl2,Na2SO4,NaOH中的两种或两种以上的物质混合而成.(1)取少量白色粉末,向其中加入足量的水,充分搅拌后过滤,得到白色沉淀和无色滤液.则白色粉末中一定不含—— 1、人体内所有细胞都会癌变吗?都具有与癌变有关的基因吗?以前好像在哪儿听过,指甲和头发是不癌变的,那这又怎么解释?2、生活中说的良性肿瘤是癌变吗?若不是的话,那又是怎么回事?3、癌 简述抗体的生物学功能 有一包白色粉末A,可能是CuSO4、CaCO3、BaCl2、Na2SO4、NaOH中的一种或几种,现将他们进行如下实验(1)写出加入盐酸生成气体的方程式___________________ (2)A一定含有_____________,白色沉淀D的化学式 玻璃 铜 水银 花生 石墨 根据物理的属性分类 求一句说明,要先搞好内部,再向外发展的古句或经典的句子如题,就如一个国家要先搞好内部政策,再向外发展有什么句子能贴切形容呢? 请问中国封建社会的特点是什么?请问中国封建法的特点是什么啊?重点是‘法律’方面哦
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘