Xposedで出会った穴
1892 ワード
あるアプリのdexがアンドロイド5に複数ある場合、0以上のARTはoatファイルを合成します.では5.0以下には複数のdexが存在する.したがって、5.0以下のhookでは、プライマリdexではなく、パケットdexが存在するメソッドがあります.このときxposedはパケットdexがロードされていないときにコールバックhandleLoadPackage()を行う.このときクラスローダはパケット内のクラスをロードしないとXposedHelpersになる.findAndHookMethodが異常を投げ出す.
解决方法:(皆さんは以下の参考文献を参考にして、ここでは車輪を作らない)
参考1参考2参考3
解决方法:(皆さんは以下の参考文献を参考にして、ここでは車輪を作らない)
XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
ClassLoader cl = ((Context)param.args[0]).getClassLoader();
Class> hookclass = null;
try {
hookclass = cl.loadClass("xxx.xxx.xxx");
} catch (Exception e) {
Log.e("jyy", " xxx.xxx.xxx ", e);
return;
}
Log.i("jyy", " xxx.xxx.xxx ");
XposedHelpers.findAndHookMethod(hookclass, "xxx", new XC_MethodHook(){
// hook
});
}
});
参考1参考2参考3