Xposed API的进阶部分方法讲解

来源:互联网 发布:淘宝电子发票怎么打印 编辑:程序博客网 时间:2024/06/05 19:50

Xposed API的研究

1.XSharedPreferences的用法,可以读取其他app的SharedPreferences。(只读模式)

/**
*参数一为包名,参数二为文件名
*/

XSharedPreferences xsp = new XSharedPreferences("com.test" ,"mysp");        String x = xsp.getString("123" , "");        XposedBridge.log("+++++++++"+ x);

2.findAndHookMethod()方法的使用。

源app内容:

package com.example; public class SomeClass {   public int doSomething(String s, int i, MyClass m) {     ...   } }

hook内容

findAndHookMethod("com.example.SomeClass", lpparam.classLoader, String.class, int.class, "com.example.MyClass", new XC_MethodHook() {   @Override   protected void beforeHookedMethod(MethodHookParam param) throws Throwable {     String oldText = (String) param.args[0];     Log.d("MyModule", oldText);     param.args[0] = "test";     param.args[1] = 42; // auto-boxing is working here     setBooleanField(param.args[2], "great", true);     // This would not work (as MyClass can't be resolved at compile time):     //   MyClass myClass = (MyClass) param.args[2];     //   myClass.great = true;   } });
原创粉丝点击