前提
对于爬虫,首先第一步是分析网页,获知需求数据的来源。在chrome浏览器打开生意参谋,通过使用fiddler或者charle抓包工具抓包,发现很多数据都是十六进制数据,这很明显是加密过的。

思路
既然数据是加密过的,那可以通过js逆向寻找到对应js文件,再找加密的代码段。
F12打开开发者工具,选择sources,按照下图路径找到vendors.js并打开,然后点击左下角{}进行格式化。

Ctrl+F打开底下的搜索框,输入c.setPublicKey即可定位到目标信息。下图,定位到的是AES加密密码和IV偏移量,说明使用了CBC模式的AES加密。再往下看,可以看到解密函数和加密函数。
通过函数可以看出加密思路:明文-->AES加密-->base64编码-->16进制编码-->16进制密文
而解密思路则是放过来:16进制密文--> 16进制编码-->base64编码-->AES加密-->明文
我们可以通过断点调试看看其解密过程:
找到解密关键代码行,在左侧对于行数点击一下,打个红点。然后在生意参谋页面操作一下,搜索或者点击,请求数据。
按F8进行逐步执行,当执行到断点处,可以在控制台输出一些变量看看。
输入e,得到十六进制密文:

输入r.enc.Base64.stringify(r.enc.Hex.parase(e))
密文经过十六进制编码和base64编码,变成base64编码密文:<

本文详细介绍如何通过分析生意参谋的网页数据,使用抓包工具和JavaScript逆向工程找到加密算法,进而解密十六进制编码的数据。文章涵盖从定位加密代码到利用Python实现解密的全过程。
最低0.47元/天 解锁文章
722

被折叠的 条评论
为什么被折叠?



