frida学习案例2

这次的app是个电商的,叫X仓,还是先抓包:

1:抓包之后发现url是这样的结构:

http://api.beicang.com/gateway/route.html?client_info={"bd":"yingyongbao","abd":"01ba33ece","package":"xretail","os":"6.0.1","screen":"900x1440","dn":"MuMu","version":"3.10.01","platform":"Android","network":"WiFi","app_name":"xretail","model":"MuMu","udid":"50026ffcc913112"}&method=xretail.home.page.show&_abr_=01e64d9d2beecd0cc5d01e6237b2e7d9b42272934a5f0c1023&session=e4edbb581330df555f7043839c9d0&sign=945DD6E5520D36991859525A67F7B7CE&pageSize=20&page=1&categoryId=women_clothing&timestamp=1594626083

以上是转码之后的,多抓几次之后发现关键参数是_abr_和sign

2:上JDAX分析

首先是搜索"_abr_得出来这么个结果

那就是都指向了同一个类,跟进去观察

一个地方是判断是否为空,一个是赋值给它,那么重点观察赋值这一块的代码:

这下不错,直接连sign都在里面,更加证明我们定位的位置是对的。继续分析:

可以看到关键生成参数是这三个组成,我们先上frida分析程序来看看:

打印结果如下:

直接点击访问,都是可以拿到数据的:

所以这个地方绝壁就是最后返回url的地方,我们只需要返回去分析加密函数就好了。

先分析SecurityUtils.a(str2, Consts.b),打印观察一下是啥

多次打印发现,第一个是时间戳,第二个值固定没变。。。一直是Sce7vsMfgMORNA1o

再来就是Long.toHexString(c)).toLowerCase() 我们看看c是啥玩意

找到bd的c方法

继续打印观察

还是时间戳,但是经过了处理,除以1000

然后java.lang.Long.toHexString() 方法返回下列字符作为十六进制数字long参数以基数为16的无符号整数的字符串表示形式:0123456789abcdef,最后在.toLowerCase()转小写

这里基本abr分析完了,开始sign:

这里不能直接调用,我们来查找声明和用例看看

这样就找到它的声明,以及a方法的返回,这里传入的布尔类型,就和刚才看到的一样,我们继续跳到这个类下面,找到对应的方法

到这里就可以写观察函数了

可以观察到参数了,并且到这要分析之后改写成python也可以,或者直接启一个frida-rpc调用也行。

时间不早了,要下班了,有空再写个rpc调用试试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值