简单开启XMind全功能

MagicQ 7月前 469

一、Xmind很多地方都会推荐的一款跨平台的思维导图软件,使用起来也方便。Macos AppStore里直接提供试用版可以简单用用,但是无法导出为Excel等文档,很是麻烦。谷哥了半天发现大家已经释放出来的只是一个很大Patch,下载下来还未必能用,偶然发现 “果核剥壳” 上有新版本的Patch顺道看到一句话“Xmind是基于Electron框架开发的”,瞬间感觉没必要使用这个Patch而是看看到底Patch了什么。

二、Electron框架的软件基本上都存在一个app.asar(nodejs asar打包)的文件,里面存放了主要逻辑代码以及部分前端显示用的框架代码,打开就可以看到源码(如果能轻松读懂js代码的话在打开)。

解压app.asar包: 

# node ~/node_modules/asar/bin/asar.js extract app.asar destination

我分别解压了官方的和 破解版 并用下面的命令对每个文件做了MD5对比

# for i in `find ./ -type f`; do if [[ `md5 $i|awk '{print $NF}'` != `md5 "../app2/"$i|awk '{print $NF}'` ]]; then echo $i;  fi; done

结果发现有3个主要文件被改,

1、about.js(看文件名就知道这个文件不太可能存在跟试用验证相关的代码);

先好奇一下about.js改了啥,打开后发现 只是加了一下“广告”,把XMind改成了 果... 

2、common.js(根据文件名看,公共文件可能存在验证代码);

对比common.js的文件后发现,破解版做了如下修改:

ACTIVATION_STATUS={TRIAL:"trial",VALID:"valid",EXPIRED:"expired"};

=>

ACTIVATION_STATUS={TRIAL:"trial",VALID:"trial",EXPIRED:"trial"};

惊叹一声,厉害了,通过定义STAUS为常量字符串来区分是否有效的方式都被发现了,学习了拿走。

3、main.js(主文件,这个极大可能性存在验证代码,待处理)。

通过对比后发现改了两处,第一处跟common.js里的处理方式一样,另外一处看完我就对 果核... 另眼相看了,竟然把查看订阅的方法改成了打开 果核... 的网站,这个操作...

学习到精髓后把自己从AppStore下下来的Xmind文件改改(不要直接替换Patch过来,版本不一样。。。)重新打包替换

node ~/node_modules/asar/bin/asar.js pack app3 app.asar

自此导出Excel功能解锁。

三、顺道Mark一下StarUML(同样是Electron框架写的,界面字体发虚?不太建议在Macos下用)的改法

修改包内 src/engine/license-manager.js内的 setStatus(this,false) 为 setStatus(this,true) 即可。

最后,以前有Java可以跨平台开发应用,现在有更简单的Javascript就可以,真是开发应用成本越来越低了。以后需要多学习学习Electron。

最后。。。购买正版软件才能获得更好的体验,破解一时爽真的只能爽一时。。。

最新回复 (0)
    • 运维开源项目互助社区
      2
        立即登录 立即注册 
返回