🔍 引言
空气质量在线监测分析平台采取了一系列加密和限制措施,主要是对于请求数据和响应数据的加密。今天利用Python与JavaScript逆向工程技术,实现逆向获取数据。
🔧 逆向步骤详解
1️⃣ 解决开发者工具禁用问题
首先,我们发现网站禁用了开发者调试功能,如F12、鼠标右键等。我们使用hook注入的方法绕过这些限制,成功打开开发者工具进行调试。
2️⃣ 抓包分析
通过抓包工具,我们发现请求数据和响应数据都进行了加密处理。接下来,我们需要定位这些加密过程的代码位置。
3️⃣ 通过Ajax栈找到断点位置
在浏览器的开发者工具中,我们通过Ajax请求栈找到了断点位置,成功截获了加密请求。
4️⃣ 找到请求位置
进一步分析请求栈,我们找到了请求的具体位置,并确定了加密过程的起点。
5️⃣ 定位加密变量pKmSFk8
通过断点调试,我们发现了关键的加密变量pKmSFk8,这一步对于解密请求数据至关重要。
我们需要还原他的加密算法如BASE64加密。
6️⃣ 响应数据解密断点
在处理响应数据时,我们设置了断点,成功找到了解密响应数据的函数位置。
7️⃣ 找到解密函数
通过对响应数据解密断点的分析,我们找到了具体的解密函数,实现了对响应数据的解密。
8️⃣ 扣取JS代码
将关键的加密和解密JS代码扣取下来,确保能够在独立环境下复现其逻辑。
9️⃣ Python调用
最后,通过Python代码调用扣取的JS代码,实现数据的加解密,成功获取平台的数据。
数据获取成功。