快手__nsTokensig和sig签名算法分析

一、__nstokensig签名

最近在学习android逆向,不足之处欢迎大佬多多指点。
这次分析的是快手极速版1.2.2.8,使用Fiddler抓包发现有2个签名,一个是__nstokensig和sig。

通过jadx-gui搜索字符串找到nstokensig算法,只在java层
第一层第二层

这里我就不继续往下跟e.a了,实际上他就是判断编码的操作。通过上面第一层发现,是传递str和str2进行签名,接下来我们hook一下他的传参数据。
在这里插入图片描述
通过xposed hook观测得知,str是sig签名结果,str2是kuaishou.api_client_salt,也就是在快手登录之后返回的一个值,这个值后续包是抓不到的。只有登录的时候才有。

得到传参后,我们回到刚刚的第二层,发现他先用 sha-256 计算之后,还调用了d.a(),我们跟进去看即可拿到java层算法,直接抠出来即可。
在这里插入图片描述

以下就是扣好的nstokensig签名

// An highlighted block
   public String getNsTokenSig(String sig,String token) throws NoSuchAlgorithmException {
   
        String str2 = sig+token;
        return new String(b(MessageDigest.getInstance("SHA-256").digest(str2.getBytes())));
    }

    private static char[] b(byte
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值