桌面效率工具中,utools是使用的最多的,但在3.0.0版本后其将剪贴板等几个高频使用插件设置为了只有开会员才可以用,这里研究了下如何破解实现本地使用只有会员才可以用的插件。
Snipaste_2023-05-03_08-28-30.png (29.13 KB, 下载次数: 0)
下载附件
2023-5-3 08:28 上传
流程分享
1. 修改软件本体
首先安装npm包asar,使用命令`npm install -g asar`,然后用`asar e app.asar app`进行解压,在vscode中打开app文件夹,搜索关键词`会员`。
Snipaste_2023-05-03_08-34-51.png (82.42 KB, 下载次数: 0)
下载附件
2023-5-3 08:35 上传
定位进行会员校验的文件为"C:\Users\你的用户名\AppData\Local\Programs\utools\resources\app\dist\plugins\v5\index.js",打开该文件并使用prettier插件进行格式化,观察会员关键词附近的代码,可以看到utools是使用this.props.accountInfo.type这个变量是否等于1来判断是否为会员的,所以我们需要把所有涉及到校验的地方修改为1 === 1,同时把赋值this.accountInfo的地方修改为{...this.propsaccountInfo, type:1}, 这样赋值的时候就会直接把type修改为1.
具体修改的地方如下图所示:
Snipaste_2023-05-03_08-40-27.png (222.5 KB, 下载次数: 0)
下载附件
2023-5-3 08:40 上传
修改之后重新使用asar进行打包,打包命令`asar p app app.asar`,然后重启utools,这时会员插件已经可以下载了。
2. 修改插件
虽然经过上面的修改,我们已经可以下载插件,但进入插件后还是有弹窗提示要开会员,因此,还需要修改插件的源码。
进入插件文件的文件夹C:\Users\你的用户名\AppData\Roaming\uTools\plugins,解压我们需要的插件的asar文件,具体是哪个文件可以根据修改时间和解压后的logo.png文件判断
搜索会员,参考下图把红圈内的open的值由 !0 修改为 0,这样就关闭了弹窗。
Snipaste_2023-05-03_08-50-52.png (516.07 KB, 下载次数: 0)
下载附件
2023-5-3 08:51 上传
然后搜索window.utools, 把下面两句的赋值全部修改为赋值true,这样就绕过了会员判断。
Snipaste_2023-05-03_08-52-48.png (128.86 KB, 下载次数: 0)
下载附件
2023-5-3 08:54 上传
重新打包,注意不要改变文件名。
3. 修改插件md5校验
修改过插件文件后,再进入软件发现安装的插件不显示在列表了,因此怀疑是做了md5校验,重新进入软件主体解压后的app文件夹,搜索关键词md5,果然发现在main.js中对插件的md5做了校验
Snipaste_2023-05-03_08-57-50.png (56.6 KB, 下载次数: 0)
下载附件
2023-5-3 08:58 上传
既然定位了问题那就好解决了,查看main.js文件的逻辑,将涉及到md5比对部分的代码直接全部删掉
Snipaste_2023-05-03_08-59-27.png (104.8 KB, 下载次数: 0)
下载附件
2023-5-3 08:59 上传
重新打包主体的app.asar文件,然后启动应用,这时发现插件已经可以正常使用啦~
Snipaste_2023-05-03_09-01-29.png (51.15 KB, 下载次数: 0)
下载附件
2023-5-3 09:01 上传
其它的插件修改流程基本相同。
## 声明
**仅供学习和测试使用请支持正版软件,测试中产生的后果自行承担