前言
对于我们搞爬虫的来说,随然说不必深入去了解 webpack 的知识点,在此我这里只介绍简单的跟爬虫逆向的相关的知识点和具体操作,但我们在逆向JS源码的时候能够从容应对。
正文
简单举个例子,这个网站
假如我现在需要写一个自动登录的脚本,首先得去看一下它的接口
去找一下电话号码和密码的加密位置,关键字搜索
在步入方法的过程中你会发现下面的代码
这个时候你就要注意了,这极大可能是 webpack 框架,如果我们需要用到 “n(32)”这个方法该怎么办。
- 首先在这个地方打上断点
- 刷新网页才能触发断点,点进方法
- 但你看到下图的代码格式的时候,百分之一百可以确定是webpack源码了
- 把这段代码所在的文件源码全都复制到本地编辑器
- 基本上代码都是这种自执行函数格式,这种是没有模块的情况,下图是有模块的情况
- 像没有模块的情况就需要补充,首先在代码中找到加载器的位置
- 加一段日志代码
- 再把这个“s”函数挂载到全局
- 在函数底部写下如下测试代码,目的是测试是否可以正常生成我们需要的值
- 出现以下报错就证明缺失了某个模块(32)
- 此时回到浏览器在报错的地方打上断点
- 重新刷新触发断点,在控制台输入“e[32]”查看我们需要补充的模块
- 把这个方法直接复制到源码中
- 补充完毕之后,控制台会吐出之后需要补充的模块
- 以此类推,直到代码不在报错,能够成功运行为止
补充点
代码末尾出现如下形式的代码段时,可以注释掉
这本质上是浏览器为了反爬写的环境监测代码,如果不注释掉会有很多冗余操作。
如有爬虫相关问题,可关注wx公众号“小恰学逆向”,我们一起讨论学习。