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

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 逆向事例,整体比较简单,期望对咱们有协助,假如进程中有什么疑问咱们能够随时在谈论区留言,或许私信我沟通。假如觉得我写得还不错的话,能够点赞支撑!

咱们下一篇再会!