XMind是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生。作为一款有效提升工作和生活效率的生产力工具,受到全球百千万用户的青睐。受到全球百千万用户的青睐。本文尝试利用逆向工程破解Xmind的授权,仅供参考。

1. 破解思路

XMind基于Electron开发,在XMind安装目录下的Resource文件夹中包含了一个文件app.asar,这个文件是XMind源代码文件的一个压缩包。我们只需要将其解压,修改其中的源码再重新打包即可破解XMind。

2. 破解流程

首先需要安装nodejs,网上可以找到安装教程,这里跳过。

然后使用npm安装asar。

npm install asar -g

然后在XMind的安装目录下找到Resources文件夹,文件夹下有一个app.asar文件和一个app.asar.unpacked文件夹,将它们拷贝出来。

app.asar文件就是源码包,可以使用asar工具将源码解包出来。

asar extract app.asar directory/

在解压出的源码文件中,打开common.js文件

$ find ./ -name common.js
.//renderer/common.js
.//node_modules/pako/lib/utils/common.js
.//node_modules/debug/src/common.js

这里看到,common.js位于renderer文件夹下。在文件中找到如下一行:

{TRIAL:String.fromCharCode(116,114,105,97,108),VALID:String.fromCharCode(118,97,108,105,100),EXPIRED:String.fromCharCode(101,120,112,105,114,101,100)};

直接将所有fromCharCode的参数修改为:

fromCharCode(116,114,105,97,108)

同理,在main.js中也进行同样的修改。最后用asar打包即完成破解。

asar pack directory/ app.asar

核心的原理就是将js文件中用于判断授权的字符串改写掉。

参考文章

1. 简单开启XMind全功能

2. 破解XMind Zen for Mac的方法