请教一个Asm插装的问题
ethanhua opened this issue · 3 comments
ethanhua commented
你的库很赞
比如我想要替换一行代码如下:
原始代码: A a = new A(param1,param2,....),
替换成: A a = B.newC(params1,param2,....) , 其中B中的newC方法是静态方法,class C extends A
使用asm core api该如何做?
Leifzhang commented
core api 就用classvisitor的 method visitor 逐行替换就好了,因为不涉及的参数变更 所以只要进行匹配就行了 可以参考类似privacy那部分替换逻辑
ethanhua commented
原始代码: A a = new A(param1,param2,....),
替换成: A a = B.newC(params1,param2,....) , 其中B中的newC方法是静态方法,class C extends A, 如果是这种场景该怎么替换 有具体的例子可以参考吗?
Leifzhang commented
https://github.com/Leifzhang/AndroidAutoTrack/blob/master/Plugin/thread_hook_plugin/src/main/java/com/kronos/plugin/thread/visitor/PrivacyAsmHelper.kt
https://github.com/Leifzhang/AndroidAutoTrack/blob/master/Plugin/thread_hook_plugin/src/main/java/com/kronos/plugin/thread/visitor/privacy/PrivacyHelper.kt