某app逆向Xposed+Sekiro+RPC调用分析
2022-12-6 16:50:17 Author: 逆向客栈(查看原文) 阅读量:214 收藏

抓包发现每个请求都有这个参数

打开app直接hook下java层的加解密,frida hook也行,xposed这里推荐使用军哥的算法助手插件很好用,没有定位到,猜测应该魔改或者native加密的,打开app发现有某加密的壳,使用frida dump下,还不行 函数都被抽取了,无奈只能刷rom上fart8了脱了,然后修复填充函数

https://pan.baidu.com/s/1z3g_qcX_1lCEdEIwmi-ISA提取码:ncnl

脱完壳后,最终定位到

采用webview加载的本地js, 我们打开直接调试webview,在chrome浏览器输入chrome://inspect 连接usb,最终定位到

通过调用,可以看出魔改了open函数,每次调用open函数的时候,添加了加密参数

控制台输入下r.open,进入到函数

发现采用了OB混淆,直接使用蔡老板星球里的的AST一键还原

最终定位到函数

这里采用的是js和安卓的交互,这个nvdhiuherosdjf方法直接app里搜就行了,在grep -rli  *.dex搜索就行,定位到

壳没有脱干净,函数都被抽取了,看不到具体的逻辑,当然引用也搜不到,我们直接在同样的类里看到导入的native函数,直接trace下所有的类方法,

最终发现调用了_82b0026addb080b978ce8afef65c475f13这个函数,找到加载so的地方libmsec.so

这个so文件也有壳并且全部都是混淆,后期起来难度比较大,为了节省时间,直接采用这个rpc调用nvdhiuherosdjf这个函数,因这个app检测比较多,frida,xpose注入检测就闪退,用魔改的frida非标准的端口attach可以正常hook,这里采用了xposed的rpc 因为比较稳定,在查找classloader费了不少功夫,因为带壳的直接hook带壳的attachBaseContext函数

检测注入,app直接闪退,看来不能hook这个,本来想这使用珍惜大佬推荐的内存漫游的方法直接调用函数,后来测试了下发现这个内存漫游只支持安卓9版本以上,只能放弃了,还是直接hook系统的函数拿到classloader,我不信它还给我闪退

一搬hook拿不到class因为还没有从内存解密dex,这个等到他加密成功后,我们在hook就可以了,我们保存下这个类对象,方便主动调用,使用维嘉大佬的sekiro项目

https://sekiro.virjar.com/sekiro-doc/01_user_manual/1.quick_start.html

打开文档,先部署服务端,下载打包好的项目,解压缩,运行项目

https://oss.iinti.cn/sekiro/sekiro-demo

在服务器运行起来

再看客户端代码,初始化sekiro

获取对象的时候调用sekiro初始化填入自己的公网ip,端口,然后注册个WGTHandle类,将对象传过去,其实自己new一个对象也行,但是我测试了,缺少参数,还是直接传过来吧,方便省事,

写好了代码,直接调用下接口

稳稳当当,以前都是使用xposed+nano服务器+nps内网穿透环境比较繁琐,现在直接使用xposed+sekiro就搞定,只能说大佬牛逼!


文章仅供学习交流,请勿用于非法用途,如有侵犯到贵公司隐私或者利益,请联系我立马删除。


文章来源: http://mp.weixin.qq.com/s?__biz=MzUyOTkxNzkyNw==&mid=2247484040&idx=1&sn=619437208cf7aa5247e70fcb4b9c62fc&chksm=fa58f000cd2f7916c4539b3f68adb78cfa95f3c2278aaf1e873ef5246d1f06b46e6facaf9e98#rd
如有侵权请联系:admin#unsafe.sh