当前位置: 首页 > news >正文

22-webpack案例:36kr

本文我们做一个webpack案例,学习网站:webpack:36kr

定位加密位置

这里我们逆向的是登录接口,先找到登陆页面,然后选择账号密码登录,然后抓到数据包,通过xhr断点断下来:

入参中有我们的加密参数及密文,那我们往上跟栈,先看最后一个栈:

没有的话就先往后面的栈找,二分找:

这里网上找肯定是有线索的,因为最后执行的那一个栈有密文啊,这里算是个人总结的小技巧,往后面的栈(后执行的栈)跟,发现这里有加密参数:

入参加密那就往前面栈跟:

入参还有继续向前,然后跟了一辈子发现:

竟然藏在这个函数内部,因为这个函数有password(加密参数)赋值操作引起注意,这种一定要看一下,找到加密位置就打上断点,重新触发然后分析代码吧:

内部参数是明文,看看经过函数之后变成什么:

次次不同,这里就是加密位置了,进函数分析:

这里我们不进行确定了,直接扣核心代码

扣代码+补环境

扣完再根据报错来补就行:

进n函数给n函数扣下进来:

再补c:

一看c吓一跳,几千个函数,这一个一个补直接炸缸,小逝,这里有这个:

再看一眼这个js文件的整体逻辑:

再结合我们刚看到的标志,这里就是一个webpack加载器,而且是模块单独打包的webpack,咱直接把这个文件全复制下来,将之前的n函数覆盖掉,n就是webpack加载器,已经在我们复制的代码里面了,之后代码大体就是这样:

运行一下:

报错window不存在,js代码一般会有环境监测,不在浏览器的话没办法运行,node的环境与浏览器有些区别但是区别不大,咱可以写一句这样的代码:

将window赋值为node中的环境,再运行:

n函数又没了,刚复制的整段代码不补的有么?ok,这就是作用域的问题了,n函数再自执行函数的内部而调用在外部,这时候我们就要再全局写一个变量来赋值成n,将函数拿到全局,具体过程:

1.设置全局变量

2.赋值并更改函数名

再运行:

这个报错是因为没有模块给其调用,咱扣的核心代码中有:

需要431模块,但我们怎么去找呢,之前我们说过自执行函数的形参中有所有的模块,这里的形参是e,ok,那你看看这里有个什么:

这里的n.m里面存的其实就是所有的模块,我们可以通过n.m[xxx]的的方式在控制台定位函数:

接下来给他拿过来放进自执行函数的后面括号中作为模块,这里我们用类似py中的字典取值那种来调用:

接着运行补上i(密钥)和要加密的数据即可加密了:

补充

这个案例拿出来一个模块就成了,那我们要是需要多个模块怎么办,我们根本不知道缺了哪个模块,这时候就在这里加上这样一行代码:

这样就知道缺什么模块了

还有就是这里的a方法调用可以注释掉,a方法是函数webpack的入口,我们其实不需要:

这个无所谓

小结

本文到此就结束了,webpack主要流程再总结一下吧:
  • 先判断是不是webpack(判断方法:将核心代码拿下来运行,当报错的函数进去之后看到这一行代码:return e[t].call(a.exports, a, a.exports, n)那就是webpack)
  • 进去的函数就是加载器的位置,将整个文件复制粘贴下来(可以将webpack入口注释掉)
  • 写一个外部变量将加载器导出到全局,然后替换核心代码的那个函数
  • 写上需要的模块那行代码,查看缺少的模块,定位到后复制粘贴
  • 再执行代码按报错补环境

本文若有什么问题,及时提出,交流学习,加油加油

http://www.dtcms.com/a/586271.html

相关文章:

  • PCB批量处理命令
  • 网站建设 制作教程 pdf在山东和网页有关的公司
  • Go 语言接口
  • wordpress网站如何迁移电商网站建设课程
  • Keil编译出现:Missing Compiler Version 5
  • 十大免费网站推广平台有哪些创意设计素材
  • 为什么网站浏览不是做的那样农村自建房设计图软件
  • 如何设计一份精美到ppt
  • 网站如何做ssl认证计算机网站建设是什么
  • MySQL——数据库基础
  • 配置flutter鸿蒙的环境和创建并运行第一个flutter鸿蒙项目【精心制作】
  • UE核心架构概念
  • 叙述一个网站的建设过程免费网站建设绑定域名
  • 模型理解与可解释性图表案例解读之SHAP 瀑布图(Waterfall Plot)
  • 网站建设在哪个会计科目核算游戏币网站建设成本
  • 地方招聘网站如何做推广温州市城市建设档案馆网站
  • Robotiq 2F-85/2F-140夹爪:为具身智能科研搭建物理交互核心硬件支撑
  • 关于MMDetection综述
  • 免费的工程网站Wordpress建站安装教程图解
  • 厦门行业网站建设开发公司支付前期物业开办费包括哪些内容
  • 深圳网站建设招聘网络营销推广方案策划书
  • MATLAB实现TCN神经网络数值预测
  • 衡水网站制作公司哪家专业珠海新闻
  • Linux30 网络编程TCP流程
  • 多线程——volatile 关键字 wait 和 notify
  • 江苏网站建设南通西宁 专业网站建设
  • Python:np.clip(z, -250, 250) 的功能解释
  • 从零开始打造 Laravel 扩展包:开发、测试到发布完整指南
  • 网站建设文案中国建设银行官网app
  • 网站备案 怎么加做外贸网站流程图