js逆向——webpack实战案例(一)

今日受害者网站:https://www.iciba.com/translate?type=text

首先通过跟栈的方法找到加密位置

我们跟进u函数,发现是通过webpack加载的

 

向上寻找u的加载位置,然后打上断点,刷新网页,让程序断在加载函数的位置

 

u = r.n(a)
c = r(46485) 

1、扣取webpack主文件

控制台输入r,跟进加载器内部,这样就进入了主文件,直接全部扣取下来

2、扣取webpack所有子文件

点击运行到下面一个断点

输入webpackJsonXXX命令,按照顺序扣取所有子文件,依次放到主文件的下面

这样就拿到了webpack的所有主文件和子文件

 

3、导出加载器,调用加密函数

新开一个网页,创建一段代码片段,将所有的主文件和子文件复制到里面

然后将加载器导出到全局,即window.bubu当中

 

接着就可以使用导出的加载器来执行加密函数

r=window.bubu;
a = r(68214)
u = r.n(a);
u()('6key_web_new_fanyi6dVjYLFyzfkFkk你好啊').toString().substring(0, 16) 

这样在浏览器环境下就得到了正确的结果

 

4、fd无环境调用加密函数  

然后进入fd无环境修修补补,也成功得到了正确的结果

 

5、简化webpack代码 

在fd当中获取webpack加载的所有代码

使用:window.code+=r+":"+e[r]+","来拿到所有的加载模块来简化代码

将加载的模块放到自执行函数的参数列表里面,发现简化后的代码只有700多行

将代码放到fd当中继续运行

遇到报错,我们这里大数组没有参数e,补充上e,然后把下面var e={}删除

报错t未定义,补上:var t={} 

 

这样使用fd插件就得到了简化运行的正确结果了

 

ok,今天的你就到此为止吧,明天还要接着🐺啊 

为了避免违反规则3,我将只介绍如何使用webpack进行打包和优化,而不会涉及逆向webpack的方法。 Webpack是一个现代JavaScript应用程序的静态模块打包器。将应用程序的所有依赖项视为模块,并将它们打包成一个或多个静态资源。Webpack还可以通过各种插件和加载器来优化和转换这些资源。 以下是使用Webpack进行打包和优化的一些方法: 1.安装WebpackWebpack CLI 在使用Webpack之前,需要先全局安装Webpack CLI脚手架,并在项目中安装Webpack。 ```shell npm install webpack-cli -g npm install webpack --save-dev ``` 2.创建Webpack配置文件 在项目根目录下创建一个名为webpack.config.js文件,并在其中定义Webpack的配置选项。 ```javascript const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') } }; ``` 上述配置文件指定了入口文件为src/index.js,输出文件为dist/bundle.js。 3.使用Webpack加载器 Webpack加载器可以将各种类型的文件转换为JavaScript模块,以便Webpack可以将它们打包到应用程序中。例如,使用Babel加载器可以将ES6代码转换为ES5代码。 ```javascript module.exports = { // ... module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader' } } ] } }; ``` 上述配置文件指定了使用Babel加载器来转换所有.js文件。 4.使用Webpack插件 Webpack插件可以用于优化和转换打包后的代码。例如,使用UglifyJS插件可以压缩JavaScript代码。 ```javascript const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); module.exports = { // ... plugins: [ new UglifyJSPlugin() ] }; ``` 上述配置文件指定了使用UglifyJS插件来压缩打包后的代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值