目标站点:aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw=
1、翻页抓包请求
请求: 加密
图片.png
响应加密
图片.png
2、简单分析
sm2、sm4加密方式 ,是国产加密,原理暂时不详,既然用js可以加密还原,救可以抠出来
3、定位参数
特征参数1、signData
图片.png
观察整体
webpack
打包的代码入口位置在这
图片.png
4、断点调试
4.1首先定位在,e.data和参数的重合度很高
e.data.data是翻页参数
图片.png
图片.png
4.2向上定位发现headers中是有参数的,
图片.png
这里展现一波硬刚的本事
定位50151行 t是sha256加密的初始化
图片.png
图片.png
图片.png
抠出来后运行肯定会缺少代码,报错。查看缺少模块,继续寻找,向下看,给这个函数添加方法,全补出来,运行缺少参数,继续补
图片.png
补完最后的样子
图片.png
上边的时间戳比较简单了
图片.png
接下来就是正常的调试过程了(提醒:webpack每个函数对外暴露模块,初始化的逻辑一般会在界面刷新的时候加载完,所以如果现在点进去,断点断不住)
p
函数,如果把p抠出来运行,会发现在下边两个地方会报错
图片.png
o.doSignature、e.from
向上找,在此次作用域内 o是什么、e是什么?
这里找到o 、a, 如果在这里打断点,发现根本断不住,因为上边已经加载过的,要想断住找逻辑,必须刷新界面。
图片.png
守规矩的在这里打断点
图片.png
点进去 到16666行
图片.png
观察函数v在的字典函数体,
doSignature
是这个函数体的一个方法图片.png
老方法来了:
找入口,如下图中逻辑
图片.png
缺少哪个key值对应的函数就扣哪个补在下边的字典中。
注意
图片.png
图中的加载可能不涉及到函数的运行,需要进行删掉,不能一直补,否则就是无底洞,加密的过程中用不了太多的函数。解密逻辑很简单,加密出来,解密不难。最后成功通车。
图片.png
源码:https://www.aliyundrive.com/s/1MQUNn2xZZB
兄弟们 点个赞 蟹蟹