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

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

2020-4-28 11:43
12120

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(https://github.com/r0ysue/AndroidSecurityStudy)的FRIDA目录下。


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 35
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
winkar 2020-4-28 16:24
2
0
用gson打印Java对象这个想法好。

不过好奇问一句,重名的时候Java.use会直接报错退出吗?不然取到打包在里面的gson好像关系也不大?
雪    币: 13388
活跃值: (4728)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2020-4-28 16:40
3
0
Java.openClassFile("/data/local/tmp/r0gson.dex").load();
frida api又学了一个。还可以这样加载dex
雪    币: 482
活跃值: (1002)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Lateautumn4 2020-7-24 16:40
4
0
赞!
雪    币: 343
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
lin_20200709 2020-7-27 13:47
5
0
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')
游客
登录 | 注册 方可回帖
返回