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

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$).

Monday, April 30, 2012


Here's a pretty simple dd in ANSI C.
I am really planning do more with it, like the dd for linux!

Code (Very much simplistic)



Download the full code here!



HashCheck is a very good alternative to FCIV which a posted in this blog some days ago.

HashCheck offers a very nice integration with Windows Explorer, placing a Checksum tab in the file/directory properties, which is very convinient.

Download here!

Sunday, April 29, 2012

My md5sum

This is a little example of a md5 sum application, using the Hash lib.

Get a md5 sum of a entire device, here's a screenshoot.

Download Source


HashLib 0.1

Here's the new version of the Hash Lib, still compatible with windows, linux, and mac!

The new features added were:
- Correct some minor bugs;
- Now you can get a hash of a file, with every algoritm! (Support large files!)

Download Source


Monday, April 23, 2012

File Checksum Integrity Verifier

It's rare when i post something that isn't from my authority but there is always an exception to the rule.

The File Checksum Integrity Verifier (FCIV) is a command-prompt utility that computes and verifies cryptographic hash values of files. FCIV can compute MD5 or SHA-1 cryptographic hash values. These values can be displayed on the screen or saved in an XML file database for later use and verification.

Which is very nice!

Some examples:

fciv.exe c:\mydir\myfile.dll
fciv.exe c:\ -r -exc exceptions.txt -sha1 -xml dbsha.xml
fciv.exe c:\mydir -type *.exe
fciv.exe c:\mydir -wp -both -xml db.xml

More useful one;

To create the database and to save it to the C:\Temp directory, type the following command:
fciv.exe -add %systemroot% -r -XML c:\temp\windows-hashes.XML

To list the contents of the database to the console, type the following command:
fciv.exe -list -XML c:\temp\windows-hashes.XML

To verify the contents of the XML database against the current file system files, type the following command:
fciv -v -XML c:\temp\windows-hashes.XML

The application can be found here.

Monday, April 16, 2012


Here's my new Hash Lib, built again in Ansi C OOP. The lib is compatible with windows, linux, and mac too!
Every hash algorithm has a little cosmetic change, just to uniform all hash algorithm implementations. It doesn't have all hash algoritms, but i think that it has all the most important ones.

Download Source


Sunday, April 1, 2012

PEFile Lib

Here's my new PEFile Lib, is propose is just read PE files only, is written in OOP C which is really nice.
It doesn't support PE based on 64 bits architecture, yet! (tomorrow)

Download Source

Little example to show how it works. You could import the lib our just copy/paste into your project.