抽空写个吧,,,
这里讲的是 美团美食和大众点评
至于外卖。
我之前写过文章。。
不再细说。。
某团外卖H5版本X-FOR-WITH参数JS逆向过程 ps:文章已进行更改
- 先从美团开始。
美团美食是一个_token字段。
这个加密,其实满大街都是。。。
百度一下就出来了。
这里就不说加密了。
就是base64 + zip压缩。
这里就说下里面的一些坑。。
如果加密的是纯字符串,,这里要注意一下引号问题,
因为在浏览器中。。
他们是这样传值的。
""我是符号""
当你用python打印这个的时候,会报错。
因为不能同时用两个双引号。
这里就不讲解python知识了。。
python打印出来会是这样。
"我是符号"
然后你拿着去加密的时候懵逼了。
如果加密的是字典类型。
一定要json.dumps
但是你还是发现,加密结果不对劲,
因为json.dumps 后。。
你的字典会被格式化。。
就是代码规则 变成了这样。
{'params':1} ==> {'params': 1}
有啥区别???
自己慢慢看。。
加密的字符里面有两个 时间戳
分别是
ts
cts
。这个是美团系列必不可少的两个参数。。。
美团的加密中,,,基本上都有这两个参数。
但是呢,,坑在这里。
当你设置时间戳的时候。。
你把两个值都等于同一时间戳,,
然后发现,,结果出不来。。。
然后你就抓狂,,特么,什么都一样啊。。为啥没有数据。
cts 的时间戳 必须小于 ts 的时间戳。
。。。。。。。。。。。。。。。。。。
开始
大众点评。
这里我搞的是m端的点评。
然后看包。
然后一想,,,会不会和美团一样是bse64 + zip。
别做梦了。。
根据xhr调试。。。发现加密位置。
当我看到。Rohr_Opt 的时候。。。
卧槽。。不会是美团滑块吧。
当我进入函数里。。
切。
映入眼帘的混淆。
嘿。
直接ast一波。。
ast?????
你瞅瞅,,丧心病狂啊。
赤裸裸的。。。。。。涩情!!!!
这还用讲吗?????
这里面校验了大量的window环境。。
不过只是校验,,,
只是校验,,
是校验
校验
验
这里不废话了。。
说下最简单的思路。。。
暴力搞定。
这些函数。里面校验了大量的window环境。
但是。。。。。。。
返回的结果都是固定的。
这。。。
然后push进一个变量里面。
然后。。。。
除了 ts cts 。。。。其他写死就行。。。。
然后直接调用加密函数去加密即可、、
丝毫不用管它是aes rsa 还是 HMAC
也丝毫不用管他校验了多少东西。。
这里我们看我的结果。
哦嚯嚯。。
本文分享自 python爬虫与js逆向 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!