ast自动扣webpack脚本实战

webpack是什么

webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),通俗来讲,我的理解就是把你在加解密过程中要调用的模块打包成为一个JS文件,然后引入它,自动展现出你要引入的资源。可能我这里说的不是很清楚,可以推荐一篇文章:https://www.cnblogs.com/Eeyhan/p/10584014.html

在这里插入图片描述

前置阅读

本文章主要是讲述脚本的使用方式,而js的分析过程在本文中会省略。文章中实战的来源于下方网址,请先阅读下方网站中的分析过程,再尝试阅读本文,会更加清晰。

阅读地址:用3个实战案例带你理解webpack

webpack自动扣代码脚本

项目地址: 渔滒 / webpack_ast

使用命令行的方式

node webpack_mixer.txt -l runtime.62249a5.js -m app.597640f.js -o webout.js

参数说明:

-l 加载器的js路径

加载器的js特征:

1.以自执行函数开头

2.定义导出函数,类似 return e[n].call(r.exports, r, r.exports, d), r.l = !0, r.exports

3.为导出函数添加多个方法,类似d.e,d.m,d.n等等

-m 函数模块的js路径

函数模块的js特征:

1.一般以(window.webpackJsonp开头

-o 输入结果的js路径

备注:如果js本身有检测等,需要自行补头或者其他处理

实战内容

文章中的第一个网站是猿人学的webpack,因为这个不是一个常规的,所以这里不适用,直接从第二个开始

从文章中可以知道,加密的方法来自于home.min.js这个js文件,那么直接将这个文件下载下来,这个文件就是一个加载器

在这里插入图片描述

下载完成后,把脚本文件webpack_mixer.js放到同一目录,并执行

node webpack_mixer.js -l home.min.js -o webpack_out.js

可以得到webpack_out.js这个已经扣取完成的文件,自己在同目录创建一个test.js的测试文件,直接导入文件

在这里插入图片描述

可以正常获取到所有的导出函数

在这里插入图片描述

当调用加密的时候,缺少环境。那么直接导入jsdom

在这里插入图片描述
继续运行发现ASN1未定义,主要是因为浏览器和node环境不同导致的,在下面三个位置前面加上window来调用就可以

在这里插入图片描述

再次运行得到加密结果

在这里插入图片描述
继续来到第三个实战

根据文章中的分析,密码的加密调用到了login.5170f665.js这个文件,但是这个文件只是一个模块,还要找到它的加载器app.f24d08e9.js一起下载下来

node webpack_mixer.js -l app.f24d08e9.js -m login.5170f665.js -o webpack_out.js

尝试对密码进行加密

在这里插入图片描述

出现这个错误,那么一定就是还是缺少需要的模块,经过查找是缺少了chunk-vendors.bb13f90f.js这个模块,那么继续下载这个模块放到一起

node webpack_mixer.js -l app.f24d08e9.js -m login.5170f665.js -m chunk-vendors.bb13f90f.js -o webpack_out.js

在这里插入图片描述
此时密码加密已经完成,还差一个请求体的加密,发现是调用另外一个文件DCSAPPClientAPI-0.0.0.7.js进行加密的,也下载下来

在这里插入图片描述

通过导入文件,就可以实现全部的加密了,至此实战完成

  • 11
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
自动webpack是指通过一些技巧和方法,对webpack代码进行解析和提取的过程。这样可以帮助我们更好地理解和分析webpack的工作原理以及实现细节。 首先,我们需要了解webpack的组成部分。根据引用所述,webpack由加载器函数和执行对象组成。加载器函数在真实网站中的功能更加完善,并且与执行对象在同一个文件中。因此,对于自动webpack代码而言,我们需要关注加载器函数以及它们与执行对象之间的关系。 具体来说,我们可以通过观察真实网站的webpack代码来获得一些启发和参考。根据引用,这些代码与我们自己写的webpack代码并没有太大的差别,只是加载器函数中的功能更加完善。因此,我们可以尝试取这些加载器函数的实现部分,以及它们与执行对象之间的交互逻辑。 至于如何具体webpack代码,这需要进一步的研究和实践。我建议您可以深入学习webpack的相关文档和资料,并借助一些工具和技术,例如代码分析工具、调试工具等来辅助取过程。另外,与其他开发者交流和分享经验也是非常有帮助的。 总结起来,自动webpack是通过一些技巧和方法对webpack代码进行解析和提取的过程。这可以帮助我们更好地理解和分析webpack的工作原理以及实现细节。具体的取方法需要深入学习和实践,并借助相关工具和技术来辅助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ast自动webpack脚本实战](https://blog.csdn.net/zjq592767809/article/details/122355530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [js逆向——webpack法](https://blog.csdn.net/sin_0119/article/details/129658679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值