某出千APP分析

遇到一个出千APP,360加固,带环境检测,伪装成电话APP,分析一下

脱壳

先查壳,360加固

Alt text

先安装到模拟器,这里我用的是雷电9,其他的不一定行,反正vmos是会报错的,root真机里xposed环境用了太多模块,内存抽个dex一抽抽几百个,能不用就不用

打开会带一个环境检测,然后应用自动退出,已经试过算法助手的防闪退、阻止退出无效

Alt text

然而在自动退出之前,会有2-3秒的时间可供操作,可以尝试脱壳(当然blackdex已经试过了,不行,毕竟很久没更新了,有点跟不上现在的加固)

试了一下没检测frida,用frida-dexdump来脱

Alt text

脱下来的dex用MT去修复一下,连同apk一起加载到jadx中,大致如下

Alt text

绕过检测

看到代码后就去定位检测代码,能看到主要就是这个showVirtualRunningMsgFinish方法搞得鬼

Alt text

确实是关闭了应用,hook这个类让他不执行就可以绕过这里的检测了

Alt text

hook的时候要注意,这是加固的应用,需要去找到它的dexloader才行

Java.perform(function () {
    var application = Java.use('android.app.Application');

    application.attach.overload('android.content.Context').implementation = function(context){

        this.attach(context);
        var classloader = context.getClassLoader();
        Java.classFactory.loader = classloader;

        let DialActivity = Java.classFactory.use("com.activity.DialActivity.DialActivity");
        DialActivity["showVirtualRunningMsgFinish"].implementation = function (context, str) {
            console.log('showVirtualRunningMsgFinish is called' + ', ' + 'context: ' + context + ', ' + 'str: ' + str);
            // let ret = this.showVirtualRunningMsgFinish(context, str);
        };

    }
});

此时已经绕过了检测

Alt text

分析Activity

AndroidManifest.xml中能看到注册了很多Activity,看着这些Activity,能猜到它还有很多其他功能,现在主要关注这些Activity是如何打开

Alt text

由于入口类是com.activity.DialActivity.DialActivity,能在这里找到一个方法,属于是一眼顶针

Alt text

对着这些代码敲,然后拨号,就能进入这些隐藏的Activity了

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text

后话

只能说,打麻将需谨慎,尤其是沾了点钱的

后面如果要继续分析的话,走测试流程比走代码分析流程要方便很多,不然你得手搓协议。。。还有一大堆编码、加密要搞,我就不弄了,一开始还以为是偷拍的呢。。没意思

posted @ 2023-10-27 23:47  WXjzc  阅读(323)  评论(0编辑  收藏  举报