MuMu模拟器Frida 逆向某颜色APP实战

admin 2024年7月4日16:18:53评论61 views字数 2381阅读7分56秒阅读模式

免责声明由于传播、利用本公众号SSP安全研究所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号SSP安全研究及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

Frida调试 APP

下载安装MUMU模拟器

安装包可后台回复 mumu 获取下载链接

将模拟器硬盘切换成 可写系统盘

MuMu模拟器Frida 逆向某颜色APP实战

开启root权限

MuMu模拟器Frida 逆向某颜色APP实战

开机后打开ADB调试

MuMu模拟器Frida 逆向某颜色APP实战

打开后会启动一个终端 代表已经打开 之后关闭即可

MuMu模拟器Frida 逆向某颜色APP实战

使用adb命令可以查看到 当前设备

MuMu模拟器Frida 逆向某颜色APP实战导出burpyakit证书到桌面
MuMu模拟器Frida 逆向某颜色APP实战

之后转换证书格式 并导入到模拟器的system证书文件夹下

#burpsuite

openssl x509 -inform DER-in burp.der-out burp.pem

hash=$(openssl x509 -inform PEM-subject_hash_old -in burp.pem| head -n 1)
# 将 pem 证书改成 hash + .0 的格式
new_hash="${hash}.0"
mv burp.pem"$new_hash"

# 将证书直接放到系统证书文件夹下
adb push "$new_hash"/system/etc/security/cacerts/

#yakit
hash=$(openssl x509 -inform PEM-subject_hash_old -in yakit.pem| head -n 1)
# 将 pem 证书改成 hash + .0 的格式
new_hash="${hash}.0"
mv yakit.pem"$new_hash"

# 将证书直接放到系统证书文件夹下
adb push "$new_hash"/system/etc/security/cacerts/

MuMu模拟器Frida 逆向某颜色APP实战

使用burp进行抓包测试

MuMu模拟器Frida 逆向某颜色APP实战

burp能抓到https包

MuMu模拟器Frida 逆向某颜色APP实战

接下来安装面具

HuskyDG/magisk-files (github.com)

MuMu模拟器Frida 逆向某颜色APP实战

将apk拖到模拟器中进行安装

之后打开app进行安装

MuMu模拟器Frida 逆向某颜色APP实战选择直接安装
MuMu模拟器Frida 逆向某颜色APP实战

安装完成后进行重启

MuMu模拟器Frida 逆向某颜色APP实战

开机后再打开面具 会报错

MuMu模拟器Frida 逆向某颜色APP实战

重启后需要再次打开adb

使用 root 权限删除之前冲突的 su 相关文件

adb connect 127.0.0.1:16385
adb shell
su
MuMu模拟器Frida 逆向某颜色APP实战
mv /system/xbin/su /system/xbin/su.bak
mv /system/app/SuperUser/system/app/SuperUser-Bak/

之后面具正常

MuMu模拟器Frida 逆向某颜色APP实战

frida测试

mac安装frida环境

pip3 install frida
pip3 install frida-tools
pip install Pyro4

Untitled Database

下载frida-server-16.3.3-android-arm64

上传到模拟器中

adb push frida-server-16.3.3-android-arm64 /data/local/tmp/
MuMu模拟器Frida 逆向某颜色APP实战

启动frida

adb shell
su
cd /data/local/tmp/
chmod +x frida-server-16.3.3-android-arm64
./frida-server-16.3.3-android-arm64
MuMu模拟器Frida 逆向某颜色APP实战

另起一个终端 查看模拟器进程

frida-ps -U
MuMu模拟器Frida 逆向某颜色APP实战

安装常用app

  • • termux
  • • Drony
  • • ProxyDroid

frida实战测试

对某颜色APP进行抓包 发现数据都是被加密了

MuMu模拟器Frida 逆向某颜色APP实战

使用frida进行调试 打印出调用栈信息

frida -U -f "cn.mciaa.yshxcp" -l hook-js/hook-js/打印调用栈/HashMap_Hook.js

根据调用栈信息找到加密函数

MuMu模拟器Frida 逆向某颜色APP实战

使用jadx-gui进行反编译 找到Java文件 ApiEncryptUtil.java

可以看到是AES加密函数 和 解密函数

MuMu模拟器Frida 逆向某颜色APP实战

编写hook脚本

调用解密函数a

MuMu模拟器Frida 逆向某颜色APP实战
Java.perform(function(){
var targetClass =Java.use('c.h.a.l.r');
    targetClass.a.implementation=function(str){
console.log("Original argument: "+ str);

var result =this.a(str);

console.log('Original result: '+ result);

return result;
}

});

之后载入hook脚本 发现数据已经解密

frida -U -f "cn.mciaa.yshxcp" -l decode.js
MuMu模拟器Frida 逆向某颜色APP实战

但是这样看非常费劲 且不能对数据包进行测试

下面使用BurpSuite插件Brida对数据包进行加解密

配置好Brida

MuMu模拟器Frida 逆向某颜色APP实战

点击 Load JS file加载hook的js脚本

MuMu模拟器Frida 逆向某颜色APP实战

按照Brida脚本编写规则进行编写hook函数

decode:function(str){
var ret;
Java.perform(function(){
var clazz =Java.use("c.h.a.l.r");
            ret = clazz.a(str);
});

return ret;

},

encode:function(str){
var ret;
Java.perform(function(){
var clazz =Java.use("c.h.a.l.r");
ret = clazz.b(str);
});

return ret;

},

对编写的函数进行测试

先点击Spawn application

之后把加密数据放进去点击Run export 即可看到解密后的数据

MuMu模拟器Frida 逆向某颜色APP实战

加密函数测试正常

MuMu模拟器Frida 逆向某颜色APP实战

加入右键

MuMu模拟器Frida 逆向某颜色APP实战
MuMu模拟器Frida 逆向某颜色APP实战
MuMu模拟器Frida 逆向某颜色APP实战

这样测试就方便多了

 

原文始发于微信公众号(SSP安全研究):MuMu模拟器Frida 逆向某颜色APP实战

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日16:18:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MuMu模拟器Frida 逆向某颜色APP实战http://cn-sec.com/archives/2919029.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息