App逆向百例|17|某音乐App分析
2023-2-14 17:55:12 Author: 逆向lin狗(查看原文) 阅读量:17 收藏

观前提示:
本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除
样本:aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMXRQbnROMkc0R20yYlFKaVNHYzU2SlE/cHdkPWxpbm4=

本次受害参数为aversionid

直接把样本放到JADX 发现搜索不到aversionid

前面在JADX里面搜索不到aversionid

但是发现了libexec.so字眼

众所周知 这是爱加密的壳

直接用dexdump 很快 一下子就脱光光了

直接搜索 这次可以搜索得到结果了

看到encodedecode字眼

跳转过来 发现调用SecurityNative.encode

但却无法进入 搜索类也搜索不到 难道另有蹊跷

尝试使用Frida也找不到

奇奇怪怪 有点意思

那咱就搜索classloader看看吧 反正总要加载类的

function classloader_search(ClassName{
    Java.perform(function ({
        Java.enumerateClassLoaders({
            "onMatch"function (loader{
                try {
                    if (loader.findClass(ClassName)) {
                        Java.classFactory.loader = loader;
                        console.log('Find ClassName->' + ClassName);
                        console.log(loader);
                    }
                } catch (e) {}
            },
            "onComplete"function ({
            }
        });
    });
}

运行成功搜索到com.xxx.security.SecurityNative

找之前 先验证一下是否正确

function hook({
    var ClassName = "com.xxx.security.SecurityNative"
    Java.perform(function ({
        Java.enumerateClassLoaders({
            "onMatch"function (loader{
                try {
                    if (loader.findClass(ClassName)) {
                        Java.classFactory.loader = loader;
                        var SecurityNative = Java.classFactory.use(ClassName);
                        SecurityNative.encode.implementation = function (str1, str2{
                            var result = this.encode(str1, str2);
                            console.log('str1->' + str1)
                            console.log('str2->' + str2)
                            console.log('result->' + result)
                            return result;
                        }
                    }
                } catch (e) { }
            },
            "onComplete"function ({
            }
        });
    });
}

没问题 能hook到类 并且也证明了前面的分析是对的

根据前面找到的类对应文件 去手机里面对应的文件夹一个一个找

虽然出现的东西很多 但总出现了一个方向

最后找到com.xxx.security.SecurityNativelibraries_feature-master.apk出现

最终调用的是Native方法 而对应的so在相应的文件夹里同样能找到

大姐姐进入到SO 能直接在导出表搜索到是静态注册

进到encode看伪代码可以知道 主要的还是在mg_encode方法里

进去后看不出是什么算法 有可能是我太菜了 不过代码量不多 完全可以直接复制粘贴

留给大家自己还原吧 祝大家情人节快乐 我要去浪了

感谢各位大佬观看
感谢大佬们的文章分享
 如有错误 还请海涵
共同进步 带带弟弟

点赞 在看 分享是你对我最大的支持
逆向lin狗

文章来源: http://mp.weixin.qq.com/s?__biz=MzUxMjU3ODc1MA==&mid=2247485844&idx=1&sn=0ebddc437bb2e7bbedf974b58bcb8a44&chksm=f9630c45ce148553d51d6c19c68b48d7f87f77ff17b2460b829045fcea8d51338486e2a90f58#rd
如有侵权请联系:admin#unsafe.sh