本帖最后由 kuingsmile 于 2023-9-14 12:42 编辑
声明:仅供学习和测试使用请支持正版软件,正版地址uTools官网 - 新一代效率工具平台,学习测试中产生的后果自行承担
注意只适用于4.0和4.0.1版本,4.1版本开始utools添加了文件校验,修改后会报错无法打开
在之前的帖子中桌面效率工具- utools逆向和会员插件破解流程分享 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn,我分享了utools 3.x版本破解会员插件的流程,在最新的V4版本中,经过研究,实现了对剪贴板、录屏和图像处理三个会员插件的破解,同时破解流程相对于上个版本大大的简化。
修改后后的app.asar文件分享地址,下载解压后直接替换%LOCALAPPDATA%\Programs\utools\resources 目录下的同名文件,然后重启utools即可。
破解流程
首先安装npm包asar,使用命令npm install -g asar ,然后进入目录%LOCALAPPDATA%\Programs\utools\resources ,用asar e app.asar app 进行解压,在vscode中打开app文件夹,打开main.js 文件后先用格式化文档 命令进行格式化。
搜索isPurchasedUser 和getUser: ,将对应的函数分别如下修改:
getUser: e => {
const t = this.accountCmp.getAccountInfo()
e.returnValue = {
avatar: t?.avatar || '',
nickname: t?.nickname || '',
type: 1
}
}
isPurchasedUser: (e, t) => {
const i = this.accountCmp.getAccountInfo()
if (i) {
if ((t.startsWith('dev_') && (t = t.replace('dev_', '')), i.purchased_apps)) {
const n = i.purchased_apps[t]
if (!n) return void (e.returnValue = 1)
if (!0 === n) return void (e.returnValue = !0)
if (new Date(n) > new Date()) return void (e.returnValue = 1)
} else if (i.purchased && Array.isArray(i.purchased) && i.purchased.includes(t))
return void (e.returnValue = !0)
e.returnValue = 1
} else e.returnValue = 1
}
修改完之后用命令asar p app app.asar 打包回去覆盖原文件,然后重启utools即可。
|