说明
本脚本仅作为学习使用,请勿用于任何商业用途。
本文为原创,遵循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等文件时会带着试用的水印。

#C 清除水印    
  既然有水印,直接去安装目录中搜索与watermark相关的文件(非常感谢该软件的开发者,所有的命名都非常规范以至于)。于是在/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为列。

  从打开文件中看见一个图层_1,初步推断水印可能就是该图层。往下接着看 看见了viewbox=“0 0 190 80”,目测可能是水印的坐标。
为了验证,我们用浏览器打开该文件并打开浏览器开发者工具。

  这里我把viewbox中的参数全部替换成0,看看效果:

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

  其实这样有点暴力,但是S文件真的很难读。等我有时间了把JS文件格式整理出来之后,在看看怎么去修改吧。今天的Crack暂且告一段落。

#E 编写Python脚本
先写个用python crack的脚本吧,其实就是把这些替换修改的人为操作替换成了代码。暂且称它V0.1吧,反正暂时可以正常使用,等后期发现问题再更新吧。
脚本上传至GitHUb,仓库地址:https://github.com/ciscochao/Xmind_Zen_Crack.git

下面是脚本运行的效果:

新建文件并导出PNG、PDF等测试:

                              

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

  1. python脚本在linux下的执行

    假设现有一篇待执行的python脚本test.py python脚本在linux下面执行有两种方式: 打开Linux终端,输入 python test.py 在test.py脚本第一行添加声明 #!/ ...

  2. python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused

    python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...

  3. linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程

    linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...

  4. Python输出内容的三种方式:print输出 python脚本执行 linux直接执行

    1.  在linux中安装python后,在linux命令行中输入python即可切换到Python命令行下 退出python命令行的命令: 老版本:ctrl+D 新版本:quit();或exit() ...

  5. 如何解决Python脚本在Linux和Windows上的格式问题

    python是一种对缩进有严格要求的语言, Python脚本可以使用非常多的工具进行编写,笔者在Linux系统使用JEdit进行Python脚本编写,由于在Linux编写脚本比较痛苦,比如想一眼看出相 ...

  6. window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

    今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpre ...

  7. Python脚本:Linux自动化执行Python脚本

    1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...

  8. Python脚本破解Linux口令(crypt模块)

    环境 Kali Linux ,python版本2.7.13 . 我们利用Linux系统中的 crypt 模块模拟了Linux系统中用户密码的加密,在Windows中是不存在这个库的. 在Linux系统 ...

  9. Python脚本配合Linux计划任务工作

    经常遇到直接运行Python脚本没有问题,但是一放入/etc/crontab之后就歇菜的情况,总结了一下,大致需要注意以下几点: 1. 脚本首行加入#!/usr/bin/env python 2. 脚 ...

随机推荐

  1. 开发一个代码的自动生成器,使用Jfinal4.3+Swagger+Sql

    -- 所有表名select column_name 列名, data_type 字段类型, column_comment 字段注释  from information_schema.columns  ...

  2. ubuntu---对比工具Meld

    Beyond Compare是商业软件,下载地址:http://www.scootersoftware.com/download.php.下载完直接运行或者通过dpkg安装即可. 其实Linux下文本 ...

  3. Django之路——9 Django的form组件的信息校验

    forms组件 校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_l ...

  4. 0023SpringMVC自定义类型转换器

    页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性 ...

  5. 第三天Beta冲刺

    团队作业Beta冲刺 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 你们都是魔鬼吗 作业学习目标 (1)掌握软件黑盒测试技术:(2)学会编制软件 ...

  6. 堆以及stl堆的使用

    概念 性质: 1.堆是一颗完全二叉树,用数组实现.    2.堆中存储数据的数据是局部有序的. 最大堆:1.任意一个结点存储的值都大于或等于其任意一个子结点中存储的值.      2.根结点存储着该树 ...

  7. 再论strlen sizeof

    今天,在使用字符串的时候,对sizeof和strlen的用法更加深入了,特此记录下. strlen是运行是计算的,不能放在函数外面计算的sizeof是预编译时运行的,可以放在函数外面计算. 对于cha ...

  8. [JSOI2018]战争

    题目描述 九条可怜是一个热爱读书的女孩子. 在她最近正在读的一本小说中,描述了两个敌对部落之间的故事.第一个部落有 nnn 个人,第二个部落有 mmm 个人,每一个人的位置可以抽象成二维平面上坐标为 ...

  9. Zatree - Zabbix图表展示

    Zatree Zatree 是 一个php web的插件,做个展示树:可以提供host group的树形展示和在item里指定关键字查询及数据排序. 下载地址 可以根据zabbix不同版本下载:htt ...

  10. Js验证正则表达式

    //验证是否手机 var base = Objcet();base.isPhone = function(num) { var preg = /^1[3-7,8]{1}[0-9]{9}$/; retu ...