声明:本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!
网站 :aHR0cHM6Ly9mbGlnaHQucXVuYXIuY29tLw==
1,首先 定位去哪网 获取航班数据的接口: aHR0cHM6Ly9mbGlnaHQucXVuYXIuY29tL3RvdWNoL2FwaS9kb21lc3RpYy93YmRmbGlnaHRsaXN0
2,根据经验 以下标红的 参数需要 解密
3,经过分析,最好先解决__m__(Bella参数需要用到__m__), 老规矩开发者工里面搜索__m__
4, 很容易定位到位置 打上断点 重新点击搜索 或者刷新页面
跟进来以后是下面这样子
持续进行调试,发现会去获取QN48和QN668这两个cookie,用作__m__参数加密的明文
encryptFunction内部有个列表,列表包含两个加密函数 ,当上图 r 的值是0时 使用第一个加密方法, r =1 时使用第二个加密方法
继续调试
5 最后发现__m__ 就是通过获取Cookie 中的QN48和QN668 , QN668经过计算变成一个类似时间戳的一串数字 然后把QN48+这个假的时间戳 进行SHA1 >> MD5 >> MD5, 或者 MD5 >> SHA1 >> MD5
剩下的工作就是扣代码了,本人认为用python纯还原更简单,以下是用python还原后的算法以及效果
有些新同学不太会调试的,有强烈学习想法的,可以私信给我
下一篇文章我们再分析 Bella参数是如何加密的