【Xposed】抖音短视频检测 Xposed,去提示

【Xposed】抖音短视频检测 Xposed,去提示

看到 【Xposed】抖音短视频检测 Xposed 分析
【Xposed】抖音短视频检测 Xposed 分析2
两个帖子,另外一种方式来去掉抖音检测Xposed提示。

工具
apk:抖音1.7.2
IDE:Android Studio 3.0
反编译工具:dex2jar-0.0.9.15 ,jd-gui-windows-1.4.0,jadx

根据上面两个博客,知道方法com.ss.android.ugc.aweme.app.b.a.i.a()是发出toast的地方

  public void a()
  {
    if (PatchProxy.isSupport(new Object[0], this, a, false, 4314, new Class[0], Void.TYPE)) {
      PatchProxy.accessDispatch(new Object[0], this, a, false, 4314, new Class[0], Void.TYPE);
    }
    while (!com.ss.android.ugc.aweme.app.i.a(AwemeApplication.t())) {
      return;
    }
    String str1 = AwemeApplication.t().getString(2131296798);
    Object[] arrayOfObject = new Object[1];
    arrayOfObject[0] = com.ss.android.ugc.aweme.app.i.b;
    String str2 = String.format(str1, arrayOfObject);
    n.a(AwemeApplication.t(), str2);
    c.a("find_hook", com.ss.android.ugc.aweme.app.i.b, null);
  }

那么,return之后的就是具体组织toast了,如果能够让while循环走入return,即com.ss.android.ugc.aweme.app.i.a(AwemeApplication.t()) == false,就完成了。

现在重点看这个方法。
jadx反编译

    public static boolean m26293a(Context context) {
        if (PatchProxy.isSupport(new Object[]{context}, null, f19681a, true, 4443, new Class[]{Context.class}, Boolean.TYPE)) {
            return ((Boolean) PatchProxy.accessDispatch(new Object[]{context}, null, f19681a, true, 4443, new Class[]{Context.class}, Boolean.TYPE)).booleanValue();
        } else if (C6970i.m26295b(context) || C6970i.m26292a() || C6970i.m26294b()) {
            return true;
        } else {
            return false;
        }
    }

有两种方法:

  • 直接hook public static boolean a(Context context) 这个方法,修改返回值。
  • 修改 C6970i.m26295b(context) C6970i.m26292a() C6970i.m26294b()的返回值。

下面附上第一种修改方式:

public class Hook implements IXposedHookLoadPackage{
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable{
        if(!lpparam.packageName.equals("com.ss.android.ugc.aweme")){
            return;
        }    

        XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                ClassLoader classLoader = ((Context)param.args[0]).getClassLoader();

                XposedHelpers.findAndHookMethod("com.ss.android.ugc.aweme.app.i", classLoader , "a", Context.class, new XC_MethodHook() {
                    @Override
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        Log.i(TAG, "hookComSsAndroidUgcAwemeAppIA() --- after =" + param.getResult());
                        param.setResult(false);
                    }
                });
            }
        });  

    }
}

说明

因为com.ss.android.ugc.aweme.app.i.a(AwemeApplication.t()) 这个方法在dex2中,所以要先调用方法 XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {});

这样就可以了。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值