Python脚本实现Linux/MAC中Xmind Zen去水印等其他功能的过程(V0.1)
说明
本脚本仅作为学习使用,请勿用于任何商业用途。
本文为原创,遵循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)的更多相关文章
- python脚本在linux下的执行
假设现有一篇待执行的python脚本test.py python脚本在linux下面执行有两种方式: 打开Linux终端,输入 python test.py 在test.py脚本第一行添加声明 #!/ ...
- 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 ...
- linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程
linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程 1.安装好的nginx上添加模块nginx-http-fiv-module-master 此模块是rtmp模块的升级版,有它所有的 ...
- Python输出内容的三种方式:print输出 python脚本执行 linux直接执行
1. 在linux中安装python后,在linux命令行中输入python即可切换到Python命令行下 退出python命令行的命令: 老版本:ctrl+D 新版本:quit();或exit() ...
- 如何解决Python脚本在Linux和Windows上的格式问题
python是一种对缩进有严格要求的语言, Python脚本可以使用非常多的工具进行编写,笔者在Linux系统使用JEdit进行Python脚本编写,由于在Linux编写脚本比较痛苦,比如想一眼看出相 ...
- 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 ...
- Python脚本:Linux自动化执行Python脚本
1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...
- Python脚本破解Linux口令(crypt模块)
环境 Kali Linux ,python版本2.7.13 . 我们利用Linux系统中的 crypt 模块模拟了Linux系统中用户密码的加密,在Windows中是不存在这个库的. 在Linux系统 ...
- Python脚本配合Linux计划任务工作
经常遇到直接运行Python脚本没有问题,但是一放入/etc/crontab之后就歇菜的情况,总结了一下,大致需要注意以下几点: 1. 脚本首行加入#!/usr/bin/env python 2. 脚 ...
随机推荐
- Spring Boot 配置文件中的花样
原文:https://www.cnblogs.com/didispace/p/11002732.html 在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring ...
- jenkins+ant+jmeter接口自动化的持续集成
一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...
- [LeetCode] 0155. Min Stack 最小栈 & C++Runtime加速
题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. ...
- CentOS7怎样安装MySQL5.7.22
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm下载mysql源安装包 yum install mysq ...
- python算法与数据结构-希尔排序算法(35)
一.希尔排序的介绍 希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法. 希尔排序是把记录按下标的一定增量分组,对每 ...
- 0029redis单机版环境搭建
linux环境下安装单机版redis,主要分为如下几步: 1. 安装gcc 2.下载安装包 3.解压安装包 4.进入解压目录并执行make和make install命令 5.查看默认安装目录 6.更改 ...
- (三)WCF之契约
自从我们接收ITOO项目之后,就必须跟WCF打交道,既然必须直面WCF,我就对WCF进行了研究(还不是很深入,是自己目前的理解).之前对WCF的一些基础知识进行了简单的介绍,本篇重点来介绍WCF的契约 ...
- 远程连接Linux mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法
在新安装好的Centos7上刚安装好mysql,准备进去看看,但是登陆的时候,发现报错啦: ERROR 1045 (28000): Access denied for user 'root'@'loc ...
- C++面向程序设计(第二版)课后习题答案解析
最近没什么心情整理零散的知识点,就整理一下第四章的课后习题答案. 1.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算.将运算符函数重载为非成员函数,非友元的普通函数.编程序, ...
- C语言实验1—— C中的指针和结构体
问题 实现一个算法,检测单链表中是否有环,如果有环还要得到环的入口. 分析 判断是否有环:快慢指针法(也叫“龟兔赛跑”),慢指针每次移动一位,快指针每次移动两位,如果有环,他们一定会相遇. 求环的入口 ...