utools逆向 绕过限制使用会员插件

发布于 2023-05-05  3559 次阅读


背景

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

202305052255241

流程分享

修改软件本体

首先安装npm包asar,使用命令npm install -g asar,然后用asar e app.asar app进行解压,在vscode中打开app文件夹,搜索关键词会员

202305052257982

定位进行会员校验的文件为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.

具体修改的地方如下图所示:
202305052258912

修改之后重新使用asar进行打包,打包命令asar p app app.asar,然后重启utools,这时会员插件已经可以下载了。

修改插件

虽然经过上面的修改,我们已经可以下载插件,但进入插件后还是有弹窗提示要开会员,因此,还需要修改插件的源码。

进入插件文件的文件夹C:\Users\你的用户名\AppData\Roaming\uTools\plugins,解压我们需要的插件的asar文件,具体是哪个文件可以根据修改时间和解压后的logo.png文件判断

搜索会员,参考下图把红圈内的open的值由 !0 修改为 0,这样就关闭了弹窗。

202305052259962

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

202305052300283

重新打包,注意不要改变文件名。

修改插件md5校验

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

202305052300608

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

202305052300217

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

202305052301911

声明

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

届ける言葉を今は育ててる
最后更新于 2023-05-05