0x0 注意
破解思路仅供学习交流,请大家务必支持正版
0x1 起因
前段时间下载了这个软件,很好用,但是有一些功能限制让人有点难受,所以尝试破解一下,去除功能的限制
这个软件的桌面端是用Electron开发的。版本是2021年的202111090201
Electron:一个跨平台的、基于 Web 前端技术的桌面 GUI 应用程序开发框架。
asar:是Electron下一种压缩的工具
试用版和完整版的区别:
0x2 去除不想要的按钮
这个软件的编辑界面是这样的:
右上角的试用日期看着不够简洁,放上去的时候还会显示“现在就买它!”
0x21 右上角购买按钮:
先解包:
1 | npm install -g asar //安装asar |
解完包就可以进入crack目录中进行文件的修改
打开文件夹,尝试搜索关键字段“days evaluated”,找到了对应文件
在文件中找到对应字段位置
虽然不会js,但是能看懂大概的代码流程感觉还是可以试一试
最终目标是让这个按钮不显示,那只要找到这个按钮的一些功能就可以了
1 | shouldShowPromotionButton(){return Boolean(this.promotionButtonText)&&!r.isMasDemo}, |
一些关键语句:
this.hoverPromotionButton?this.$T(“Purchase Now”):理解hover是放上鼠标后会变化的一种样式,感觉PromotionButton这个字段可能和这个按钮的名字相关,搜索,在不远处看到了以下代码:
shouldShowPromotionButton(){return Boolean(this.promotionButtonText)&&!r.isMasDemo}:很明显这个就是判断是否要显示这个按钮的功能
那么只要修改代码为:
1 | shouldShowPromotionButton(){return 0} |
让它不做判断,就可以了
0x22 菜单栏“立即激活”按钮:
步骤同上,找到关键字符串的位置:
可以看出是通过判断是否是试用版和激活的情况来确定按钮是否显示
可以直接修改按钮的显示情况:
1 | {id:"activate",label:"Activate Now",enabled:0},//enabled=0即为不显示 |
0x23 菜单栏“关于”页面中的激活情况和按钮
步骤同上,找到关键字符串的位置:
可以看出是通过判断是否是试用版以及激活的情况来确定按钮是否显示
可以直接修改判断的结果:
0x24 修改结果
运行以下语句进行组包:
1 | sudo asar pack crack app.asar |
重新运行,发现成功去除了所有按钮:
0x03 解除功能的限制
当这个软件导出pdf的时候,会有水印以及部分文件格式无法导出
当点击各个限制的功能时,也会跳出购买页面
找到关键词和一些重点文件
很明显这里就是限制的功能和不限制的功能
把限制中的功能都注释掉,重新组包,就可以了
0x31 修改结果
已经测试过所有收费功能,都可以实现了
以下是插入图片功能的例子:
0x04 总结
这个软件破解还是比较容易,因为是用js写(虽然我不会)和一些关键词查找的思路,算是mac下破解的一个小实践