x86架构中hook函数崩溃
lbwengineer opened this issue · comments
函数反汇编代码如下:
LOAD:0601D698 push ebx
LOAD:0601D699 push esi
LOAD:0601D69A push eax
LOAD:0601D69B call $+5
LOAD:0601D6A0 pop ebx
LOAD:0601D6A1 add ebx, (offset qword_9B277AC - offset loc_601D6A0)
LOAD:0601D6A7 mov esi, [esp+0Ch+arg_0]
dobby里,一个jmp指令占5个字节,所以call $+5指令被覆盖了,然后保存的时候转换指令错误。
call
我非常想吐槽一下,dobby用来做inline hook实在是有点多问题,我的一个线上项目使用了dobby的DobbyHook经常出现莫名其妙的卡死问题,还定位不到问题