破解 Windows 下Markdown 编辑器 MarkdownPad 2

MarkdownPad 是 Windows 平台下一款优秀的 Markdown 编辑器,本文简单介绍 Markdown 以及使用一种方法破解 MarkdownPad 使其升级到专业版。该方法仅限于教育用途,我不为滥用该方法导致的商业纠纷负责!

Markdown 简介

Markdown 是一种轻量级标记语言,有着及其简单、易学易用的语法,任何人在几分钟之内都可以掌握其基本语法并用来写作,你可以在这里学习markdown的基本语法。其创始人 John Gruber 下面的话高度概括了 Markdown 是什么、优点以及适合哪些人使用:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

相比 Word 等富文本编辑器,你会花很大精力去排版上,还有它所写的内容移植性、兼容性也很差,Markdown 这种纯文本的标记语言,就不存在这种问题,当然还有很多其它好处,你可以阅读下面几篇文章:

Markdown写作浅谈

而且当下最大的社交编程平台Github以及问答网站Stackoverflow在其有编辑框的地方,都支持的是 Markdown,这也极大地推动了 Markdown 的普及。

随着 Markdown 在开发者中间逐渐流行,出现了很多 Markdown 编辑器,如 Mac 下的Mou, Linux 下的ReTex,Windows 下的MarkdownPad等等。当然如果你不想下载这些编辑器,也可以用在线版的,,如Dillinger等。你可以猛戳这篇文章,介绍了 78 款 Markdown 编辑预览的工具。

破解 MarkdowPad 2

我目前已经习惯了写博客、做笔记等都使用 Markdown,在 Linux 使用的是Sublime Text,在 Windows 下使用的是MarkdownPad。MarkdowPad 是 Windows 下一款优秀的 Markdown 编辑器,有免费版和专业版,专业版提供了很多高级功能,如自动保存、PDF导出、GFM 语法、自定义CSS、语法高亮等等。当免费版进行一些高级设置时,如设置Markdown处理引擎为 GFM,会提示让你升级到专业版,图1所示。可以说专业版这些功能是非常吸引我的,但专业版需要付 $14.95!本能地去在网上找破解版的,如果百度甚至Google出的所有破解 MarkdownPad 的都让你替换一个名为user.config文件,其实都是用一个已注册邮箱和密钥进行验证的。但是遗憾的是,目前这个帐号已经不能使用了,这里介绍的一种方法,可以真正意义上破解该软件。

图1 MarkdownPad 高级设置需要升级到专业版

准备

你首先需要安装以下软件:

破解步骤

1.使用 ILSpy 反编译 MarkdownPad 出源文件,找到其验证授权的函数。使用 ILSpy 打开 MarkdownPad2 安装目录下的 MarkdownPad2.exe 文件,在 MarkdowPad2.Licensing 命名空间下找到 LicenseEngine 类的 VerifyLicense 方法,如图2所示。

图2 使用ILSpy 反编译找到验证函数

这个函数是用来验证你所填写的邮箱 email 和 许可证 licenseKey 是否合法,函数首先判断 email 和 licenseKey 是否为空,若有一个为空则直接返回 false,即验证不通过; 若均不为空,那么下面进行其它逻辑的验证。我们并不关心它是如何验证用户所填的 email 和 licenseKey 是否能匹配上,我们只需要将第一步判断若 email 或 licenseKey 为空返回 false 改为 返回 true,那么,就直接通过验证了。下面就是要使用 IDA 工具找到该代码片段的二进制代码的位置。

2.使用 IDA 反汇编 Markdown,找到验证授权函数的汇编代码。使用 IDA 打开 MarkdownPad2 安装目录下的 MarkdownPad2.exe 文件,左侧点击 Function name,按ALT+T键搜索VerifyLicense函数名,能看到汇编代码逻辑图,如图3。

图3 通过IDA 反汇编找到验证函数的汇编代码

上图中黄色标记的汇编代码ldc.i4.0的意思是将 0 作为32位整型数压到栈上,根据上面的分析,我们应该要把这条指令改成ldc.i4.1,让其返回 true,那么我们还需要找到这条汇编代码对应的二进制代码。在 IDA 中就可以以十六进制视图查看,如图4。

图4 在 IDA 中以十六进制视图查看验证函数代码

3.使用 HxD 修改验证授权函数的二进制代码,使其通过验证。可以看到ldc.i4.0对应的二进制代码为0x16,我们只需将其改成0x17,这需要借助 HxD 软件来对可执行文件进行编辑。使用 HxD 打开 MarkdownPad2 安装目录下的 MarkdownPad2.exe 文件,根据图5搜索2C 02 16 2A 02 02 03,找到16的位置,然后将其改成17即可。

图5 通过搜索找到idc.i4.0二进制代码位置

再次声明

文章中方法来源于该博客,只限于学习用途,如需使用还请支持正版!

思念是一种幸福的忧伤,是一种甜蜜的惆怅,是一种温馨的痛苦;

破解 Windows 下Markdown 编辑器 MarkdownPad 2

相关文章:

你感兴趣的文章:

标签云: