最近hook 喜马拉雅的设备id,总是有些接口中的cookie中的deviceId不能变,搞了好几个hook点,frida均无法hook住,也无法打印堆栈。一直保持真机的deviceId,搞了几天,以为是so层传递的接口或者利用反射传递的接口。
最后发现原来是frida 附加进程错了的原因。之前一直附加的是“com.ximalaya.ting. lite ”,其实要hook “com.ximalaya.ting.lite :player”。
adb shell ps|findstr com.ximalaya.ting.lite
frida -U -p 5291 -l xmsslUnpin.js //附加上 com.ximalaya.ting.lite :player
之后终于可以修改了cookie中的deviceId,然而播放类接口有加密,会报错。原因在于加密是so层中,传递的参数中有context。在context中拿到了原生的deviceId导致报错。
https://blog.csdn.net/weixin_51111267/article/details/135509890