[Android逆向]Exposed 破解 jwxdxnx02.apk

android,逆向,exposed,破解,jwxdxnx02,apk · 浏览次数 : 39

小编点评

**坑 1:** ```java XposedHelpers.findAndHookMethod,第二个参数是方法名,如果方法有参数,后面要接方法参数类型类坑2: ``` **坑 2:** ```java compileOnly 'de.robv.android.xposed:api:82' ``` **坑 3:** ```java repositories { google() mavenCentral() } ``` **坑 4:** ```java if (ExposedBridge.isPluginLoaded()) { ExposedBridge.unregisterPlugin(this); } ```

正文

使用exposed 遇到了一些坑,这里记录一下

源码:
package com.example.exposedlesson01;

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 Main implements IXposedHookLoadPackage {

    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        String t_packageName = lpparam.packageName;
        if ("hfdcxy.com.myapplication".equals(t_packageName)) {
            XposedBridge.log("hooked!!!");
            Class<?> aClass = lpparam.classLoader.loadClass("hfdcxy.com.myapplication.MainActivity");

            XposedHelpers.findAndHookMethod(aClass, "check", String.class, String.class, new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    super.beforeHookedMethod(param);
                    // origin args
                    String name = (String)param.args[0];
                    String password = (String)param.args[1];
                    XposedBridge.log("hooked!!! name: " + name);
                    XposedBridge.log("hooked!!! password: " + password);
                    // modify
                    param.args[0] = "hfdcxy";
                    param.args[1] = "1234";
                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                }
            });

        }
    }
}

坑1(自己没注意): XposedHelpers.findAndHookMethod,第二个参数是方法名,如果方法有参数,后面要接方法参数类型类
坑2: app 的 build.gradle 不要引入source,只引入api即可,否则不报错,但是永远找不到IXposedHookLoadPackage
dependencies {
	......
    //以下一句引用
    compileOnly 'de.robv.android.xposed:api:82'
}
坑3:jcenter已经过期不提供服务了,一些网上的文档较旧了,改为在setting,gradle中添加
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
		//以下一句引用
        maven { url  "https://api.xposed.info/"}
    }
}
坑4:插件写的有问题,一定要先卸载删除插件,然后重新修改后安装,然后exposed中打开模块并重启手机,;在这里卡了很久,就是因为有时候没这么做,导致一直不成功

最后完美hook

日志:
02-15 18:21:50.066  4987  4987 I EdXposed-Bridge: hooked!!!
02-15 18:22:00.305  4987  4987 I EdXposed-Bridge: hooked!!! name: ddd
02-15 18:22:00.305  4987  4987 I EdXposed-Bridge: hooked!!! password: fdd
02-15 18:22:06.627  4987  4987 I EdXposed-Bridge: hooked!!! name: ddd
02-15 18:22:06.627  4987  4987 I EdXposed-Bridge: hooked!!! password: fdd

与[Android逆向]Exposed 破解 jwxdxnx02.apk相似的内容:

[Android逆向]Exposed 破解 jwxdxnx02.apk

使用exposed 遇到了一些坑,这里记录一下 源码: package com.example.exposedlesson01; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.X

【Android逆向】frida 破解 jwxdxnx02.apk

apk 路径: https://pan.baidu.com/s/1cUInoi 密码:07p9 这题比较简单,主要是用于练习frida 1. 安装apk到手机 需要输入账号密码 2. 使用jdax 查看apk package hfdcxy.com.myapplication; import andr

[Android 逆向]frida 破解 切水果大战原版.apk

1. 手机安装该apk,运行,点击右上角礼物 提示 支付失败,请稍后重试 2. apk拖入到jadx中,待加载完毕后,搜素失败,找到疑似目标类MymmPay的关键方法payResultFalse 4. adb logcat 或者androidstudio 查看该进程的日志,发现以下日志 com.mf

[Android 逆向]Xposed 破解 切水果大战原版.apk

代码 public class Main implements IXposedHookLoadPackage { boolean flag = false; @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam

【Android逆向】frida 破解 滚动的天空

1. apk 安装到手机中 2. 玩十次之后,会提示 充值 3. adb shell dumpsys window | grep mCurrentFocus 查看一些当前activity是哪一个 是 AppActivity 4. 阅读代码,感觉是unity3d做的游戏 5. apk拖入到jadx中,

【Android逆向】滚动的天空中插入smali日志

1. 编写一个MyLog.java 放到一个android工程下,编译打包,然后反编译拿到MyLog的smali代码 package com.example.logapplication; import android.util.Log; public class MyLog { public st

【Android逆向】frida hook so 函数

1. apk来自52pojie 链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an 2.apktool反编译apk,拿到so文件 java -jar ../apktool_2.2.4.jar d app-debug.apk 3. 用j

【Android逆向】修改so文件方式修改程序行为

1. 还是之前的那个apk 链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an 尝试使用 010Editor来修改so文件 2. 使用ida打开so文件,双击 hello 52pojie!,会跳转到该字符串的偏移地址,ida显示是00

【Android逆向】破解黑宝宝apk,绕过签名校验

这是52pojie的一道题,实现输入任何密码都可以登录成功 他知道你最近在学习Android逆向 他想在游戏上线前让你测试一下他新加的签名验证是否能防住别人的破解。 下面是李华编写的黑宝宝apk 链接:https://pan.baidu.com/s/1h6pX2ARE3qtiKiYbcnJ-3g 密

[Android 逆向]绕过小米需插卡安装apk限制

1. 确保自己手机是root的了 2. 给手机安装busybox,使可以用vi编辑文件 安装方法: 0. adb shell getprop ro.product.cpu.abi 获得 cpu架构信息 arm64-v8a 1. 下载 https://busybox.net/downloads/bin