声明:本文仅供学习沟通用处,切勿用于非法行为,不然由此产生的一切后果均与作者自己无关。未经授权禁止转载本文。如有侵权,请及时经过自己公众号「逆向扬」联络删除。
0x1 开始之前
本文咱们将剖析某联合伙人的登录接口的加密参数,该 APP 的登录接口参数加密比较简单,能够作为 APP 逆向的入门事例。
注意:抓包工具我用的是 fiddler,安卓高版别(7.0+)手机需要将 fiddler 的证书刷入到手机的系统证书中才能抓到该 APP 的 HTTPS 包。关于如何将 fiddler 证书刷入手机系统证书,咱们能够参阅我之前的博客,或许私信我沟通。
目标接口地址:L2FwcC9hcGkvdjEvcGFydG5lckxvZ2luL2xvZ2lu
该 APP 的 apk 能够从豌豆荚获取 ,地址:aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzgwNTEyNzY=
本文运用的是该 APP 的 1.4 版别。
0x2 抓包剖析
在 app 登录页面输入手机号和密码,点击登录,能够抓到对应的登录恳求包,其间咱们需要剖析的加密参数是以下几个:
- X-Sign
- password
下面咱们对这两个参数进行定位剖析。
0x3 参数定位和剖析
咱们将 apk 包进行解压,并用 jadx 反编译工具打开:
在这个事例中,咱们首要运用 jadx 的文本查找功能来定位参数加密方位:
3.1 X-Sign
大局文本查找X-Sign
:
点击进入查找到的代码方位:
能够看到 X-Sign 的加密方位其实在这边:
其间 this.noncestr
是写死的。this.token
就对应了恳求包中的 X-Token
参数,为空。
this.reqTime
的值由下面的规矩生成:
X-Sign 参数很简单,这就剖析完了。
3.2 password
password
参数加密方位的定位咱们挑选直接查找接口途径的办法:
跳到代码对应方位今后,能够看到这个接口途径对应了 submitLogin
这个办法,因此继续大局文本查找 submitLogin
:
最终能够看到,其实便是一个 md5 加密:
到这里,password 参数就剖析完了。
0x4 “呀,使用发生错误了”
今天早上(2023-04-05)起来,计划写一篇博客记录一下这个 app 的加密参数剖析进程,但是一打开 app,就看到了一个弹框报错:“呀,使用发生错误了”。
其时很懵逼,因为之前都是好好的,想要知道原因。所以想有没有什么办法能够看到 APP 的运行日志,在网上搜了一下,翻到这篇博客提供的办法挺好的。
最终翻运行日志,看到是报错是 ssl 握手异常,出错的原因要么是在客户端(也便是我手机),要么是这个 app 的服务器那边。让群里的大佬试了一下他那边用这个 app 会不会也报这个错误,结果他那也是相同的问题,因此判断大概率是这个 app 的服务器那边的问题了。
在这里记录一下遇到的这个问题,咱们假如也遇上了,给咱们提供点小小的协助:-)
最终
本文首要讲解了一个入门级的安卓 app 逆向事例,整体比较简单,期望对咱们有协助,假如进程中有什么疑问咱们能够随时在谈论区留言,或许私信我沟通。假如觉得我写得还不错的话,能够点赞支撑!
咱们下一篇再会!