安卓逆向 -- Hook多个dex文件

简介: 安卓逆向 -- Hook多个dex文件



一、主要代码


package com.bucuo.a20210908;
import android.app.Application;
import android.content.Context;
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;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
public class hook implements IXposedHookLoadPackage {
    public void handleLoadPackage(final LoadPackageParam loadPackageParam) throws Throwable {
        Log.d("逆向有你", "hook成功");
        if(!loadPackageParam.packageName.equals("com.dodonew.online")) return;
        Log.d("逆向有你","hooking.....");
        findAndHookMethod(Application.class,"attach", Context.class,
                new XC_MethodHook() {
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    }
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                       ClassLoader cl= ((Context)param.args[0]).getClassLoader();
                       Class<?> hookclass=null;
                       try {
                           hookclass=cl.loadClass("com.dodonew.online.http.RequestUtil");
                       }catch (Exception e){
                           Log.e("逆向有你","未找到类",e);
                           return;
                       }
                       Log.d("逆向有你","已找到类");
                       findAndHookMethod(hookclass, "encodeDesMap", String.class, String.class, String.class, new XC_MethodHook() {
                           @Override
                           protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                               String args0 = (String) param.args[0];
                               String args1 = (String) param.args[1];
                               String args2 = (String) param.args[2];
                               Log.d("逆向有你", args0);
                               Log.d("逆向有你", args1);
                               Log.d("逆向有你", args2);
                           }
                       });
                    }
                });
    }
}


二、效果和上节课一样


0a2653c851af460fa595bd959398a8f1.png


禁止非法,后果自负

目录
相关文章
|
4天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
16 1
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
4天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
35 1
|
4天前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
21 1
|
4天前
|
Android开发
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
3 0
|
2月前
|
JSON Java Go
|
2月前
|
算法 Java Android开发
安卓逆向 -- 调用其他APK的SO文件
安卓逆向 -- 调用其他APK的SO文件
17 0
|
Android开发
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(二)
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(二)
122 0
|
Android开发
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(三)
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(三)
172 0
|
Java Android开发
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(一)
【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )(一)
241 0