目标站点:aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw=
1、翻页抓包请求
请求: 加密

响应加密

2、简单分析
sm2、sm4加密方式 ,是国产加密,原理暂时不详,既然用js可以加密还原,救可以抠出来
3、定位参数
特征参数1、signData

观察整体
webpack
打包的代码入口位置在这

4、断点调试
4.1首先定位在,e.data和参数的重合度很高
e.data.data是翻页参数


4.2向上定位发现headers中是有参数的,

这里展现一波硬刚的本事
定位50151行 t是sha256加密的初始化



抠出来后运行肯定会缺少代码,报错。查看缺少模块,继续寻找,向下看,给这个函数添加方法,全补出来,运行缺少参数,继续补

补完最后的样子

上边的时间戳比较简单了

接下来就是正常的调试过程了(提醒:webpack每个函数对外暴露模块,初始化的逻辑一般会在界面刷新的时候加载完,所以如果现在点进去,断点断不住)
p
函数,如果把p抠出来运行,会发现在下边两个地方会报错

o.doSignature、e.from
向上找,在此次作用域内 o是什么、e是什么?
这里找到o 、a, 如果在这里打断点,发现根本断不住,因为上边已经加载过的,要想断住找逻辑,必须刷新界面。

守规矩的在这里打断点

点进去 到16666行

观察函数v在的字典函数体,
doSignature
是这个函数体的一个方法
老方法来了:
找入口,如下图中逻辑

缺少哪个key值对应的函数就扣哪个补在下边的字典中。
注意

图中的加载可能不涉及到函数的运行,需要进行删掉,不能一直补,否则就是无底洞,加密的过程中用不了太多的函数。解密逻辑很简单,加密出来,解密不难。最后成功通车。

源码:https://www.aliyundrive.com/s/1MQUNn2xZZB
兄弟们 点个赞 蟹蟹
网友评论