hook函数成功,程序正常跳转到我定义得函数,但是调用原函数得时候程序崩溃。
崩溃位置是其中一条汇编指令,麻烦大佬们帮看看什么原因。
正常程序这个cmp指令地方edi+esi*4这个位置是0
hook以后,我调用这个函数,到这个cmp指令地方,导致jne跳转了。
最后就是崩溃。
原因是这个edi+esi*4这个位置有数据。
我定义的是这个函数一共有1个参数,返回值 是结果数据指针。不知道是不是我分析错误。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
huangyalei 有可能: 1、调用原函数前没有还原寄存器,edi+esi*4 不是原来的地址 2、自定义的函数改变了 [edi+esi*4] 的值 这种问题动态跟踪一下不就清楚了吗
yeyeshun esi来源于函数的栈参数,edi来源于this参数,大概率是你给的参数错了