likes
comments
collection
share

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

作者站长头像
站长
· 阅读数 19

声明:本文仅供学习交流用途,切勿用于非法行为,否则由此产生的一切后果均与作者本人无关。未经授权禁止转载本文。如有侵权,请及时通过本人公众号「逆向扬」联系删除。

0x1 开始之前

本文我们将分析某联合伙人的登录接口的加密参数,该 APP 的登录接口参数加密比较简单,可以作为 APP 逆向的入门案例。

注意:抓包工具我用的是 fiddler,安卓高版本(7.0+)手机需要将 fiddler 的证书刷入到手机的系统证书中才能抓到该 APP 的 HTTPS 包。关于如何将 fiddler 证书刷入手机系统证书,大家可以参考我之前的博客,或者私信我交流。

目标接口地址:L2FwcC9hcGkvdjEvcGFydG5lckxvZ2luL2xvZ2lu

该 APP 的 apk 可以从豌豆荚获取 ,地址:aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzgwNTEyNzY=

本文使用的是该 APP 的 1.4 版本。

0x2 抓包分析

在 app 登录页面输入手机号和密码,点击登录,可以抓到对应的登录请求包,其中我们需要分析的加密参数是以下几个:

  • X-Sign
  • password

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

下面我们对这两个参数进行定位分析。

0x3 参数定位和分析

我们将 apk 包进行解压,并用 jadx 反编译工具打开:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

在这个案例中,我们主要使用 jadx 的文本搜索功能来定位参数加密位置:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

3.1 X-Sign

全局文本搜索X-Sign

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

点击进入查找到的代码位置:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

可以看到 X-Sign 的加密位置其实在这边:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

其中 this.noncestr 是写死的。this.token 就对应了请求包中的 X-Token 参数,为空。

this.reqTime 的值由下面的规则生成:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

X-Sign 参数很简单,这就分析完了。

3.2 password

password 参数加密位置的定位我们选择直接搜索接口路径的方式:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

跳到代码对应位置以后,可以看到这个接口路径对应了 submitLogin 这个方法,因此继续全局文本搜索 submitLogin

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

最后可以看到,其实就是一个 md5 加密:

逆向万例|No.00004【APP 篇】某联合伙人登录接口加密参数分析

到这里,password 参数就分析完了。

0x4 “呀,应用发生错误了”

今天早上(2023-04-05)起来,打算写一篇博客记录一下这个 app 的加密参数分析过程,但是一打开 app,就看到了一个弹框报错:“呀,应用发生错误了”。

当时很懵逼,因为之前都是好好的,想要知道原因。于是想有没有什么办法可以看到 APP 的运行日志,在网上搜了一下,翻到这篇博客提供的方法挺好的。

最后翻运行日志,看到是报错是 ssl 握手异常,出错的原因要么是在客户端(也就是我手机),要么是这个 app 的服务器那边。让群里的大佬试了一下他那边用这个 app 会不会也报这个错误,结果他那也是一样的问题,因此判断大概率是这个 app 的服务器那边的问题了。

在这里记录一下遇到的这个问题,大家如果也遇上了,给大家提供点小小的帮助:-)

最后

本文主要讲解了一个入门级的安卓 app 逆向案例,整体比较简单,希望对大家有帮助,如果过程中有什么疑问大家可以随时在评论区留言,或者私信我交流。如果觉得我写得还不错的话,可以点赞支持!

我们下一篇再见!

转载自:https://juejin.cn/post/7218347355505541178
评论
请登录