-
-
[求助]关于Hook Android Api一些坑求助。
-
发表于:
2017-9-22 14:08
3008
-
[求助]关于Hook Android Api一些坑求助。
项目需求: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日开班!