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

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

编辑:说三道四文库 发布时间:2017-10-22 09:06
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到,结贴了。
消费应用开发难赚钱?做个企业app store吧 开发开源软件的智慧:够简单,很好用 历届中国云计算大会PPT集萃(终章):架构到实践的全面解析 透过现象看本质:详谈数据可视化 专家观点:HTML5无法彻底抹杀Native应用 Google地图工程主管Raj Shah跳槽至微软在线服务部门 微软证实Windows 8.1引入类“开始”按钮 系统6月26日开放下载 PHP开发者意向调查:移动开发+云服务成为焦点 研发周报:16种折磨开发者的方式 移动周报:Jolla和Sailfish OS,那些你应该知道的事儿 优化技巧分享:把内存消耗降低至原来的1/20 85后程序员:独自一人,完成一个HTML5开源图形库 关于Waze的前世今生,你所不知道的事 代码审查——提高代码质量的终极武器 值得开发者关注的8个HTML5 API 最初设计方案大公开!LINE STAMP 贴图诞生记 安全宝联合华为成立抗D联盟 储备防御带宽达110G 专访中科院贾海鹏:给异构开发者的六个建议 我们死后的遗留数据将会如何处理? 传微软考虑重大重组 或势在必行 云适配CEO陈本峰:8年磨一剑 Splashtop企业应用:SplashApp让办公移动起来 时空旅行+内付费“植物大战僵尸2”下月18日全球同步发行! 中移动推网络电话Jego 后来者能否居上? 防止数据泄露:BYOD下的管理员5大妙招 咕咚副总裁司建铭谈移动时代的“软硬整合” 未来的物联网结点:可穿戴设备 应用开发的4个技巧,让程序能真正为用户使用 Google早期的10个API:它们现在在哪? 为啥微软开发产品总是慢半拍? Visual Studio 2013 Preview新功能预览 evc4.0中文显示的问题! struts--html:select 为何出不来? 讨论:关于WinXP下开发的COM+的分发问题!! 菜鸟的小问题!! 一个关于东芝笔记本的故障 请问JBuilder错误提示:cannot access directory javax\mail at line 7, column 1 CSDN的速度越来越慢了,来这里的高人也越来越少了! 有没有DOS很熟的仁兄?纯DOS下和WIN NT4.0联网 小小问题!!! 困扰我多时了。。。 sybase 在程序中连接的问题。急,我咨询Sybas公司也不行。 按钮茶馆开张啦,有闲的进来聊天吧~ 小問題 PhoebusApollo(sunny) 你说要开贴,又没分,我有,给你100分,进来领吧!呵呵,不用谢!:) 关于DBGridEh排序的问题,急急急!!! ora-12224错误,tns no listener错误 !在线等待 ,急~! 求助jb9的破解 报表问题,急呀,救命呀~~~55555~~~~ 500分求解决一个问题 在线等待 解决立即给分 2003下为什么我的声卡不能用? 在程式AAA.PRG中如何修改表的字段的類型,比如字段C類型改為N類型??很急!!! 为什么有时候成员函数或变量显示不出来 救命!我在程序中使用webbrowse控件………… 在线等待。 也许是一个很简单的问题! 连接mysql出错 寻关于工控的中英文对照资料 想在暑假打工(计算机方面的)需要什么条件啊? 关于SQL SERVER的疑难问题!来者有分!(在线等待!分数不够可以再加) MTS与线程——高分相赠!!!! 来看看啊,告诉我再哪里下就给分啊~~ 大对象问题,所有书都是这么说的,可是都作不成功? 如何指定tquery中的某一行? 如何通过API发送翻页按键给控件? 在jbuilder 中 不能通过 创建Ejb Tester对EntityBean进行测试吗?SessionBean都可以的 如何在ie中点右键获得这个ie窗口的window Text以及其主框架的URL。 关于Kdevelop开发 大家讨论一下项目负责人到底该赚多少钱(年薪)? ★★★★★如何在文件下载完毕后自动关闭浏览器??★★★★★ #### 关于CWebBrowser控件 #### 兄弟我要做一个网上银行系统,需要做压力测试,各位有过这样的经验吗??怎么来测试,用什么工具来进行并发访问压力测试? 兄弟我要做一个网上银行系统,需要做压力测试,各位有过这样的经验吗??怎么来测试,用什么工具来进行并发访问压力测试? 菜鸟问题,在线等待,如何让JList显示带gif的文字啊? delphi+access 用ADO连接,为什么在SQL语句中用SUM()时,执行出错?送分 为什么我make时,有错误:'class' or 'interface' expected Dreamweaver mx自带的制作下拉菜单的部题? Interbase字段类型有多少,就这些吗??急呀 Sybase:怎样知道本地的哪些数据库文件已经被连接,和连接的DBN,DBF,ENG。无论是Central还是其他应用打开的,我咨询Sybase公司,还不行 请问如何用ASP.NET或ASP发送会议要求和约会 怎么样在网页上插一个FLASH动画呢 小问题,很快结帖 为什么会出InvocationTargetException 难忘的秋季运动会 500字以上 生物如何保证遗传稳定性?现在才注册还没积分,等有了积分在补给给予帮助的恩人~ 快看看快,数学平方根题, 难忘的运动会(四年级)秋季400字. 白居易的文学成就 求解答,选ABcD哪一个? 关于纽约的环境问题(尽量用数字)除四年级语文暑假作业上有的,其他的都可以. 生物如何保证其遗传的稳定性分子遗传方面的问题 第一个字为黑的成语有哪些 白居易诗词评论文章500字 如图,已知三角形abc中,ac=4,bc=3,ab=5.现绕ac边所以的直线旋转一周,求旋转后的几何体的体积是多少?明天交的~如图,已知三角形abc中,ac=4,bc=3,ab=5.现绕ac边所以的直线旋转一周,求旋转后的几何体的 答案是0.4,求过程. 我国每个节日都是一道独特的风景线,按样子些下列节日!示例:清明节:雨也纷纷泪也涟涟,思也悠悠意也绵绵.端午节:.中秋节:.植树节:. 激光打标机标刻金属件为什么字体不黑 600字作文音乐的魅力及赏析必须有赏析 白居易诗词里“芙蓉芍药皆莫姆”是什么意思 星期天,小兰和小倩去买画画纸.小兰用去自己所带钱的5分之4,小倩用去5分之4元,他们用去的钱数相同.这道题对还是错,请说明理由 1.6乘0.5的积除1,得多 少 几道作业题,谢谢在分组交换技术中,可以将网络看作由 和 两部分组成. 按计算机网络的使用范围分类,可分为 和 . 按计算机网络的传输信道,可将网络分为 从汉至元政治制度演变说明中央集权有哪些矛盾 小明骑自行车1.5小时可骑21.3千米,如果要骑50千米大约需多少小时?急,我会给分数的 有人认识她吗 为什么RNA中不存在高度重复序列? 请数学大师回答写列说法中,正确的是( )A.近似数6.30*10的四次方精确到百位,有效数字是6、3、0三个B.近似数85.90精确到十分位,有4个有效数字 几道作业题一.甲,乙两列火车,每列各长180米,如果两列车相对行驶,从车头相遇到车尾离开共需12秒钟.如果两列车同向行驶,那么从甲的车尾超过乙的车头共需60秒钟,假定列车速度不变,求甲,乙 给定一个含有n个数的序列,这个序列中存在重复的数,请列出这批数中全部有重复的数.要求重复两次以上的数#include#define MAX 20void main(){int i,j,k,m;int dat[MAX]={54,70,23,75,9,21,10,24,36,54,9,30,23,20,23,20,21 求数学大师回答 根据成语填一位有关的历史人物:1、负荆请罪()2、投笔从戎()3、约法三章()4、完璧归赵()5、闻鸡起舞()6、百步穿杨()7、慷慨悲歌()8、横槊赋诗()9、洛阳纸贵()10、 有谁对清代的书画家比较了解 我有一个问题 清代是不是有个书画家叫"曾国杰"也许不是什么名家 如果没有的话 那么清代姓曾的书画家都是哪些~ (-4)*(-5)*0. 0.2乘1.8-3x=0.12 列举三位清代书法家及其代表作品. 初一数学选择:a+(-a)=0,根据的是( )a+(-a)=0,根据的是( )A 相反数概念B 有理数加法法则C 有理数减法法则D 数轴表示有理数的显示结果 菱形的对角线是角平分线吗? 请问作文四要素是什么 负六加括号负0.25括号乘二十四分之十一, 问一下怎么打出来比■还要大的黑色方块?不是,我的意思是还有一个字符比■还要大,不是单纯地把■放大而已 作文四要素 18题为什么选a,初一数学 教我怎么弄上面黑色方块和里面的字 作文里的抄议是什么意思? 现在南昌市初中物理教科书用的是什么版本的啊? 小黑色方块怎么打 下列图片中文字所含意思!这是一个女孩给我的字条上写的话,可是小生愚笨不懂当中含义! 补充:我喜欢她 什么是非典(80字) 黑色方块怎么打 写出一个含有下列字且意义一致的成语如:秋(时期)---多事之秋1.懈(懈怠)---2.论(评定)---3.益(利益)——4.远(不接近)——5.论(谈论)——6.恨(遗憾——7.躬(亲近)——8.夙(早晨)——9.益(增加)——10 非典是什么?《我只看见你的眼睛》里的病毒是非典吗 给我一段文字符号,黑色的方块,然后组成一条发给我,我手机不好打. 文献有哪些类型?它们之间的关系是什么? 分子遗传标记作图是什么 ? 此图 有什么功能?~~~~ 关于白居易的文学常识 语音四要素和音位之间有什么关系 遗传标记类型? 白居易的文学常识? 求平方根,1212.56361-----400(分数) a-b=2 求(c-b)^2×4(b-a)(c-a)的值 心里的想的话需要加引号吗?人教版四年级上册《巨人的花园》第六自然段最后一句话——他想:“今年的春天为什么这么冷,这么荒凉呀……”,需要加双引号吗?一般是不加的吧?那这里是什 已知三角形ABC中,AC=3,BC=4,AB=5,以AB边所在直线为轴,将此三角形旋转一周,求所得几何体的体积.圆椎的母线长为10,底面半径为6,一球刚好放进该圆椎中,求这个球的半径亲爱~*n_n*~ 平方根的题,快来看看, 西班牙巴塞罗那发生列车脱轨事故 造成美国旧金山湾区万圣节前多起驾车枪击 一名联合国维和人员在刚果(金)丧生安哥拉中国商会开讲中华礼仪墨西哥石油公司前三季度出现巨额亏损昆西·琼斯向杰克逊信托人索赔6080人民日报谈地方债怪相:地方欠债越多官新疆集中查处多名干部 原库尔勒市市长槟榔陷“致癌”漩涡行业临危机 医生:16岁伴娘婚礼上遭多人扒光摸遍全身(记者调查:中国游客满意度,柬埔寨为何格林斯潘新书反思金融危机:我为何没能为何中美趋同反而滋生冲突?日本佐贺县秋季祭孔英媒:中国首支核潜艇部队在海上巡逻以色列拟释放第二批26名长期关押巴勒多地密集推高考改革 十年寒窗学数学只安倍称不容中国“武力崛起” 外媒称中胡万林治死者父亲:胡万林是杀人应关一大学生召妓嫌对方太丑 被逼下跪道歉还中国海警编队10月28日在中国钓鱼岛拆违建拆出300多块城墙砖玩赚世界杯热身赛“淮安真是南京钱宝的福地”原江苏常熟市总工会党组书记涉嫌受贿被北京纪检人员进商超凭发票查公款购粽甜蜜蜜扎克伯格华裔妻子畅谈情史全省今有中到大雨,局部暴雨“裸跑弟”已上四年级各国合作 2035年有望登火星南京房价连涨24个月后首次下跌儿子才5岁半,光玩具就花了2万多元今天十点起,新一号线轮流开往{药科大法国男子中6亿元大奖后捐出4亿给慈善规范减刑、假释案件审理,防止“假立功狮麟驾院江东门分校搬迁高淳环保局局长桠溪镇党委书记双双被停江苏:女子用ATM机向骗子汇款百万 5龄童4楼窗外命悬一线今天风大雨大最高气温26℃我们甚至战胜过死亡”
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘