美团外卖H5版本爬虫开发和JS逆向过程(二)

前言

接上回写美团外卖H5爬虫的讲,上次写了三个参数中x-for-with和_token的生成。本以为UUID,就可以循着这个思路找到了,后来还是有小朋友问我怎么找UUID,这篇做个答疑吧。

本文主要介绍美团外卖H5页面UUID的生成算法逆向。没看过上篇文章的,点这里。(墙裂建议看完上一篇再看这一篇)

某团外卖H5版本爬虫开发和JS逆向过程

参数逆向UUID

先看看UUID长什么摸样。

一般找这种用户身份标识的ID,我们是应该先看前置的报文,是不是服务器返回的UUID,如果是(很多时候都是),就去模拟报文去服务器取一个合法的UUID,如果不是那就很可能是本地生成的。

我们今天这个是再我观察了来往报文发现不是网络通信传回来的,那我就开始再本地找找。

简单粗暴法

先最简单粗暴的办法,就是全局搜一下“-”的使用,看一下他如何拼接字符串。

什么?全局搜?全局搜是怎么搜?

这里需要一个小技巧。

先把该页面保存到本地,ctrl+s,保存到本地即可。

再选择所有的js文件,用notepad++打开

输入关键词全部文件搜索

过程截图如下:

可以看到,我用的关键词是"-",是带双引号的哦(想想原因?)。

搜索结果显示,两个文件中有涉及到这个关键字,我们大致浏览一下代码,发现应该是analytics.js这个文件,或者找到任何你觉得可疑的位置,回到页面的js打上断点,重新刷新页面。

断点找到这里就单步调试还原生成算法就好了,当然也可以把这个js抠出来python调用js执行也ok。

分析一下js源码大致是一些UA参数、分辨率参数等等,自己伪造传入的时候要跟自己包体带的信息一致,最好写手机参数信息哦。下面是我的算法还原函数,供参考。

上面的暴力方法是通过正向编程的经验推断过来的,但也不是次次都好使,下面简单说通常的办法。

顺藤摸瓜法

前期说明一下,我们仔细观察报文可以发现的是,uuid、_lxsdk_cuid、openh5_uuid、_lxsdk都是一致的,仔细看看cookie就知道了。那么我们找到任何一个的生成就可以了。

还是和上次一样的思路,我们先用xhr断点断下网络请求(不会的去看上一篇啊),查看堆栈。

会找到uuid是cookie里面取到的,那么我们就再找一下cookie的设置uuid的部分就好了。

这个和上一篇是一个思路,我就不一个个截图了。

tips

这部分要善用两个东西:

chrome的无痕窗口

页面缓存的删除

好了。自己试试吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值