首页
社区
课程
招聘
[原创]frida 修改动态加载的dex的一个思路
2019-12-10 15:23 7841

[原创]frida 修改动态加载的dex的一个思路

2019-12-10 15:23
7841
起因是因为 ghostmazeW大佬的frida系列的最后一篇文章进阶Frida--Android逆向之动态加载dex Hook(三)(下篇),通过hook dexclassloader的loadclass方法,从而找到动态加载进来的类,接着实现修改,思路非常清晰,可惜啊,我照搬代码,loadclass并不想我想象的那样,他hook到了一些,但是唯独没有hook到需要的那两个类,详情参看我上篇求助帖。于是,我另辟蹊径,终于发现了一个等价替代的办法:通过hook dexclassloader的构造方法,从而找到要hook的类的类加载器,将找到的类加载器实例赋给Java.classFactory.loader,然后就可以用Java.use()hook到,从而实现修改。
验证demo,如下,func1方法为需要hook的动态载入的类。
demo主程序:


需要加载的apk:


hook代码:

运行之后就会发现输出已经被修改为no,如果有多个类加载器的情况,可以通过v1参数进行筛选,但是可能需要操作一下d,各位有知道怎么操作d的吗,我这边打印出来是一个undefined
1.apk为要动态加载的apk,需要放到对应路径下



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞2
打赏
分享
最新回复 (2)
雪    币: 181
活跃值: (2868)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huaerxiela 2019-12-13 10:56
2
0
构造函数的返回值能不是void嘛,你想要的 d 就是 this,先 new 后 init,init的时候 obj 已经有了,不就是 this 嘛
雪    币: 3384
活跃值: (4098)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
KerryS 2019-12-17 21:13
3
0
说的对,手动点赞 
游客
登录 | 注册 方可回帖
返回