首页
社区
课程
招聘
[求助]关于Hook Android Api一些坑求助。
发表于: 2017-9-22 14:08 2891

[求助]关于Hook Android Api一些坑求助。

2017-9-22 14:08
2891
项目需求:Hook自身的Api;
例子:我在我的项目中嵌入了第三方的SDK,然后第三方SDK会调用->
NotificationManager.notify(int id, Notification notification)
在状态栏中提示一条状态信息,我想Hook自身的方法让这条信息从来都不提示。
我尝试使用Legend(https://github.com/asLody/legend)把NotificationManager.notify(int id, Notification notification)指向一个空的方法。
也测试使用AndFix指向一个空的方法去。

我自己测试的的时候,如果NotificationManager是在跟项目同一个ClassLoader下调用的话,Legend、AndFix都可以成功的把Api指向到一个新的方法那里去。

不过第三方SDK,他们会动态加载一个Dex,然后Dex也会调用notify的时候,这个时候项目就会报错,提示找不到NotificationManager这个类。
大家有没有什么好的办法可以Hook自身的Api方法。

https://github.com/dodola/HotFix
https://github.com/alibaba/AndFix
https://github.com/rovo89/Xposed
https://github.com/alibaba/dexposed
这些方案,我都有测试过了,只要不是动态加载,都可以实现。
如果是动态加载进去的,貌似都会出现这个问题。
大家有没有一个好的解决方案?

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 4687
活跃值: (253)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感觉是灰产  技术了,八成广告吧。。。
2017-9-22 17:39
0
雪    币: 214
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
自身的方法,直接xposed就行了,搞那么复杂干嘛。
2017-9-22 22:51
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
hook是在  NotificationManager.notify(int  id,  Notification  notification)里做过滤,而不是指向空!!!
2017-9-22 23:27
0
雪    币: 187
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
诗函 自身的方法,直接xposed就行了,搞那么复杂干嘛。
xposed可以?xposed的话,在4.4之前还是可以的,在art模式下,xposed必须要先替换一些系统的文件而且要重启后才能运行。
2017-9-23 08:18
0
雪    币: 187
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
无边 hook是在 NotificationManager.notify(int id, Notification notification)里做过滤,而不是指向空!!!
NotificationManager里面可以做过滤?怎么实现,我没有发现相关的api哦。
2017-9-23 08:19
0
游客
登录 | 注册 方可回帖
返回
//