前言
一般情况下,在Java层可以使用动态代理实现方法hook,如下:
interface Animal {
void eat();
}
Object proxy = Proxy.newProxyInstance(getClassLoader(), new Class[]{Animal.class},
new InvocationHandler() {
@Override
public Object invoke(Object o, Method method, Object[] objects) throws Throwable {
return null;
}
});
// 反射替换为动态代理对象proxy
//