大大们早上好,我知道是通过反射来获取全局变量的值, 但是我写的hook代码报错了。错误原因是传的参数不对。代码如下:
protected void beforeHookedMethod(MethodHookParam param) {
}
@Override
protected void afterHookedMethod(MethodHookParam param) {
Log.i(_string_log,
"-------------.socke().-------------1");
try {
Class<?> allString = lpparam.classLoader
.loadClass("com.kugou.fanxing.core.modul.liveroom.entity.LiveSocketEntity$SocketInfo");
Log.i(_string_log, allString.getName().toString()
+ "0");
Field ip = allString.getDeclaredField("ip");
Log.i(_string_log, "1");
Field port = allString.getDeclaredField("port");
Log.i(_string_log, port.getName());
ip.setAccessible(true);
port.setAccessible(true);
Log.i(_string_log, "3");
Object port_ = port.get(param.thisObject);
Log.i(_string_log, "4");
Object ip_ = ip.get(allString);
Log.i(_string_log, "4");
Log.i(_string_log, ip_.toString());
Log.i(_string_log, port_.toString());
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
Log.i(_string_log, e.toString());
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO 自动生成的 catch 块
Log.i(_string_log, e.toString());
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO 自动生成的 catch 块
Log.i(_string_log, e.toString());
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO 自动生成的 catch 块
Log.i(_string_log, e.toString());
e.printStackTrace();
}
}
});
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)