Android 未能在multidex apk中Exposed钩住defpackage包的类
这是一个多指标apk。 我想在类defpackage.bky中钩住一个方法,如下面的屏幕截图所示Android 未能在multidex apk中Exposed钩住defpackage包的类,android,hook,android-multidex,xposed,Android,Hook,Android Multidex,Xposed,这是一个多指标apk。 我想在类defpackage.bky中钩住一个方法,如下面的屏幕截图所示 我尝试按如下方式钩住Application.class“attach”方法,但失败:“java.lang.ClassNotFoundException:在路径上找不到类“defpackage.bky” XposedHelpers.findAndHookMethod(Application.class,“attach”,Context.class,新的XC_MethodHook(){ @凌驾 Ho
XposedHelpers.findAndHookMethod(Application.class,“attach”,Context.class,新的XC_MethodHook(){
@凌驾
HookedMethod(MethodHookParam param)抛出可丢弃的后受保护的空{
ClassLoader cl=((上下文)param.args[0]).getClassLoader();
类hookclass=null;
试一试{
hookclass=cl.loadClass(“defpackage.bky”);
}捕获(例外e){
Log.e(“mtwmexposed”寻找defpackage.bky报错", e) );
hookclass=null;
}
if(hookclass!=null){
Log.i(“mtwmexposed”寻找defpackage.bky成功");
exposedHelpers.findAndHookMethod(hookclass,“a”,
JSONObject.class,
新的XC_MethodHook(){
@凌驾
protected void beforeHookedMethod(MethodHookParam参数)抛出可丢弃的{
super.beforehokedmethod(param);
JSONObject shop_info=(JSONObject)参数args[0];
Log.d(“mtwmexposed”,“From defpackage.bkt.a:”+shop_info.toString(2));
}
});
}
}
});
XposedHelpers.findAndHookMethod(ClassLoader.class, "loadClass", String.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
if (param.hasThrowable()) return;
Class<?> cls = (Class<?>) param.getResult();
String name = cls.getName();
Log.d("MtwmXposed", "class name = " + name);
if (name.equals("defpackage.bky")) {
Log.i("MtwmXposed", "寻找defpackage.bky成功");
XposedHelpers.findAndHookMethod(cls, "a",
JSONObject.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
JSONObject shop_info = (JSONObject) param.args[0];
Log.d("MtwmXposed", "From defpackage.bkt.a: " + shop_info.toString(2));
}
});
}
}
});
XposedHelpers.findAndHookMethod(ClassLoader.class,“loadClass”,String.class,新的XC_MethodHook(){
@凌驾
HookedMethod(MethodHookParam param)抛出可丢弃的后受保护的空{
super.afterHookedMethod(参数);
if(param.hastrowable())返回;
类cls=(类)param.getResult();
字符串名称=cls.getName();
Log.d(“mtwmexposed”,“class name=“+name”);
if(name.equals(“defpackage.bky”)){
Log.i(“mtwmexposed”寻找defpackage.bky成功");
exposedHelpers.findAndHookMethod(cls,“a”,
JSONObject.class,
新的XC_MethodHook(){
@凌驾
protected void beforeHookedMethod(MethodHookParam参数)抛出可丢弃的{
super.beforehokedmethod(param);
JSONObject shop_info=(JSONObject)参数args[0];
Log.d(“mtwmexposed”,“From defpackage.bkt.a:”+shop_info.toString(2));
}
});
}
}
});
对我说。你解决这个问题了吗???
XposedHelpers.findAndHookMethod(ClassLoader.class, "loadClass", String.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
if (param.hasThrowable()) return;
Class<?> cls = (Class<?>) param.getResult();
String name = cls.getName();
Log.d("MtwmXposed", "class name = " + name);
if (name.equals("defpackage.bky")) {
Log.i("MtwmXposed", "寻找defpackage.bky成功");
XposedHelpers.findAndHookMethod(cls, "a",
JSONObject.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
JSONObject shop_info = (JSONObject) param.args[0];
Log.d("MtwmXposed", "From defpackage.bkt.a: " + shop_info.toString(2));
}
});
}
}
});