闷骚小贱男 发表于 2021-6-3 22:52

xposed hook之360加固的APP过模拟器检测

本帖最后由 闷骚小贱男 于 2021-6-4 10:49 编辑



# 0x0 故事的由来
前段时间把17年某东双十一抽到的X20换了,换了某200万图标的k40(安卓11,手机稳定版刷了面具+lsposed)
但是有几款以前的APP需要用指定的imei或者oaid来伪造原设备继续使用,所以才有了这个帖子...

---
# 0x1 用到的工具和用途
1、VMOS Pro(安卓虚拟机,自带xposed和root,类似多开)
2、MT/NP管理器(文件管理)
3、反射大师3.5.3+XP框架(不支持安卓11的脱壳,所以我用VMOS pro,论坛内的BlackDex试过脱不了壳)
4、JADX(反编译APP 查看JAVA代码)

---
# 0x2 VMOS装APP后有真机检测
因为我要多开,所以用VOMS来装APP,打开的时候被检测了。。

但是我记得VMOS Pro好像能开启虚拟机用传感器,但是开启之后反转手机无效果。(不清楚是我操作有问题,还是VMOS的问题)
想到前几天刚学了点皮毛的xposed hook,所以想从代码入手了hook他

---
# 0x3 MT查看安装包
用MT一看是*60加固,不能直接看SMAIL,要先脱壳。所以要用反射大师或者别的工具。


# 0x4 反射大师安装和使用
VMOS 装xposed框架装反射大师,激活模块后
反射大师选择要脱壳的APP

然后运行APP,点击芒星-当前ACTIVITY,长按“写出DEX”(写出全部DEX)

并勾选修复


# 0x5 反编译查看代码
## JADX搜索定位
我这用的是JADX,全选dex直接查看所有代码(也可以直接用MT/NP管理器)

搜索关键词“请使用手机”,搜到一个,那肯定就是他了

我们点进去看看

然后就更能确定就是他。。
~~~java
MyDialog myDialog7 = this.this$0.this$0.this$0.this$0.vmdialog;
if (myDialog7 != null) {
    myDialog7.show(); /* 显示这个检测弹窗 */
}
~~~

## 找到show方法
右键“跳到声明”找到show方法,类:com.***.****.activity.ui.MyDialog

~~~java
    public void show() {
      getWindow().setGravity(17);
      super.show();
    }
~~~
既然找到了方法,那让他不运行就不会显示这个弹窗

# 0x6 e4a_xposed_hook
因为没学过JAVA,所以只能用e4a的接口函数来编写模块了...
~~~java
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable
{
      if (lpparam.processName.equals("com.***.****"))//***** 判断应用名
      {
                XposedBridge.log("加载 App:"+ lpparam.packageName);
                XposedHelpers.findAndHookMethod("com.stub.StubApp", lpparam.classLoader, "a", Context.class, new XC_MethodHook() {//或者a
                        @Override
                        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                              super.afterHookedMethod(param);//获取到360的Context对象,通过这个对象来获取classloader
                              Context context = (Context) param.args;//获取360的classloader,之后hook加固后的代码就使用这个classloader
                              ClassLoader classLoader = context.getClassLoader();//替换classloader,hook加固后的真正代码
                              XposedHelpers.findAndHookMethod("com.***.***.activity.ui.MyDialog", classLoader, "show", new XC_MethodReplacement() {//类名和方法名
                                        @Override
                                        protected Object replaceHookedMethod(MethodHookParam methodHookParam) throws Throwable {
                                                return null;//不再使用原方法
                                        }
                              });
                        }      
                });
      }
}
~~~
装好并启用模块,重启VMOS虚拟机之后打开APP,检测窗口不再显示。(但是好像所有的弹窗都没了。。。下次可以研究研究改写函数)


## e4a_xposed_hook源码下载
密码:52pj下载:https://wwa.lanzoui.com/iYB9lprd0af

---
# 0x7 工具下载
反射大师3.5.3 密码:52pj 下载:https://wwa.lanzoui.com/iPccNnhgtte
JADX:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1304962&highlight=Jadx
MT管理器:https://binmt.lanzoui.com/iQblppn3kne

---
# 小结
【PS:hook一时爽,一直hook一直爽。。】
【再PS:之前发过的某水印相机也可以用hook自定义函数结果,但是论坛不能发成品,就需要大家动动手了】



随遇丷而安 发表于 2021-6-4 10:45

感谢楼主的分享,这个软件很不错 清理起来非常的方便。{:1_893:}

闷骚小贱男 发表于 2021-6-4 08:34

ses 发表于 2021-6-4 07:46
可以提供一下工具吗?谢谢

反射大师3.5.3 密码:52pj 下载:https://wwa.lanzoui.com/iPccNnhgtte
JADX:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1304962&highlight=Jadx
MT管理器:https://binmt.lanzoui.com/iQblppn3kne

雾都孤尔 发表于 2021-6-4 00:23

不明觉厉,围观下。

ses 发表于 2021-6-4 07:46

可以提供一下工具吗?谢谢

南山楠 发表于 2021-6-4 07:52

学习到了

yuleniwo 发表于 2021-6-4 08:42

谢谢分享,硬核知识,先收藏了。

qq494347964 发表于 2021-6-4 09:08


谢谢分享,硬核知识,先收藏了。

djxding 发表于 2021-6-4 09:35

这个好,先收藏,空了一定好好学习一下。

感谢分享。

ecco13 发表于 2021-6-4 12:56

非常感谢分享
页: [1] 2 3 4 5 6 7
查看完整版本: xposed hook之360加固的APP过模拟器检测