某App逆向分析,破解提交参数

最近在学app逆向,记录一下破解过程。

环境:

模拟器,eclipse,httpcanary,jeb

一、先配置好模拟器环境,打开抓包软件分析参数

软件有模拟器检测,我们先用jeb分析一下
模拟器检测

搜索“模拟器”找到相应代码
在这里插入图片描述

我们这里直接全部跳转到正确位置即可
在这里插入图片描述

反编译dex找到位置修改后重打包安装 ,app就可以正常打开了!
在这里插入图片描述

下面打开httpcanary进行抓包,提交邀请码后抓到的包

在这里插入图片描述

这里可以看到,X-JSL-API-AUTH是加过密的,第一个应该是加密方式,第二个是时间戳,第三个不清楚,第四个应该是md5值
在这里插入图片描述
这个是text里面的数据,data是加过密的;

二、查看app代码,分析加密方法

X-JSL-API-AUTH分析过程

  1. 我先使用的是XposedHook所有常用加密方法,但是并没有找到,具体什么原因我也不清楚。

  2. 既然简单方法用不了,那就只能看代码了,先从X-JSL-API-AUTH入手,jeb搜索X-JSL-API-AUTH
    只搜出来一个地方在这里插入图片描述
    ,我们解析进去在这里插入图片描述
    很容易看出来X-JSL-API-AUTH这个值是箭头所指地方加密过来的。再点进去
    在这里插入图片描述
    v0是传进去的参数xxx.getPath()(这个是网址的后缀),v1是设置的固定密钥,v2是字符串“md5”,v3是时间戳,v4感觉是v3加密来的(点进去就发现v4就是v3的MD5),之后v4又被切割[0,8],刚好就是X-JSL-API-AUTH里的第三个参数,下面就进行字符串把v2,v3,v4,v0拼接中间用“|”号连了起来,返回时又进行了拼接,刚好是X-JSL-API-AUTH的模样,所以只需要分析a.a(v0)(这里就是v0的md5);到目前为止就只有固定密钥不知道。

  3. 能看到这个值的方法我知道的有三个 1.设置断点调试 2.smali代码输出 3.XposedHook输出,但是,这三个方法我都试过,前两个app改了之后就会进不去,第三个hook输出不了值。可能是代码写的不对,但是尝试了好久。

  4. 然后看到这个是调用so的,没怎么学,本想着放弃了,结果用ida一打开
    这个密钥就摆在眼前。在这里插入图片描述

  5. 既然知道密钥了那就验证一下在这里插入图片描述
    是正确的,下面就是分析这个text

text分析过程

  1. 如果jeb直接搜索“data”会出现很多值,但是v20200429也是text的值,于是我就搜索了他,结果就搜到一个值,这就很方便了
  2. 解析进去可以看见data是后面的那个方法来的,在这里插入图片描述在这里插入图片描述
    这里就是加密他的方法,这里的a.d和a.c是一个固定值在这里插入图片描述
    他就是一个AES/ECB加密,密码就是上面获取的固定密钥
  3. 我们去网站解密一下在这里插入图片描述
    解密成功!

三、构造请求

我用的是python

在这里插入图片描述

总结:

这次逆向大部分是靠运气来的,特别是这个密钥,不知道下次有没有这么好的运气了。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值