plusls opened this issue 4 years ago · 0 comments
如果输入法封禁执行时未执行过 XFilterEvent,hook 会失效
具体原因如下:
若是 hook 发生在第一次解析 got 表前,则 oldXFilterEvent 会指向 XFilterEvent 的 plt 表,这时调用 oldXFilterEvent 会导致程序去解析真正的 XFilterEvent 的地址,ld 在解析后会重写 got 表导致之前的 hook 失效,因此需要检查并更新 oldXFilterEvent 为新的地址