xposed初探1

新建一个android工程

工程内新建一个lib目录

1 将xposed的jar api包放进来

api-82.jar

api-82-source.jar

 

在两个jar包上右键Add as library 点击OK确认

配置这两个jar包为provided.因为安装xposed框架的时候框架里面会自动带。所以要把compile修改为provided

在File-->project structure->app->dependecies里面

 

将两个依赖都修改为provided

如果是新版本的as 需要修改 gradle中变为

compileOnly files('lib/api-82.jar')
compileOnly files('lib/api-82-sources.jar')

 

 

3 添加一个启动类 siin.java 并且实现这个public类 (继承IXposedHookLoadPackage )

 实现了一个方法 handleLoadPackage。这个方法在启动一个app的时候就会被调用。所以我们主要的hook行为就是在这个里面做的,这里先简单实现一个打印吧。

package com.huskar.im.siin;


import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import com.huskar.im.siin.silog;

/**
 * Created by iamhuskar on 2018/6/20.
 */
public class siin implements IXposedHookLoadPackage
{
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable
    {
        silog.log("load app: " + loadPackageParam.packageName);//显示加载的 app 名称
    }
}

每一个APP加载的时候就会打印名字

 

4新建assets目录和xposed_init文件指定入口函数

指定了类名siin。这样框架在加载插件的时候就能找到对应的 handleLoadPackage函数并加载了

 

5接下来就是在AndroidManifest.xml标记这个app是一个xposed模块了。

在<application>标签内添加三个meta-data元素

 <meta-data
            android:name="xposedmodule"
            android:value="true" />
        <meta-data
            android:name="xposeddescription"
            android:value="HookDemo" />
        <meta-data
            android:name="xposedminversion"
            android:value="53" />

第一个说明这是个xposed模块

第二个是模块的说明

第三个是最小的xposed接口版本。

我们用的是xposed 80版本。这里写个低于80的53就行了

编译生成apk 安装到已有xposed框架的手机上

 

接下来任意启动一个进程

我们就能在日志打印中看到对应的记录

后续接着看怎么HOOK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值