JS逆向之Webpack自吐

这篇具有很好参考价值的文章主要介绍了JS逆向之Webpack自吐。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢


前言

 

在这篇文章里面,我们重新利用两个方法来实现扣出代码优化代码。webpack自吐所有方法和webpack精减代码法。把这两个方法结合起来使用。


一、Webpack是什么?

webpack是一个基于模块化的打包(构建)工具, 它把一切都视作模块.

概念:

webpack是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署的前端资源。所有的资源都是通过JavaScript渲染出来的。

如果一个页面大部分是script标签构成,80%以上是webpack打包。加载了很多相同格式的jS.
 

webpack js逆向,javascript,开发语言,ecmascript

webpack js逆向,javascript,开发语言,ecmascript 

 文章来源地址https://www.toymoban.com/news/detail-790684.html

二、webpcak打包简介

  1. 单文件webpack组成形式webpack js逆向,javascript,开发语言,ecmascript

2 、多个JS文件打包:

如果模块比较多,就会将模块打包成JS文件, 然后定义一个全局变量window["webpackJsonp"] = [ ],它的作用是存储需要动态导入的模块,然后重写 window["webpackJsonp"]数组的 push( ) 方法为webpackJsonpCallback( ),也就是说 window["webpackJsonp"].push( ) 其实执行的是 webpackJsonpCallback( ),window["webpackJsonp"].push( )接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要调用的函数(可选)

(window.webpackJsonp = window.webpackJsonp || []).push([[2], {
    "+wdc": function(e, t, n) {
        "use strict";
        (function(e) {
            Object.defineProperty(t, "__esModule", {
                value: !0

3、 基于ast的方式自动扣取webpack打包的代码

如需工具可以私信联系!

  • 使用命令执行的方法:

    node webpack_mixer.js -l runtime.62249a5.js -m app.597640f.js -o webout.js
    # 如果有多个JS文件怎么操作
    node webpack_mixer.js -l 加载器.js -m 模块1.js -m 模块2.js  -o 输出.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路径

三 、网站案例

目标网址:aHR0cHM6Ly9pYm94LmFydC96aC1jbi8=

//在加载器后面下断点  执行下面代码
window.xxx = f;
window.wbpk_ = "";
window.isz = false;
f = function(r){
	if(window.isz)
	{
		window.wbpk_ = window.wbpk_ + r.toString()+":"+(e[r]+"")+ ",";
	}
	return window.xxx(r);
}
 
//在你要的方法加载前下断点 执行 window.isz=true
//在你要的方法运行后代码处下断点  执行 window.wbpk_  拿到所有代码  注意后面有个逗号

自动吐出结果:

webpack js逆向,javascript,开发语言,ecmascript

将输出的全部代码,扣出放进模块中就可以完美得到你想要的结果啦  

 


总结

  • 找到这个加载器

  • 找到调用模块

  • 构造一个自执行方法

  • 导出加密方法

  • 编写自定义方法 按照流程加

 

到了这里,关于JS逆向之Webpack自吐的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】webpack是什么,如何逆向出webpack打包的js代码?

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年03月25日
    浏览(60)
  • 网页爬虫之WebPack模块化解密(JS逆向)

    WebPack打包: webpack是一个基于模块化的打包(构建)工具, 它把一切都视作模块。 概念: webpack是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署

    2024年02月02日
    浏览(46)
  • web逆向笔记:js逆向案例四 QQ音乐 sign值(webpack打包代码如何扣取)

    一、webpack介绍: ​ Webpack 是一个模块打包工具,主要用于 JavaScript 应用程序。它可以将许多模块打包成一个或多个 bundle,从而优化加载速度和减少加载时间。Webpack 可以处理各种资源,包括 JavaScript、CSS、图片、字体等,并且可以将其转换为浏览器可以理解的格式。 Webpack

    2024年04月25日
    浏览(50)
  • 031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测

    1、三方库-JQuery-使用安全 2、打包器-WebPack-使用安全 演示案例: ➢打包器-WebPack-使用安全 ➢第三方库-JQuery-使用安全 创建WebPack,并创建目录src在目录下创建1.js 2.js 1.js 2.js 在创建index.html 由于js相互依赖的顺序不同,造成无法执行 ; 使用 Webpack 的主要原因: 模块化支持 :

    2024年02月22日
    浏览(53)
  • Day31:安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测

    目录 打包器-WebPack-使用安全 第三方库-JQuery-使用安全 思维导图 JS知识点: 功能:登录验证,文件操作, SQL 操作,云应用接入,框架开发,打包器使用等 技术:原生开发, DOM ,常见库使用,框架开发( Vue , NodeJS ),打包器 ( Webpack ) 等 安全:原生开发安全, NodeJS 安全,

    2024年03月14日
    浏览(53)
  • 【webpack学习】React项目中webpack.config.js 和 webpack.base.config.js 的区别

    在React项目中,通常使用Webpack作为打包工具。 webpack.config.js 和 webpack.base.config.js 两个文件在项目中的作用是不同的。 webpack.config.js 是Webpack的主要配置文件,它包含了项目的通用配置以及针对不同环境(如开发环境和生产环境)的特定配置。 这个文件包含了整个Webpack配置的

    2024年01月23日
    浏览(50)
  • 【Webpack】处理 js 资源

    Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法,导致 js 不能在 IE 等浏览器运行,所以我们希望做一些兼容性处理。 其次开发中,团队对代码格式是有严格要求的,我们不能由肉眼去检测代码格式,需要使用专业的工具来检测。 针对 js 兼容性处

    2024年02月19日
    浏览(39)
  • three.js(二):webpack + three.js + ts

    webpack 依旧是主流的模块打包工具; ts和three.js 是绝配,three.js本身就是用ts写的,ts可以为three 项目提前做好规则约束,使项目的开发更加顺畅。 1.创建一个目录,初始化 npm 2.调整 package.json 文件 确保安装包是 private(私有的) ,并且移除 main 入口。这可以防止意外发布你的代码

    2024年02月11日
    浏览(38)
  • Webpack打包简单的js文件

    初始化一个新的npm 步骤一: 初始化npm项目,创建一个package.json文件 步骤二: 添加打包脚本:在 scripts 部分添加一个命令来运行webpack 步骤三: 安装Webpack 步骤四: 创建一个简单的Javascript文件,比如 src/index.js 步骤五: 配置Webpack,创建一个名为 webpack.config.js 的文件 步骤六

    2024年01月24日
    浏览(37)
  • Node.js与Webpack笔记(二)

    上一篇:Node.js与Webpack笔记(一)-CSDN博客 1.Webpack简介以及体验 webpack是一个静态模块打包工具,从入口构建依赖图,打包有关的模块,最后用于展示你的内容 静态模块:编写代码过程中,html,css,js,图片等固定内容的文件 打包过程,注意:只有和入口有直接/间接引入关系

    2024年03月10日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包