JS逆向-PDD商家后台-手机号

前言

该手机号加密方法主要为 webpack打包

一共有四种方法

根据返回参数解析
请添加图片描述请添加图片描述

返回值为加密字段

在网页中经过处理后呈现正常值

解析

请添加图片描述

加密主函数 根据response中的返回值判断使用那个解密函数

在这里插入图片描述

将代码折叠可以看到 解密函数都在t.a上方

在这里插入图片描述

可以直接复制下来

四个方法中 CSO都很简单

 function(e, t, n) {
        if ((t -= (e += "").length) <= 0)
            return e;
        n || 0 === n || (n = " ");
        if (" " === (n += "") && t < 10)
            return r[t] + e;
        var o = "";
        for (; 1 & t && (o += n),
        t >>= 1; )
            n += n;
        return o + e
    }
    ;
    var r = ["", " ", "  ", "   ", "    ", "     ", "      ", "       ", "        ", "         "]
	

只需要补一下s函数 r.a 函数即可

在这里插入图片描述

这两个地方补一下即可

函数E

E函数比较麻烦

流程主要就是

将secret切割生成两个字符串 转化成两个四位数组

在这里插入图片描述

然后处理t

进入decrypt 一路点

在这里插入图片描述

t = this._parse(t, r.format) 会返回一个对象 里面包含加密字符串生成的一个带负值的四位数组

在这里插入图片描述

进入到这里后 在 createDecryptor 中一路点点点 进入到doReset

请添加图片描述

请添加图片描述

_invKeySchedule 这里最重要的是这个值 是根据 之前生成的第一个数组生成的 后面解密时会用到

之后开始 finalize 一路点点点

请添加图片描述

进入到这里 会将带负值的数组使用前面的_invKeySchedule 转换为正值的数组

请添加图片描述

经过这两个函数后 生成一个新的数组
请添加图片描述

然后调用一个 t 函数

请添加图片描述

此时 第二个数组就是_iv

经过t函数。生成一个新的数组

请添加图片描述

最后将这个数组只用最开始的l.a函数中的stringify 转换为手机号码

了解了一下 原来这个就是AES加密
误打误撞也算详细了解了一下加密流程
抖音web端滑块也是基于AES 我是看到两个加密的流程如此像才知道的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值