1.在使用自动更新后,如果再使用一些如图①有用到getAbsoluteAddress()获取函数地址的hook功能时,你会发现这些hook没有效果,检查内存中函数时发现这些函数没有被hook而自动更新是有效的。尝试打印自动更新获取的地址和发现getAbsoluteAddress()获取的地址发现一个是xa内存中libil2cpp.so + 函数偏移,而另一个是cd内存中的libil2cpp + 函数偏移,这两个地址是不一样的,如图②前两次尝试结果不同
2.更改fiandlibrary()函数,进一步精确获取到的libil2cpp.so是否位于xa内存,即代码段(这里通过检查读写权限判断,r-xp)
3.再次打印,返回正确地址如图②第三次尝试
4.对应函数头指令替换成功,hook成功,如图③。
5.现在自动更新可以和之前的hook方法一起使用了!




