破解 Cloudreve V3 Pro,解锁所有功能,附带教程和源码下载

1. 演示

img

2. 后端

2.1 分析

众所周知,捐助版会检测授权文件 key.bin,没有它是连程序都打不开的。那有人说了,在 app.go 的 InitApplication 函数里删掉就可以了?

开发者能让你这么简单就破开吗,试过之后发现还是打不开程序。

他说的对,但不完全对,猫腻就藏在程序的依赖库里,仔细看这个库 https://github.com/abslant/gzip/blob/v0.0.9/handler.go#L60

看似只是一个fork版,但会在前端 main.xxx.chunk.js 中插入跳转官网403的代码,作者的用户名为 abslant,乍一看不认识。

打开这个博客 https://hfo4.github.io/ ,注意头像下的联系邮箱,发现这就是开发者 Aaron 的小名。

这一切就说得通了,都是作者搞的鬼。看过社区版源码的都知道,没看过的等你尝试用git对比整个仓库的时候就知道了。

2.2 改动

1、首先将被加料的依赖项替换为原版

github.com/abslant/mime => github.com/HFO4/aliyun-oss-go-sdk
github.com/abslant/gzip => github.com/gin-contrib/gzip

(VSC编辑器全局搜索,直接替换)

2、bootstrap/app.go 不用多说,那个读取 []byte{107, 101, 121, 46, 98, 105, 110} 的就是授权文件

3、routers/router.go 第128行 r.Use(gzip.GzipHandler()) 改为 r.Use(gzip.Gzip(gzip.DefaultCompression, gzip.WithExcludedPaths([]string{"/api/"})))

(如果改完还是自动引入就把 go.sum 删了)

4、然后是一些小变动:

pkg/hashid/hash.go 最后一个函数 constant.HashIDTable[t] 改为 t 基本上到这里就完成了。

注意:前端打包时要保持目录结构 assets.zip/assets/build/{前端文件}

3. 前端

3.1 插曲

忙活了半天,终于把程序跑起来了,打开页面一看,好家伙 Backend not running 还是进不去,怎么想都进不去,因为前端还有一层验证。

3.2 改动

但注意 “任何前端加密和混淆都是纸老虎,自己玩玩无所谓,重要业务千万别乱来” 前端验证很好破解,还是先检查依赖项。

1、打开 package.json 头两行就是这个万恶的 abslant,删掉 "@abslant/cd-image-loader" 和 "@abslant/cd-js-injector"

2、把引用它们的地方删掉就行…了吗 ?

位置在 config/webpack.config.js:35_625 和 src/component/FileManager/FileManager.js:16_109

之后进是能进网盘了,但你想测试上传一个文件的时候就傻眼了,明明什么也没动,就是传不上去

报错 Cannot read properties of null (reading ‘code’),那是继3.5.3之后新增的一处验证 将 src/component/Uploader/core/utils/request.ts 第 12 行整个 const 替换为以下内容即可解决

const baseConfig = {
    transformResponse: [
        (response: any) => {
            try {
                return JSON.parse(response);
            } catch (e) {
                throw new TransformResponseError(response, e);
            }
        },
    ],
};

其它

附件是破解好了的,除了去除验证,Plus版本还增加了几处功能优化,修复遗留Bug,感兴趣的可以下载体验一下。

评论

《 “破解 Cloudreve V3 Pro,解锁所有功能,附带教程和源码下载” 》 有 8 条评论

  1. kawaiicinojiang 的头像
    kawaiicinojiang

    实测所有功能都能用,网页上传功能也正常了,非常棒!

  2. 龙虾 的头像
    龙虾

    您好这个咋用呀,我是linux系统的?

    1. James 的头像

      linux使用cloudreveplus-linux-amd64v2.zip 这个包。

  3. 小白 的头像
    小白

    这……怎么回事哩

    1. 小白 的头像
      小白

      经过测试是本人浏览器的问题,具体原因还没有找到

  4. 小白 的头像
    小白

    有点问题嗯。不知道怎么搞的

  5. gcioa 的头像
    gcioa

    能否编译一个 armv8 的版本呀

发表回复