Sunday, September 29, 2013

Unlocking MarkdownPad 2

MarkdownPad is a is a full-featured Markdown editor for Windows. Actually is a very nice one, sadly only the professional version has the GitHub Markdown support and a bunch of other features. So, i decided to make a little change on the executable just to have a taste of the professional version.

MarkdownPad 2 Free - Limitations


Declaimer:
I am not responsible for the misuse of the material you are about to see. 
This article is only for educational purposes.

Hands on...

Tools needed:
  • .NET Decompiler (Reflector.NET, ILSpy);
  • IDA;
  • Hex editor (anyone).
Open MarkdownPad.exe with the decompiler, look around just to have some understanding about the application. Open the License Engine, partially the "VerifyLicense" method which looks like this...


As you can see, in the very first verification if the license key or the email are empty or null our license is invalid, which is our the case. So, the strategy is very simple, we will modify the "return false;" to "return true;", easy, one byte patch.
Let's open MardownPad with IDA and locate the hexadecimal sequence to the our "return false;".


To easily locate the "VerifyLicense" method just focus the "Function Window" and press ALT-T. After you locate the method, let's take a look to the mnemonics...



A very nice list of CIL instructions.

So the idea is really simple, just change the byte 0x16 to 0x17. Switch to the hex editor in the "ldc.i4.0"...


Search for the selected pattern "16 2A 02 02 ..." in the hex editor...


Now, just change the 0x16 to 0x17 (which means "ldc.i4.1") and save the file. To verify the modification open again the MarkdownPad executable with your .NET decompiler and you should see something like this in the "VerifyLicense" method...


All done! :)

Support the developers, if you want MarkdownPad 2 Pro, just go to this page (it's only 15$).