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脚本实战相关推荐

  1. 爬虫-Webpack逆向实战 有习题

    爬虫-Webpack逆向实战 我只要喝点果粒橙关注IP属地: 青海 0.1052022.04.30 19:21:46字数 4,875阅读 5,142 全文目录 webpack打包是前端js模块化压缩打 ...

  2. 【JS 逆向百例】webpack 改写实战,G 某游戏 RSA 加密

    关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途 ...

  3. Python做手游自动刷图脚本,问道手游目前很火,此脚本应用泛滥!

    效果: 叙述: 所有玩刷副本类游戏的朋友都会觉得很枯燥,一次又一次的重复性工作甚至让许多朋友放弃了那款游戏.最近问道手游很火,网络上出现了许多自动刷道的脚本,但是这款例外,因为它是由脚本之王Pytho ...

  4. 《nodejs+gulp+webpack基础实战篇》课程笔记(四)-- 实战演练

    一.用gulp 构建前端页面(1)---静态构建 npm install gulp-template --save-dev 通过这个插件,我们可以像写后台模板(譬如PHP)一样写前端页面.我们首先学习 ...

  5. shell 脚本实战 五

    摘自 shell脚本实战 第二版 第四章 Unix调校 脚本27 显示带有行号的文件 在显示文件时添加行号有很多种方法,其中一些实现起来相当简洁.例如,下面是 awk 的 做法: awk '{prin ...

  6. shell 脚本实战 三

    摘自 shell脚本实战 第二版 第二章 改进用户命令 脚本14 格式化过长的行 要是够幸运的话,你所用的 Unix 系统中已经包含了 fmt 命令,如果你日常从事文本工作, 那么这个命令非常有用.不 ...

  7. 《nodejs+gulp+webpack基础实战篇》课程笔记(六)--附加课

    一.多页面分离资源引用,按需引用JS和css 我们前面实现了以下功能:1.新建了一个login模版(用到htmlWebpackPlugin).2.分别把main.js和login.js.reg.js分 ...

  8. linux脚本对磁盘分区,shell 脚本实战笔记(4)--linux磁盘分区重新挂载

    背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...

  9. 教程:Nodejs大漠插件开发游戏脚本实战(二)搭建项目

    一.使用nvm-windows安装Nodejs 上一篇文章我们说过我们需要用到32位的Nodejs,而且因为一些特殊原因,我们要用到指定的版本.为了不影响我们其他项目的开发,这里用到一个Nodejs的 ...

最新文章

  1. 面试官:聊聊分布式事务,再说说解决方案!
  2. 基于django的视频点播网站开发-step2-搭建环境
  3. 递归与递推 普通排队问题及带约束条件的排队问题 c代码
  4. MySQL的MyISAM和InnoDB存储引擎表结构
  5. Citrix桌面及应用虚拟化系列之三:活动目录架构准备
  6. plsql如何显示表结构图_工地新人如何看懂图纸
  7. easyui plugin——etreegrid:CRUD Treegrid
  8. 《低功耗蓝牙开发权威指南》——第3章低功耗蓝牙的体系结构
  9. python android 库_Python库
  10. 一步步编写操作系统 20 x86虚拟bochs一般用法 上
  11. [每天一个知识点]26-软件工程-有多少管理是为了满足管理者的掌控感
  12. iozone测试文件系统
  13. C语言字符串输出中文乱码
  14. jspm体检信息管理系统毕业设计(附源码、运行环境)
  15. Datax-HdfsWriter如何实现支持decimal类型数据写入
  16. HDU 5519(Kykneion asma-NNT+CRT)
  17. Linux——系统磁盘管理与文件系统
  18. mysql查询年龄段多少人_mysql中一张(居民)表按年龄段查询数据
  19. 浅谈大数据的过去、现在和未来
  20. 手机卡服务器密码忘记了怎么修改密码,wifi密码忘记了怎么办找回密码 手机怎么修改自家wifi密码...

热门文章

  1. 微信小程序实现开关原理、动态添加class
  2. uni-app 初始化项目
  3. 网络游戏怎么样推广引流,游戏推广怎么做引流
  4. 计算机考试显示延时一分钟,电脑显示延迟解决方法教程
  5. opencv读取视频有延迟解决方法
  6. python实现指数增长
  7. 创投日报:3月28日收录投融资项目19起
  8. Java Web基础性知识
  9. 数据库常用字段、列属性、表类型与SQLyog工具的使用
  10. 句子改写器在线转换v.1.2.3