背景
桌面效率工具中,utools是使用的最多的,但在3.0.0版本后其将剪贴板等几个高频使用插件设置为了只有开会员才可以用,这里研究了下如何破解实现本地使用只有会员才可以用的插件。

流程分享
修改软件本体
首先安装npm包asar,使用命令npm install -g asar,然后用asar e app.asar app进行解压,在vscode中打开app文件夹,搜索关键词会员。

定位进行会员校验的文件为C:\Users\你的用户名\AppData\Local\Programs\utools\resources\app\dist\plugins\v5\index.js,打开该文件并使用prettier插件进行格式化,观察会员关键词附近的代码,可以看到utools是使用this.props.accountInfo.type这个变量是否等于1来判断是否为会员的,所以我们需要把所有涉及到校验的地方修改为1 === 1,同时把赋值this.props.accountInfo的地方修改为{...this.propsaccountInfo, type:1}, 这样赋值的时候就会直接把type修改为1.
具体修改的地方如下图所示:

修改之后重新使用asar进行打包,打包命令asar p app app.asar,然后重启utools,这时会员插件已经可以下载了。
修改插件
虽然经过上面的修改,我们已经可以下载插件,但进入插件后还是有弹窗提示要开会员,因此,还需要修改插件的源码。
进入插件文件的文件夹C:\Users\你的用户名\AppData\Roaming\uTools\plugins,解压我们需要的插件的asar文件,具体是哪个文件可以根据修改时间和解压后的logo.png文件判断
搜索会员,参考下图把红圈内的open的值由 !0 修改为 0,这样就关闭了弹窗。

然后搜索window.utools, 把下面两句的赋值全部修改为赋值true,这样就绕过了会员判断。

重新打包,注意不要改变文件名。
修改插件md5校验
修改过插件文件后,再进入软件发现安装的插件不显示在列表了,因此怀疑是做了md5校验,重新进入软件主体解压后的app文件夹,搜索关键词md5,果然发现在main.js中对插件的md5做了校验

既然定位了问题那就好解决了,查看main.js文件的逻辑,将涉及到md5比对部分的代码直接全部删掉

重新打包主体的app.asar文件,然后启动应用,这时发现插件已经可以正常使用啦~

声明
仅供学习和测试使用请支持正版软件,测试中产生的后果自行承担

Comments 8 条评论
没有评论?
为什么你的所有作品都没有评论
@北城 之前一直没开评论~ 而且大部分都是只看不回的吧
看错了,还是有几条评论的
大佬,请教一下怎么修改这个插件(变量快速翻译命名插件)啊 https://yuanliao.info/d/5700-v103 ,用你的方法没找到......
6啊,成功绕过
这是一条私密评论
@一叶知秋 破解只针对特定版本 最新版本应该是修复了