记一次某乐兔APP算法分析过程

本文章只做记录,不放样本APP,如有侵权,请联系我删除!

 

在安装样本APP后,发现在测试真机上打开卡死(有root权限)在安卓模拟器打开闪退,导致无法抓取数据包。但算法分析的首要目标是得到目标字段。

一开始的想法是hook掉检测的方法(有点废时间),但当解压apk后发现此样本有未知名加固,通过观察几个文件发现是uniapp打包。

众所周知,uniapp的应用直接找安装包下一个server的js文件即直接拿到正解,但当我把app解压导入vscode后竟发现此样本没有这个js文件,好吧看来这个app安全工作做的很到位。

既然是uniapp那他的运行方式必然是通过webview,那就直接从webview下手。

进入正题

1.手机开启开发者模式和USB调试连接电脑

2.通过adb查看下电脑是否能识别到

3.手机打开app,电脑浏览器进入调试页等待几秒,顺利调试到目标app

 

 

 开始分析步骤

1.先手动登录一遍拿到登录数据包

 

通过观察发现有个api-token字段的数据验证

直接点开这个请求的执行栈

 

2.可以发现主要方法在index里面,那直接走index

 看到这头皮发麻......

 

分析流程

虽然这混淆不堪入目,但细看一下发现只是看着乱

直接走重点

先对引号内看不懂的HEX串转成我们能看懂的字符串,直接复制全部,粘贴到乐易助手的字符串转换里面解码,得到如下图:

 

此时已经能看到数据字符串,直接搜索上面我们需要的算法字段 api_token

 

发现能搜索到12处,这就好办了,直接在调试页面将这12处下断点。

再次输入账号密码登录,发现在此处触发了执行,所以重点就在这里了。

 

 单独复制出这段代码,在控制台运行

得到结果与动态调试结果一致

 那剩下的就是将这句代码拆开分别执行拿到最终算法。

最后得到此APP的js算法为md5嵌套sha256

此样本APP对APP本身做了很多安全加固,却漏掉了最关键的部分...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值