ast自动扣webpack脚本实战
ast自动扣webpack脚本实战
- webpack是什么
- 前置阅读
- 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进行加密的,也下载下来
通过导入文件,就可以实现全部的加密了,至此实战完成
ast自动扣webpack脚本实战相关推荐
- 爬虫-Webpack逆向实战 有习题
爬虫-Webpack逆向实战 我只要喝点果粒橙关注IP属地: 青海 0.1052022.04.30 19:21:46字数 4,875阅读 5,142 全文目录 webpack打包是前端js模块化压缩打 ...
- 【JS 逆向百例】webpack 改写实战,G 某游戏 RSA 加密
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途 ...
- Python做手游自动刷图脚本,问道手游目前很火,此脚本应用泛滥!
效果: 叙述: 所有玩刷副本类游戏的朋友都会觉得很枯燥,一次又一次的重复性工作甚至让许多朋友放弃了那款游戏.最近问道手游很火,网络上出现了许多自动刷道的脚本,但是这款例外,因为它是由脚本之王Pytho ...
- 《nodejs+gulp+webpack基础实战篇》课程笔记(四)-- 实战演练
一.用gulp 构建前端页面(1)---静态构建 npm install gulp-template --save-dev 通过这个插件,我们可以像写后台模板(譬如PHP)一样写前端页面.我们首先学习 ...
- shell 脚本实战 五
摘自 shell脚本实战 第二版 第四章 Unix调校 脚本27 显示带有行号的文件 在显示文件时添加行号有很多种方法,其中一些实现起来相当简洁.例如,下面是 awk 的 做法: awk '{prin ...
- shell 脚本实战 三
摘自 shell脚本实战 第二版 第二章 改进用户命令 脚本14 格式化过长的行 要是够幸运的话,你所用的 Unix 系统中已经包含了 fmt 命令,如果你日常从事文本工作, 那么这个命令非常有用.不 ...
- 《nodejs+gulp+webpack基础实战篇》课程笔记(六)--附加课
一.多页面分离资源引用,按需引用JS和css 我们前面实现了以下功能:1.新建了一个login模版(用到htmlWebpackPlugin).2.分别把main.js和login.js.reg.js分 ...
- linux脚本对磁盘分区,shell 脚本实战笔记(4)--linux磁盘分区重新挂载
背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...
- 教程:Nodejs大漠插件开发游戏脚本实战(二)搭建项目
一.使用nvm-windows安装Nodejs 上一篇文章我们说过我们需要用到32位的Nodejs,而且因为一些特殊原因,我们要用到指定的版本.为了不影响我们其他项目的开发,这里用到一个Nodejs的 ...
最新文章
- 面试官:聊聊分布式事务,再说说解决方案!
- 基于django的视频点播网站开发-step2-搭建环境
- 递归与递推 普通排队问题及带约束条件的排队问题 c代码
- MySQL的MyISAM和InnoDB存储引擎表结构
- Citrix桌面及应用虚拟化系列之三:活动目录架构准备
- plsql如何显示表结构图_工地新人如何看懂图纸
- easyui plugin——etreegrid:CRUD Treegrid
- 《低功耗蓝牙开发权威指南》——第3章低功耗蓝牙的体系结构
- python android 库_Python库
- 一步步编写操作系统 20 x86虚拟bochs一般用法 上
- [每天一个知识点]26-软件工程-有多少管理是为了满足管理者的掌控感
- iozone测试文件系统
- C语言字符串输出中文乱码
- jspm体检信息管理系统毕业设计(附源码、运行环境)
- Datax-HdfsWriter如何实现支持decimal类型数据写入
- HDU 5519(Kykneion asma-NNT+CRT)
- Linux——系统磁盘管理与文件系统
- mysql查询年龄段多少人_mysql中一张(居民)表按年龄段查询数据
- 浅谈大数据的过去、现在和未来
- 手机卡服务器密码忘记了怎么修改密码,wifi密码忘记了怎么办找回密码 手机怎么修改自家wifi密码...