首页
社区
课程
招聘
`Frida`打印[object]解决`gson`包重名的问题
发表于: 2020-4-28 11:43 14238

`Frida`打印[object]解决`gson`包重名的问题

2020-4-28 11:43
14238

Frida打印[object]解决gson包重名的问题

使用Frida时,想要打印Java对象的内容,可以使用谷歌的gson,可以非常优秀的将Java对象的内容,以json的格式打印出来。

 

但是有些时候,如果原apk里面,已经包含了该gson包,再Java.use就会重名取到原apk里的包,非常不方便。

 

 

我自己编译了个版本,改了包名,这样Java.use的时候就不会重名出错了,效果如下图:

 

 

使用方法:

  1. 解压,adb push到fridaserver同目录下之后
  2. 代码:
Java.openClassFile("/data/local/tmp/r0gson.dex").load();
const gson = Java.use('com.r0ysue.gson.Gson');
console.log(gson.$new().toJson(xxx));

下载地址:

 

我的Github(723K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5x3s2W2K6N6h3g2Q4x3V1k6m8L8X3c8J5L8$3W2V1f1$3g2U0N6i4u0A6N6s2W2e0N6s2g2V1P5b7`.`.)的FRIDA目录下。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 35
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
用gson打印Java对象这个想法好。

不过好奇问一句,重名的时候Java.use会直接报错退出吗?不然取到打包在里面的gson好像关系也不大?
2020-4-28 16:24
0
雪    币: 15933
活跃值: (7178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Java.openClassFile("/data/local/tmp/r0gson.dex").load();
frida api又学了一个。还可以这样加载dex
2020-4-28 16:40
0
雪    币: 482
活跃值: (1007)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
赞!
2020-7-24 16:40
0
雪    币: 343
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
https://bbs.pediy.com/thread-260633.htm
大佬能帮我看看这个问题怎么解决吗?用你的gson也打印不出来,报错
Error: toJson(): argument types do not match any of:\n\t.overload('com.r0ysue.gson.JsonElement')\n\t.overload('java.lang.Object')\n\t.overload('com.r0ysue.gson.JsonElement', 'java.lang.Appendable')\n\t.overload('java.lang.Object', 'java.lang.Appendable')\n\t.overload('java.lang.Object', 'java.lang.reflect.Type')\n\t.overload('com.r0ysue.gson.JsonElement', 'com.r0ysue.gson.stream.JsonWriter')\n\t.overload('java.lang.Object', 'java.lang.reflect.Type', 'java.lang.Appendable')\n\t.overload('java.lang.Object', 'java.lang.reflect.Type', 'com.r0ysue.gson.stream.JsonWriter')
2020-7-27 13:47
0
游客
登录 | 注册 方可回帖
返回