About this tutorial:
Tutorial:Cracking Horizon Web Text 3.9.1.1
Target:Horizon Web Text 3.9.1.1(http://www.gcnet.com/bw/)
Author:ManKind
Tools:W32Dasm 8.9x, HIEW 6.1x(these are good softwares, worth buying)
Date:26th of December 1999(Last updated on 1st January 2000)
Descriptions&Comments:This is Win32 Text-based HTML editor. Should be quite good though I haven't produced anything with this editor. This program will allow you to use it 40 times before it expire and on the 29th uses, it will start to produce annoying nag. We are going to fix the uses limit and the nag.
Copyright information:This tutorial is copyright © 1999 ManKind

Starting words:
Hello,welcome to my tutorial. I am ManKind, a newbie in cracking who want to share my cracking skills with other newbies. Contact me at mankind001@bigfoot.com


The process:
First, disassemble the Horizon.exe file. While disassembling, open and exit Horizon Web Text until a point where a messagebox(reminder, on the 29th uses) will show up when you exit the program. Note the text on the messagebox. Go into W32Dasm when the disassembly is completed, open the String Data References window, search for the first sentence of text you see in the messagebox just now which is the following sentence:

This is the evaluation version of Horizon Web Text

There won't be a complete sentence in the String Data References window, part of it is already enough. When you have found it, double click on it and you will be brought to the following code:

* Possible StringData Ref from Code Obj ->"This is the evaluation version "
                                                                ->"of "
                                                       |
:00493AE8 68803B4900                push 00493B80

Note that there are two different sets of the same text above, because both the expired and the reminder messagebox use the texts as the first sentence. Scroll up a little, because I am sure that there is code above it that is used to determine how many times we have used the program and decide whether to display the messagebox or not and which to display. Finally, after some scrolling, you will reach the following interesting code:

:00493A54 833D9C584B001D     cmp dword ptr [004B589C], 0000001D ; compare the number of uses we are using with 1D(1D hex = 29 decimal)
:00493A5B 0F8EE6000000           jle 00493B47 ; jump if the number of uses we are using is lower or equal to 29, if jump = no nag, else = nag
:00493A61 833D9C584B0028      cmp dword ptr [004B589C], 00000028 ; compare the number of uses we are using with 28(28 hex = 40 decimal)
:00493A68 7D7E                           jge 00493AE8 ; jump if the number of uses we are using is greater than or equal to 40, if jump = no expired nag else = nag

We will have to make the jle instruction at address 00493A5B always jump to avoid(bypass) the expiration check and also the messagebox(both of them, we know since we scrolled up from below where all the messageboxes' codes are) displaying code. Some readers say that they don't really understand this part, I can't paste too much codes here so my advice to them is re-read my comment above and look around the codes in W32Dasm. Let the green line of indicator of W32Dasm to land on line 00493A5B and look at the status bar of W32Dasm to get the offset(92E5B) of the address. Close W32Dasm. Load up HIEW, load Horizon.exe, press Enter until you go into the hex mode, press F5 to go to a certain location and enter the offset value(92E5B), press F3 and do the following changes:

From:
0F8EE6000000

To:
E9E700000090

Press F9 to save and F10 exit HIEW. Try Horizon Web Text, no nag when we exit! Yeah, we did it, now our job is completed! Yeah, I know, we should also remove the shareware notices but then this tutorial is mainly on uses limit and not how to search and replace text in hex editor. If you can't even do that, I recommend you to read other easier tutorials. As usual, contact me if I make any mistake, give me your feedback, comments, suggestions and opinions about this tutorial and my way of presenting it.

Extra notes:
Well, the year 1999 is coming to an end now. I am not sure whether I can access internet next year, I am not sure whether my computer will work in the year 2000, I am not sure whether I can continue cracking next year and I am also not sure whether cracking will be the same anymore next year, so, I will like to grab the time available now to produce something useful. Once I have contributed those useful things, I will never regret at all even if I can't involve myself in the scene again next year. I do hope to see you guys and gals again, anyway, let the GOD decide for us.


Ending:
Thanks to:+ORC, Sandman, HarvestR, tKC, ytc_, Punisher, Kwai_Lo, TORN@DO, Crackz, cLUSTER, LaZaRuS, mrfanatic, yes123, WhizKiD, Volatility, Acid Burn, Eternal Bliss, R!SC, MisterE, Shadow, tCM and other crackers and individuals who provide me with their tutorials and tools.

Greetz to:HarvestR, tKC, ytc_, Kwai_Lo, Punisher, TORN@Do, cLUSTER, LaZaRuS, mrfanatic, Shadow, Eternal Bliss, R!SC, yes123, MisterE, WhizKiD, Volatility, Acid Burn, DSi, other cracking groups and all crackers.

Service for ManKind
ManKind
mankind001@bigfoot.com