zoukankan      html  css  js  c++  java
  • Android studio搭建xposed环境

    一、环境准备

    xposed:https://repo.xposed.info/module/de.robv.android.xposed.installer

    xposed-api:https://forum.xda-developers.com/xposed/xposed-api-changelog-developer-news-t2714067

    二、环境搭建

    Android studio选择->Empty Actvity

     

    将api.jar包拖入至hook->app->libs,在jar文件上右键选择"As a Library"

     

    修改hook->app->src->main目录AndroidManifest.xml文件添加内容:

            <meta-data
                android:name="xposedmodule"  //表示作为Xposed的一个模块
                android:value="true"/>
            <meta-data
                android:name="xposeddescription"
                android:value="xposed demo"/> //模块的描述
            <meta-data
                android:name="xposedminversion" //最低要求的版本信息
                android:value="53"/>
    

    修改app->build.gradle文件将此处修改为compileOnly 默认(implementation)

    在此处选择assets Folder并创建file 文件xposed_int 填写入口类的完整类名例如:com.example.hook.hook

     

    在appsrcmainjavacomexamplehook下创建java class文件与上面填写的xposed_init类名保持一直,编码hook代码

    package com.example.hook;
    import android.util.Log;
    import de.robv.android.xposed.IXposedHookLoadPackage;
    import de.robv.android.xposed.XposedBridge;
    import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
    
    public class hook implements IXposedHookLoadPackage {
        public void handleLoadPackage(final LoadPackageParam loadPackageParam) throws Throwable {
    
            Log.d("tag", "Hooking......");
            if(!loadPackageParam.packageName.equals("com.app")) return;
            Log.d("test","hook.....");
        }
    }
    

    点击Run即可在模拟器中xposed看到模块

     

  • 相关阅读:
    register based 和 stack based虚拟机的区别
    Java in a Nutshell学习笔记
    Java中interface和abstract class的区别和联系
    Java中final的作用
    Android 源码下载
    Android Fragment 你应该知道的一切
    Android Fragment 真正的完全解析(下)
    Android Fragment 真正的完全解析(上)
    IntelliJ IDEA 使用总结
    Linux在目录中查找某个函数
  • 原文地址:https://www.cnblogs.com/websecyw/p/14035770.html
Copyright © 2011-2022 走看看