首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

VC++托管代码怎么hook 函数

2013-10-21 
VC++托管代码如何hook 函数本帖最后由 jerry_dqh 于 2013-10-15 19:38:44 编辑有一个原来的c++工程,我在vs

VC++托管代码如何hook 函数
本帖最后由 jerry_dqh 于 2013-10-15 19:38:44 编辑 有一个原来的c++工程,我在vs2010中改成/clr编译,编译没有问题,但是我使用原来的hook函数的方法,好像hook不成功。hook的是自己的函数。去掉/clr,hook是成功的。

hook的原理就是修改原函数的代码段,jmp到新的函数地址去。在/clr下,我跟了一下代码,发现无法看到实际的代码段,运行的代码,每个函数是都从0x00000000开始。但是在去掉/clr编译选项情况下,运行的是实际的代码段

请教一下,如何在clr情况下,hook自己的一些函数。目前我搜索了一下,好像有一个easyhook支持.net的hook,但不知道啥原理。 vs2010 clr hook
[解决办法]
还真没这方面的经验。
[解决办法]
你是用/clr 编译hook的win32 dll吗? 
混合代码不能被dll入口函数调用,网上有过用混合代码写dll的文章,我没有尝试过,你可以搜搜看一下。
easyhook  和detours都有用过,easyhook有免费的64bit hook挺好的,至于他的托管hook是怎样做的,没有研究。
建议还是用纯C  C++来写

热点排行