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

查看 98|回复 9
作者:闷骚小贱男   
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,打开的时候被检测了。。


1.0真机检测.jpg (67.75 KB, 下载次数: 1)
下载附件
2021-6-3 22:04 上传

但是我记得VMOS Pro好像能开启虚拟机用传感器,但是开启之后反转手机无效果。(不清楚是我操作有问题,还是VMOS的问题)
想到前几天刚学了点皮毛的xposed hook,所以想从代码入手了hook他
0x3 MT查看安装包
用MT一看是*60加固,不能直接看SMAIL,要先脱壳。所以要用反射大师或者别的工具。


1.1 加固的.jpg (27.18 KB, 下载次数: 1)
下载附件
2021-6-3 22:15 上传

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


1.3 模拟器内选应用.jpg (28.8 KB, 下载次数: 1)
下载附件
2021-6-3 22:15 上传

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


1.4 长按写出dex.jpg (50.38 KB, 下载次数: 0)
下载附件
2021-6-3 22:15 上传

并勾选修复


1.5 选择修复.jpg (45.37 KB, 下载次数: 1)
下载附件
2021-6-3 22:16 上传

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


10.全选.jpg (43.1 KB, 下载次数: 1)
下载附件
2021-6-3 22:18 上传

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


2.1.jpg (31.82 KB, 下载次数: 0)
下载附件
2021-6-3 22:53 上传

我们点进去看看


2.2.jpg (127.01 KB, 下载次数: 0)
下载附件
2021-6-3 22:20 上传

然后就更能确定就是他。。
MyDialog myDialog7 = this.this$0.this$0.this$0.this$0.vmdialog;
if (myDialog7 != null) {
    myDialog7.show(); /* 显示这个检测弹窗 */
}
找到show方法
右键“跳到声明”找到show方法,类:com.*.**.activity.ui.MyDialog


2.3.jpg (12.15 KB, 下载次数: 1)
下载附件
2021-6-3 22:26 上传

    public void show() {
        getWindow().setGravity(17);
        super.show();
    }
既然找到了方法,那让他不运行就不会显示这个弹窗
0x6 e4a_xposed_hook
因为没学过JAVA,所以只能用e4a的接口函数来编写模块了...
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[0];//获取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,检测窗口不再显示。(但是好像所有的弹窗都没了。。。下次可以研究研究改写函数)


5.0.jpg (33.77 KB, 下载次数: 0)
下载附件
2021-6-3 22:46 上传

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自定义函数结果,但是论坛不能发成品,就需要大家动动手了】

下载次数, 下载附件

随遇丷而安   

感谢楼主的分享,这个软件很不错 清理起来非常的方便。
闷骚小贱男
OP
  


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

反射大师3.5.3 密码:52pj 下载:https://wwa.lanzoui.com/iPccNnhgtte
JADX:https://www.52pojie.cn/forum.php ... &highlight=Jadx
MT管理器:https://binmt.lanzoui.com/iQblppn3kne
雾都孤尔   

不明觉厉,围观下。
ses   

可以提供一下工具吗?谢谢
南山楠   

学习到了
yuleniwo   

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

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

这个好,先收藏,空了一定好好学习一下。
感谢分享。
ecco13   

非常感谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部