WEBPACK打包器的使用 打包器的安全问题(源码泄露) 还原

news/2025/2/27 5:57:53

前言

webpack是一个可以把多个前端页面进行打包的工具   他其实也是node js的延伸   可以进行打包node.js文件

基本使用

1、一键命令打包

创建一个 app目录   下设 index.html    runboot.js   

我们练习对Runboot.js进行打包

一键打包  命令     npx webpack app/runboots -o log/bndle.js  --development

第一个参数是要进行打包的js程序    
第二个是 打包的地址是那个目录下的

--   是  mode  模式  有两种  1、生产者模式(发布的版本  能看到的信息少)
2、开发者模式 (development )   看到的信息多

运行一下

打包的文件 我们发现  你妹的好像使用了代码的混淆不是那个 清晰了    一定程度上保护了源码

但是我们执行 发现打包器打包的 bundle 和原 js的功能是一样的只不过是样子变了

2、使用配置文件进行打包   一个这个比较常用

新建一个   webpack.config.js

var path = require('path'); //引入path模块  
var webpack = require('webpack');

module.exports = {
    mode: 'development', //开发模式
    entry: './runboot.js', //入口文件  路径 ./ 不能少 这个是要进行打包的文件
    output: {
        filename: 'app.js', //输出文件
        path: path.resolve(__dirname, 'output') //输出路径
    },

}

终端直接运行    apx  webpack                             会自动执行这个打包

运行结果 :

找到打包后文件  运行

3、打包node.js 编写的程序

var path = require('path'); //引入path模块  
var webpack = require('webpack');


module.exports = {
    mode: 'development', //开发模式
    entry: './rce.js', //入口文件  路径 ./ 不能少 这个是要进行打包的文件
    output: {
        filename: 'app.js', //输出文件
        path: path.resolve(__dirname, 'output') //输出路径
    },
    target: 'node', //打包的目标环境为node
    externals: [webpack()], //排除node_modules中的模块

}

rce.js

源码泄露  

1、模式使用错误导致的  源码泄露  原来是要使用 生产模式的但是使用了开发模式

在index.html中导入这个 

因为这个app.js 是develop模式的所以我们直接查看

2、devtool 配置错误导致的源码泄露 

什么是dev配置   devtool 是一个追错调试的配置    但是配置不当在使用webpack打包部署代码时,如果参数devtool配置不当,将会在部署代码文件中生成对应匹配的soucemap文件(源码映射)如果将参数devtool配置为“source-map”、“cheap-source-map”、“hidden-source-map”、“nosources-source-map”、“cheap-module-source-map”等值时,打包后将生成单独的map文件。

这个我们可以直接使用工具获取   或者直接输入网址进行下载

源码的还原 :.map的发现  除了工具还能直接 全局搜索   .js.map

还原

直接使用工具或者是手动还原   

下载shuji

npm install --global shuji

shuji xxx.js.map -o xxxxxxx     //用法

演示:  使用  工具收集到了  js.map  

下载一下  

工具是可以自动帮助我们进行还原的

手动还原

查找信息 : 使用  shuji 进行还原

或者使用           reverse-sourcemap

npm install --global reverse-sourcemap   

reverse-sourcemap --output-dir ./  xxx.js.map

工具:https://github.com/SunHuawei/SourceDetector


http://www.niftyadmin.cn/n/5869589.html

相关文章

记一次pytorch训练loss异常的问题

记一次pytorch训练loss异常的问题 问题描述 使用mmdetection框架训练时,某项loss出现异常大的值,比如1781232349724294.000。这个问题只在多卡训练时才会出现。 解决方法 在确认target和predction没有问题后,发现是在dataset中的数据处理…

android keystore源码分析

架构 Android Keystore API 和底层 Keymaster HAL 提供了一套基本的但足以满足需求的加密基元,以便使用访问受控且由硬件支持的密钥实现相关协议。 Keymaster HAL 是由原始设备制造商 (OEM) 提供的动态加载库,密钥库服务使用它来提供由硬件支持的加密服…

OpenCV计算摄影学(3)CUDA 图像去噪函数fastNlMeansDenoising()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 使用非局部均值去噪算法(Non-local Means Denoising algorithm)执行图像去噪,该算法来源于 http://www.ipol.…

【错误记录】Arrays.asList 的坑

文章目录 概要原因小结 概要 最近在写一个需求的时候用到了这个方法生成一个 List&#xff0c;接着再往里面添加数据的时候就报错了&#xff0c;比如下面的例子。 public class Main {public static void main(String[] args) {List<Integer> res Arrays.asList(1, 2,…

apache-maven-3.2.1

MAVEN_HOME D:\apache-maven-3.2.1 PATH D:\apache-maven-3.2.1\bin cmd mvn -v <localRepository>d:\localRepository</localRepository> setting.xml <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Soft…

java23种设计模式-中介者模式

中介者模式&#xff08;Mediator Pattern&#xff09;学习笔记 编程相关书籍分享&#xff1a;https://blog.csdn.net/weixin_47763579/article/details/145855793 DeepSeek使用技巧pdf资料分享&#xff1a;https://blog.csdn.net/weixin_47763579/article/details/145884039 1.…

卡 bug 了?

与工作搭子的日常&#xff1a; 远光小天&#xff1a; 卡 bug&#xff1f;不存在的&#xff01; 这是三岁孩童的正确打开方式&#xff5e; Tips&#xff1a; 远光小天是基于九天研发大模型面向企业研发用户打造的一体化 AI 研发解决方案。基于通用大模型底座&#xff0c;通过模型…

小折叠手机变身老式掌上电脑,Clicks推出新款外置QWERTY键盘

在科技飞速发展的今天,手机的形态和功能日新月异,直板大屏触控手机一统天下,虚拟键盘成为了我们与手机交互的主要方式。但你是否偶尔会怀念曾经那个按动实体按键,噼里啪啦打字的时代?嘿,还真就有人懂你的这份“复古情怀”,这不,Clicks推出了新款外置QWERTY键盘,直接让…