作者:小就小-1980 | 来源:互联网 | 2023-05-30 17:00
如题,比如我要HOOK一个函数其返回值是一个int类型,表示读取到byte[]b里面的内容的长度,而真正的内容在byte[]b里面,通过参数传递的。在函数执行前byte[]b是一个长度为
如题,比如我要HOOK一个函数
其返回值是一个int类型,表示读取到byte[] b里面的内容的长度,而真正的内容在byte[]b里面,通过参数传递的。在函数执行前byte[] b是一个长度为1024的空数组。
执行后b读取到内容。
我想获取函数执行后b的内容并修改,但是失败了
按道理来说第一次的log应当能记录下函数执行后b的实际值,即函数所要传递的内容,但是得到的却是长度为1024的空数组。
第二次log确实得到了修改后的“read method was hooked!!!!”,但是在应用中调用这个方法时并没有显示这句话,和hook之前一样。
我的想法是xposed只保存了函数调用前的参数,函数调用后无法再对参数做出变更。
那么请问我该如何达到我的目的?
3 个解决方案
自答,由于自己水平太低刚才开始没有发现打印byte[]的正确方法,其实是可以获得正确结果的
我想问一下,read方法只能在afterHookedMethod后才能读取到内容,那这个内容如何修改呢? 我尝试了,只有在beforeHookedMethod之前修改内容才会修改系统的读内容,之后不可以?但是在beforeHookedMethod却获取不到读取的内容