IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Xpose_HOOK入门教程 -> 正文阅读

[移动开发]Xpose_HOOK入门教程

开发工具:AndroidStudio maven VirtualXposed

?一.新建Hook项目

二、配置HOOK环境

引入xposed

?compileOnly 'de.robv.android.xposed:api:82'

compileOnly 'de.robv.android.xposed:api:82:sources'

下面来配置清单文件??(配置AndroidManifest.xml)
? ?? ?? ???配置如下图

<!-- 应用为模块 -->
<meta-data
    android:name="xposedmodule"
    android:value="true" /> <!-- 版本信息 -->
<meta-data
    android:name="xposedminversion"
    android:value="53" /> <!-- 模块描述 -->
<meta-data
    android:name="xposeddescription"
    android:value="淘宝抓包" />

三.编写hook代码

创建HookMain类,实现IXposedHookLoadPackage这个接口

源码如下:

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class HookMain implements IXposedHookLoadPackage {
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {

        if(lpparam.packageName.contains("com.taobao")){  //抓包的包名
            //XposedUtil.checkXposed(lpparam);
            XposedHelpers.findAndHookMethod(XposedHelpers.findClassIfExists("mtopsdk.mtop.global.SwitchConfig",   //抓包的类名
                    lpparam.classLoader), "isGlobalSpdySwitchOpen",//抓包的方法名
                    new XC_MethodHook() {
                        protected void afterHookedMethod(MethodHookParam methodHookParam) throws Throwable {
                            super.afterHookedMethod(methodHookParam);
                            XposedBridge.log("--------开始抓包----------");
                            methodHookParam.setResult(Boolean.valueOf(false));
                        }
                    });
        }
    }
}

?之后将该插件和要抓包的APP安装到VirtualXposed,就可以HOOK到

补充:获取参数说明

 XposedHelpers.findAndHookMethod(
                //要 hook 的类,很明显是 MainActivity
                "com.sddz.logint.MainActivity",
                //类加载器
                lpparam.classLoader,
                //要 hook 方法的名称
                "toastMessage",
                //参数类型
                String.class,
                //参数类型
                String.class,
                new XC_MethodHook() {
                    //在方法运行之前 hook 可在运行之前改变参数的值从而影响运行结果,得不到返回值
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

                    }

                    //在方法运行之后 hook 可以得到返回值 这里我们在运行之后就可以了 因为我们需要拿到返回值
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        //参数 1 的值
                        XposedBridge.log("whj userName:" + param.args[0]);

                        //参数 2 的值
                        XposedBridge.log("whj password:" + param.args[1]);

                        //返回值
                        XposedBridge.log("whj Login:" + param.getResult());

                        param.setResult("你已被劫持");//修改值

                        //获取私有属性 name 的值
                        XposedBridge.log("whj name:" + XposedHelpers.getObjectField(param.thisObject, "name")
                        );
                    }
                });

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:23:14  更:2021-09-13 09:24:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:51:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码