首页
社区
课程
招聘
[原创]SO层逆向,某狗音乐登陆算法分析
2022-4-6 10:02 17383

[原创]SO层逆向,某狗音乐登陆算法分析

2022-4-6 10:02
17383

抓包分析:

首先抓包看下参数情况
抓包
可以看到这里 未知的 参数有4个

 

P2 t1 t2 和key


Java层逆向:

我们先hook一下有没有java层通用的加密算法
java
可以看到在登录调用的过程中触发了一些加密算法

 

我们搜索一下登录包的未知参数

 

看到我们有没有想要的
java
定位到了key参数,发现是MD5加密

 

参数为:

 

3116LnT6xpN3khm36zse0QzvmgTZ3waWdRSA104901648962363521

 

接着我们连续调用几次

 


3116LnT6xpN3khm36zse0QzvmgTZ3waWdRSA104901648956720446

 

可以发现前面的参数是不变的 只有后面的一段数字是变化的

 

在登录包我们可以发现 这一段是clienttime_ms
java
即时间戳

 

剩下的p2 t1 t2 没有hook到对应生成的地方,这里猜测可能是native层实现的加密

 

通过主动打印调用栈,找到登录包生成的地方
java

 

打开jadx反编译APK 找到对应的类对应的a方法:
java

 

跟踪进去:
java
可以看到我们已经定位到了 登录包参数构造的地方

 

我们先按照登录包参数的顺序依次分析,p2参数来自这里 java

 

传入了一个hashmap 参数有两个

 

clienttime_ms跟pwd

 

跟进生成pwd的a方法中
java
可以看到传入了一个字符串,然后进行md5加密,这里就是传入的密码进行md5加密

 

然后我们跟进.getEncryptText方法中

 

看到setRSAkey方法 猜测这个过程可能跟RSA加密有关

 

继续跟进
java

 

i方法里面传入 j方法生成的对象

 

j方法传入hashmap 遍历生成 arrayList
java

 

再次跟进去可以发现 _i是native 方法
java

 

我们用objection hook一下这个方法看看返回值是不是p2

 

java
可以发现生成是参数是一致的,至此_i方法为p2参数生成的地方

 

_i方法是非静态函数,我们找到他的对应的so可以采用hook RegisterNatives找到函数注册的地方
java
java
找到对应的so为libj.so 偏移地址为0x371c5

 

打开IDA进入该地址0x371c5
java

 

可以看到最终返回值v5是从v4来的 而v4是从上面来的 但是上面没有看到对应参数赋值的地方。


unidbg黑盒调用

构造pair类 ,因为Java中没有Android的pair
unidbg

 

构造需要返回的list对象给native函数调用
unidbg

Unidbg调用:

unidbg
开始补环境
unidbg
unidbg
unidbg unidbg

 

继续调用
unidbg

 

Unidbg模拟算法复现成功


IDA算法分析

IDA
首先是H2函数,进到里面查看
IDA
里面估计是构造json对象
IDA
再进到f10里面
IDA
看到字符串append 估计是对json字符串的构造
IDA
进入f1
IDA
进入f13
IDA
进入f1
IDA

 

发现已经定位到RSA加密的地方了,验证了我们的猜想。

 

HOOK对应的函数:

 

PUBKEY:
IDA

 

加密参数:
IDA

 

IDA
最终在h12中对密文做hex编码处理

总结

总结: 由于篇幅问题这里只对P2参数做了分析,秘钥具体生成的过程也没有放出来,分析过程大同小异。

 

本文首发于公众号:秋田犬和短尾猫


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2022-4-6 10:05 被_Miracles_编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (3)
雪    币: 321
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_nu无情 2022-4-6 11:09
2
0
贴图中的PUBKEY并不是最终的公钥
雪    币: 1472
活跃值: (1180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
a峰 2022-5-6 14:18
3
0
该版本是多少啊
雪    币: 736
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
azesummer 2022-5-11 23:33
4
0
您好,大佬能加个联系方式吗,想请教一些问题,感谢
游客
登录 | 注册 方可回帖
返回