最近想Hook一下SHFileOperation这个函数(用修改入口为jmp的方法),
发现有多个系列,分别时SHFileOperation,SHFileOperationW,SHFileOperationA
于是想当然的把SHFileOperationW和SHFileOperationA一起Hook了
结果发生了奇怪的事情,就是在第一次调用SHFileOperation时,运行正常,但马上再次调用的时候,系统竟然进入了死循环。
后来跟踪程序,发现SHFileOperationA竟然是调用SHFileOperationW实现的,试试只Hook函数SHFileOperationW,结果正常了。
但是仍然对过去的死循环百思不得其解,跟踪汇编代码,发现第二次调用时,SHFileOperation得入口处竟然变成了jmp当前地址。迷惑中......