-
-
[求助]关于Hook Android Api一些坑求助。
-
发表于:
2017-9-22 14:08
2891
-
[求助]关于Hook Android Api一些坑求助。
项目需求: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直播授课