hybpjx 发表于 2024-3-26 16:12

某云盘encryptMsg 加密之半自动化扣webpack

# 前言

本文主要介绍了webpack半自动化扣代码的流程。不需要ast基础。也不涉及加密的过程。网站硬扣的话很麻烦。特地挑一个模块多的网站去搞。着重介绍于webpack工具的使用与实现方式。

这里的话。本人也开源到了github上了。本人代码写的烂。大佬勿喷,

> https://github.com/hybpjx/semi_auto_webpack

# 目标网站

> aHR0cHM6Ly95dW4uMTM5LmNvbS93LyMv



# webpack是什么?

Webpack是一个用于构建现代 Web 应用程序的静态模块打包工具。它是一个高度可配置的工具,通过将应用程序的所有资源(例如JavaScript、CSS、图片等)视为模块,并使用依赖关系来管理它们之间的引用,将它们打包成一个或多个最终的静态资源文件。

其实我们做爬虫只需要知道。

webpack就是把所有的代码 打包成一个JS去运行。其中包含了加密解密的JS。然后你通过加载器去调用其中的模块去获取加密代码。



# 网站分析

这里就不多说了。直接开搞

如下图 encryptMsg 就是我们本文的目标。

![](https://s2.loli.net/2024/03/26/tHmX86PjOpaN5vu.png)

然后直接搜索就行。找到加密位置。

![](https://s2.loli.net/2024/03/26/mQfPApF2BezEHky.png)

![](https://s2.loli.net/2024/03/26/KM5ycR6kNe2xDHj.png)

这里其实点进去就能知道什么加密 好像也没有经过别的加密。

直接写算法就行。

但是本文目标是实现webpack自动化。这里我们选择强扣。

本文重点不是逆向这个网站。只能说

直接从上一个栈找。

好了 找到了这个地方。

![](https://s2.loli.net/2024/03/26/zjYVcUpa3xEtPAo.png)

然后我们把s扣下来就行。

这里往上滑。可以看到 加载器只加载了 `4f52`这个函数。

那就简单了。我们封装一下

```javascript
s = func_call("4f52")
a = {
    "account": "17772231096",
    "dycPwd": "123213213",
    "type": 1,
    "autoLogin": true,
    "ifOpenAccount": "1",
    "verType": 2
}
console.log(s["a"].loginDataPrecode(a))
```



# 编写工具

这里如果要硬扣的话会很麻烦。

这里我主要呢。实现了以下几个步骤

1. 将整体文件分成三个部分
   1. 模块列表
   2. 加载器列表
   3. 运行文件
2. 运行文件 运行加载器列表 加载器列表 运行模块列表
3. 然后运行我们的业务代码。
4. 然后根据重写的加载器 获取到所有有用的模块列表
5. 遍历模块列表。写入键和值
6. 重新进行封装 然后写入。
7. 完成加密。然后运行代码



这里值得注意的是我们需要重写加载器的这个部分。

需要手动找到如下部分代码

![](https://s2.loli.net/2024/03/26/HjIQZSBe631KAdX.png)

如上图 在调度函数的开始加上如上代码。e为传参值。

```javascript
if (!modules_list.includes(e)) {
                modules_list.push(e)
}
```

其他正常使用即可。

当然 本工具尚还不成熟。就是本人瞎写着玩的。

写的也很仓促。就随便封装了一下。

之前看了一个视频里 用了 我就想自己能不能写一个。

大家有兴趣的可以github 点个stars。

> (https://github.com/hybpjx/semi_auto_webpack)

156226 发表于 2024-3-26 17:45

封装部分代码webpack?

Vvvvvoid 发表于 2024-3-26 21:50

如果能扣出来的话, 可以想办法在 python3 或者别的语言中单独执行某个函数

cjy2323 发表于 2024-3-27 06:39

这个可以,没事研究研究去

opacity 发表于 2024-3-27 08:52

webpack确实方便,web开发者的福音

Yangzaipython 发表于 2024-3-27 09:31

感谢分享 学习学习

goldcrane1 发表于 2024-3-27 09:45

感谢分享

justice0507 发表于 2024-3-27 09:52

学习一下,学习学习

Mik 发表于 2024-3-27 11:11

不错学习了

wangliao 发表于 2024-3-27 11:13

太高级了,慢慢学习{:1_904:}
页: [1] 2 3
查看完整版本: 某云盘encryptMsg 加密之半自动化扣webpack