本文说明:B站学习笔记整理,仅供学习参考~~
网站:https://jzsc.mohurd.gov.cn/data/company
1. 页面分析与解密
- 刷新浏览器之后,在【网络】-【预览】下非正常显示数据,在【发起请求】发现“Promise then”说明为异步加载,直接搜索“JSON.parse”以及接口中“webApi”进行参数定位
- 找到断点的地方,开始进行逆向js。
- 发现调用的函数中有可以借助
crypto-j
s 一个流行的JavaScript
库进行加密和解密。
安装crypto-js
:npm install crypto-js
注意:需要切换到当前运行程序文件夹下进行安装,因为Node.js 是按照项目的 node_modules 目录来查找模块的,不同项目的 node_modules 相互独立。 - 对
d.a
进行替换,并添加f
和m
参数
注意,当使用上面一个f参数时,会报错Error: Malformed UTF-8 data
正确的秘钥应该是f = CryptoJS.enc.Utf8.parse("Dt8j9wGw%6HbxfFn");
2. 最终运行结果展示
参考链接:https://blog.csdn.net/jiufu2022/article/details/135678873