【求解】Hook第三方库的类函数问题
比如我现在有一个动态链接库为A.DLL,A.EXE加载了A.DLL,然后我DLL库注入到程序A.EXE中,然后已经HOOK住了A.DLL里面的A:a();函数,参数可以正常取出来,但是在用完调用真实的A:a()的时候目标程序出错(原来直接HOOK windows Api不会出错)。于是想是不是因为是类函数的原因呢? 666+你说的 "调用真实的A:a()" 是A.exe 正常调用的时候?
劳驾,楼主把代码稍微贴一下或上传一下,大家好方便找找问题。
正好 我也不刽啊 麻烦师兄帮忙看看 悬赏问题 里这个 Vbox 增强工具箱安装失败问题
Stopping VirtualBox Additions这个鬼{:10_266:}
3Q n0noper 发表于 2016-6-1 10:17
你说的 "调用真实的A:a()" 是A.exe 正常调用的时候?
劳驾,楼主把代码稍微贴一下或上传一下,大家好 ...
没有代码,是别人程序的dll库,我用OD分析出来的的函数。 我简单写段代码吧,但是注意,我是假设这个代码是A.exe程序用到的A.DLL里面的代码。
A.DLL里面有一个这样的类
class A{
void action(int a,int b);
}
我已经hook了这个action的函数地址,并且这个a,b值已经成功取到,现在就是要调用真正的这个action函数,了也就是
hook_action(int a,int b){
//...我的代码操作,最后要调用系统的action函数,也就是真实的函数
action(a,b);//我现在的问题就是,这里调用就出错了。因为这个不像win api函数,这个是属于某个类的!
} 小企鹅 发表于 2016-6-19 21:15
没有代码,是别人程序的dll库,我用OD分析出来的的函数。
具体我也不知道什么情况。
注入的时候,堆栈平衡了吗(调用成功了应该平衡了~~~)?A.dll被你独占但是没有释放?
如果程序不是很大,可以稍微上传一下 或者 企鹅上发一下,大家调试调试看看,因为我也不是很懂这一块~~~{:10_250:}
页:
[1]