[逆向]某校园跑软件签名算法分析 | 祭夜博客
  • 欢迎光临,这个博客颜色有点多

[逆向]某校园跑软件签名算法分析

Android msojocs 3年前 (2021-10-13) 2034次浏览 已收录 1个评论 扫描二维码
文章目录[隐藏]

前言

同学在群中分享某虚拟定位轻松跑步法。

作为旁观者,萌生出模拟请求进行数据伪造来完成任务(老操作了,像骨灰盒自动参加赠楼这种)

 

某校园跑软件

其实要求还算可以,极限情况:50天、每天1公里5分钟;就是不太好坚持

[逆向]某校园跑软件签名算法分析

 

分析思路

  1. 抓包,看请求是否有签名,没有就去第4步
  2. 检测安装包是否有壳,无壳就去第4步
  3. 脱壳
  4. 分析代码
  5. 伪造请求
  6. 等待正义的审判 #(受虐滑稽)

一、先抓包(非重点,不过多赘述)

token 理论上是用户标识

appkey 肯定大部分时间为定值

sign MD5签名

[逆向]某校园跑软件签名算法分析

 

二、查壳

360加固,一般 #(cos滑稽)

[逆向]某校园跑软件签名算法分析

三、脱壳

这里使用这个工具:

CodingGay/BlackDex: BlackDex is an Android unpack(dexdump) tool, it supports Android 5.0~12 and need not rely to any environment. BlackDex can run on any Android mobile phone or emulator, you can unpack APK File in several seconds. (github.com)

下载32位版本安装包(因为,目标APP是32位的)

顺便记下包名com.tanma.unirun

[逆向]某校园跑软件签名算法分析

单击目标应用,开始脱壳

[逆向]某校园跑软件签名算法分析

四、分析目标“源码”位置

打开脱壳后的dex文件所在目录,

使用MT管理器 的 dex编辑器++ 打开

搜索字符串 sign

[逆向]某校园跑软件签名算法分析

只看目标应用的包

[逆向]某校园跑软件签名算法分析

看包名:

  1. entities 实体包,排除
  2. enums  枚举包,排除
  3. network.settings 网络设置包 且类名”MyInterceptor”与拦截相关, 大概率符合条件

初步查看源码,在请求头中添加sign,肯定是这里了

接下来,使用电脑进行具体签名流程分析了
[逆向]某校园跑软件签名算法分析

五、分析代码逻辑

分析请看注释

 

五、逻辑总结(经过验证)

  1. 将请求参数正序排序
  2. 将请求参数按 参数名1参数值1参数名2参数值2....  拼接
  3. 追加appkey, 追加appsecret
  4. 追加请求体
  5. 删除部分字符
  6. 计算MD5

 


祭夜の咖啡馆 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[逆向]某校园跑软件签名算法分析
喜欢 (191)
[1690127128@qq.com]
分享 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 转载了!
    半粒糖博客2021-11-30 10:30 Windows 10 | Chrome 94.0.4606.81