请问下ARTHook 和 编译时transform+asm这种hook有什么区别呢?

来源:4-7 ARTHook优雅检测不合理图片

weixin_慕九州1014474

2020-04-07

老师可否讲解下:运行时hook 和 编译时hook的区别?

Epic 是ARTHook 属于运行时hook

Lancet 是属于编译时的hook,基于transform+asm

这两者的使用场景和区别 是什么呢?

写回答

1回答

随风绽放

2020-04-11

同学你好,区别还是挺大的。

  1. 根据你的提问你应该清楚原理上是不一样的

  2. Epic运行时Hook可以hook系统方法,而Lancet无法对系统方法进行插桩(比如ActivityThread)

  3. Epic有稳定性问题(而且无法根治),Lancet相当于是帮你写了代码,基本没有稳定性问题。

所以使用场景,Epic更适用于线下,Lancet更适用于线上。Epic能力比Lancet强大。

0
0

Top团队大牛带你玩转Android性能分析与优化

由表及里学到国内Top团队对性能问题的体系化解决方案

1696 学习 · 532 问题

查看课程