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

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

2017-9-22 14:08
3008
项目需求:Hook自身的Api;
例子:我在我的项目中嵌入了第三方的SDK,然后第三方SDK会调用->
NotificationManager.notify(int id, Notification notification)
在状态栏中提示一条状态信息,我想Hook自身的方法让这条信息从来都不提示。
我尝试使用Legend(bb6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7@1I4G2k6s2W2Q4x3V1k6D9k6h3N6W2L8X3c8Q4c8f1k6Q4b7V1y4Q4z5o6W2Q4c8e0k6Q4z5p5q4Q4z5p5q4z5L8%4c8A6k6X3W2U0j5i4c8A6L8$3&6y4j5h3&6S2k6$3g2J5i4K6u0W2L8X3!0@1K9h3k6&6i4K6t1^5K9h3&6@1 id, Notification notification)指向一个空的方法。
也测试使用AndFix指向一个空的方法去。

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

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

721K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8$3c8G2L8r3q4Q4x3V1k6t1L8%4c8r3K9i4R3`.
3c8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2L8r3W2T1j5h3u0S2i4K6u0r3b7h3&6V1c8X3W2^5
c45K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5L8%4k6G2z5o6W2Q4x3V1k6j5M7r3!0K6k6h3b7`.
4f9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2L8r3W2T1j5h3u0S2i4K6u0r3k6r3g2^5M7r3!0K6k6h3b7`.
这些方案,我都有测试过了,只要不是动态加载,都可以实现。
如果是动态加载进去的,貌似都会出现这个问题。
大家有没有一个好的解决方案?

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 4687
活跃值: (388)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感觉是灰产  技术了,八成广告吧。。。
2017-9-22 17:39
0
雪    币: 234
活跃值: (20)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回