-
-
未解决 [求助]firda如何处理多态类? 50.00雪花
-
发表于: 2022-9-12 16:43 3986
-
背景:
需要hook一个app中的response处理方法,修改其中的属性。
初步方案是使用肉丝的r0gson.dex,对pegasusFeedResponse使用gson序列化,修改值,再使用gson.$new().fromJson反序列化。
需要hook的方法:
class pegasusFeedResponse 的结构:
由于多态,所以自动向上转型。items这个参数的类型是arraylist<BasicIndexItem>,实际是SmallCoverV2Item 这个类:
问题:
直接用gson.$new().fromJson(json_str), pegasusFeedResponse.class)反序列化,不会自动向上转型。
items的数据类型还是arraylist<BasicIndexItem>,SmallCoverV2Item 这个类里面特有的参数会被自动忽略。
想重新构造一个类,将items属性设置为arraylist<SmallCoverV2Item>,但查了官方文档无论如何也找不到怎么使用Java.registerClass 申明arraylist<object>数据类型。
或者说,有什么方法可以将pegasusFeedResponse类的items 变量重新定义为arraylist<SmallCoverV2Item> 类型?
求大神指导。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2022-9-12 18:38
被rm_rf_*编辑
,原因:
赞赏
看原图
赞赏
雪币:
留言: