一、准备:
1、root手机一部(夜神模拟器)
2、Android studio
二、创建Android studio项目
1、创建项目
2、Module根目录下创建lib文件夹(注意是lib文件夹,不是libs)
3、拷贝XposedBridgeApi-54.jar问价到lib文件夹内
4、项目引入XposedBridgeApi-54.jar包,注:需将implementation修改为compileOnly
5、AndroidManifest.xml中application下添加代码:
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposedminversion"
android:value="40" />
<meta-data
android:name="xposeddescription"
android:value="collect the runtime information of the applicaitons" />
6、编写hook入口类
public class Hook implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
XposedHelpers.findAndHookMethod("com.joy.demo.testhook.MainActivity", loadPackageParam.classLoader, "toastString",
String.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
param.args[0] = "hook后内容";
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
param.setResult("hook后返回内容");
}
});
}
}
此类的作用是将com.joy.demo.testhook.MainActivity类中的String toastString(String a)方法拦截,并修改String参数为“hook后内容”,返回内容修改为"hook后返回内容"。可用于修改其他APP已知包名、类名、方法名及参数的方法。
7、新建hook入口类指向文件:在main目录下新建assets文件夹,并在文件夹下新建xposed_init文件,文件内容为Hook类的全路径(包名+类名)。
至此,hook类已编写完成,可安装到root手机内。
三、xposed框架
1、安装xposed installer软件,并使用此软件给手机安装xposed框架,安装后重启
2、安装编写好的hook APP,在xposed installer软件上点击模块,勾选hook APP,勾选后重启
3、运行被hook APP,观察运行结果