nwwolf 发表于 2019-8-26 10:53

Python脚本实现Linux/MAC中Xmind Zen去水印等其他功能的过程(V0.1)

本帖最后由 nwwolf 于 2019-8-28 11:00 编辑

说明
本脚本仅作为学习使用,请勿用于任何商业用途。
本文为原创,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。
功能简介
[*]去除软件右上角激活按钮
[*]去除导出时激活弹窗
[*]去除导出PDF文件时的水印
[*]去除导出PNG文件时的水印
使用说明
将main.py和crack.py复制到Xmind Zen的安装目录下,然后通过python3 main.py运行该脚本即可。
Crack过程:
#A 软件的安装       可以在官网直接下载安装包,我这里下载linux64位安装包:https://dl2.xmind.cn/XMind-ZEN-for-Linux-64bit.deb通过命令:dpkg -i XMind-ZEN-for-Linux-64bit.deb安装即可,如果中途提示缺少依赖可根据提示自行安装依赖即可。也可以使用 apt --fix-missing install直接解决安装时缺少的依赖等问题。

#B 运行软件      
安装完成之后打开app确保可以正常运行,此时我们也可以看见右上角有激活相关按钮。此时导出PNG、PDF等文件时会带着试用的水印。
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826173539675-723579104.png
#C 清除水印   
既然有水印,直接去安装目录中搜索与watermark相关的文件(非常感谢该软件的开发者,所有的命名都非常规范以至于{:1_905:};www)。于是在/opt/XMind ZEN/resources/app/out/imgs下发现有以下文件。⚡ root@F0rGeEk > /opt/XMind ZEN/resources/app/out/imgs > ls | grep watermarkpng-watermark-de-DE.svgpng-watermark-en-US.svgpng-watermark-fr-FR.svgpng-watermark-ja-JP.svgpng-watermark-zh-CN.svgpng-watermark-zh-TW.svgprint-watermark-de-DE.svgprint-watermark-en-US.svgprint-watermark-fr-FR.svgprint-watermark-ja-JP.svgprint-watermark-zh-CN.svgprint-watermark-zh-TW.svg
从以上文件可以推断出,如果安装的是简体中文那么需要关注的文件为zh-CN结尾的。通过VI随便打开一个看看都有什么。
我这里以png-watermark-zh-CN.svg为列。
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826173646999-434522559.png
从打开文件中看见一个图层_1,初步推断水印可能就是该图层。往下接着看 看见了viewbox=“0 0 190 80”,目测可能是水印的坐标。
为了验证,我们用浏览器打开该文件并打开浏览器开发者工具。
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826173714333-914463915.pnghttps://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826173828993-984149.png

从上图我们看出,当把viewbox中关于坐标的参数全部至0时,水印图层则不存在了。于是乎用VI打开有关watermark的源文件针对该参数进行修改(修改前请备份)。修改后试着导出PNG测试一下,我靠居然真的没有水印了,在导出PDF我靠也没有水印了{:301_1008:}
#D 去除激活按钮
然后就是解决软件打开时的激活按钮,在安装文件中大肆的搜索active相关的文件。最终锁定在/opt/XMind ZEN/resources/app/out中的modal-activateAlert.cssmodal-activateAlert.htmlmodal-activateAlert.js   modal-activate.css   modal-activate.html   modal-activate.js几个文件中。目测JS文件应该是罪魁祸首,由于源JS文件没有换行看着真的很累很累,本身JS就不是我的强项伤不起。 突然想这个 modal-activateAlert.js其中alert是提醒的意思,有可能这个文件会控制激活按钮呢,找了半天真的找的很累(原作之所以没换行估计就是为了制造点困难吧),一气之下把 modal-activateAlert.js中的内容全部删了。然后试着打开软件看看会不会报错,我靠打开后是惊喜!激活按钮没了!真的没了!;www
有图为证:
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826174159619-1752134572.png
其实这样有点暴力,但是基于JS文件真的很难读。等我慢慢把JS文件格式整理出来之后,在看看怎么去修改吧。今天的破解暂且告一段落。


#E 编写Python脚本
先写个用python crack的脚本吧,暂且称它V0.1吧,反正暂时可以正常使用,等后期发现问题再更新吧。
脚本上传至GitHUb,仓库地址:https://github.com/ciscochao/Xmind_Zen_Crack.git


以上是分享一下暴力的过程,如果需要暴力的小伙伴只需要下载脚本运行一下就好了。
补充一下脚本的使用方法:下载脚本copy到安装目录,然后运行即可!



新建文件并导出PNG、PDF等测试:
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826174926747-1758470728.png
https://img2018.cnblogs.com/blog/1765360/201908/1765360-20190826174941334-1380748854.png

jeamm 发表于 2019-9-4 18:31

Traceback (most recent call last):
File "/Applications/XMind ZEN.app/Contents/main.py", line 46, in <module>
    step1.del_all()
File "/Applications/XMind ZEN.app/Contents/crack.py", line 43, in del_all
    open(self.f_name, "wb").close()
FileNotFoundError: No such file or directory: './XMind ZEN.app/Contents/Resources/app/out/modal-activateAlert.js'

楼主,我这里也提示了文件错误!我是今天刚下载的xmind-zen最新版本

nwwolf 发表于 2019-9-6 09:41

jeamm 发表于 2019-9-4 18:31
Traceback (most recent call last):
File "/Applications/XMind ZEN.app/Contents/main.py", line 46,...

今天晚上我拿MAC再测试一下,回头要是有更新了我再贴出来。

野丶梦 发表于 2019-8-26 11:08

现在python的效率真的是好高啊!

yc19951005 发表于 2019-8-26 11:50

没看明白 怎么操作的 尴尬

tydzjing 发表于 2019-8-26 11:52

很暴力,不错很有效果啊

小宇宙i 发表于 2019-8-26 11:54

楼主试过视频去水印吗?

Fris 发表于 2019-8-26 12:02

python快无所不能了

做个小可爱 发表于 2019-8-26 12:34

好想学python,但看着好难呀

飘云阁 发表于 2019-8-26 12:39

要是做成傻瓜式的版本就好了

yanmingming 发表于 2019-8-26 12:42

人生苦短我用python

akinet 发表于 2019-8-26 12:45

python快无所不能了
:lol
页: [1] 2 3 4
查看完整版本: Python脚本实现Linux/MAC中Xmind Zen去水印等其他功能的过程(V0.1)